Apache TinkerPop Gremlin 顶点相等性
Apache TinkerPop Gremlin Vertex Equality
在遍历图时,我想保存起始顶点,再遍历一点,然后移除所有具有特定边的顶点回到这个保存的顶点。
这是我目前的尝试,但显然是不正确的:
g.V().hasLabel('foo')
.as('rule')
.repeat(out('belongs_to')).times(2)
.where(
in('accepts').is(neq('rule'))
)
如何在 Gremlin 中检查顶点相等性?如何过滤掉所有存在此类等式的路径?
where()
匹配start-和end-label,因此可以使用where(in('accepts').as('rule'))
。因为你想排除那些匹配模式的顶点,你需要使用 not()
.
来否定这部分
g.V().hasLabel('foo').as('rule').
repeat(out('belongs_to')).
times(2).
not(where(__.in('accepts').as('rule')))
在遍历图时,我想保存起始顶点,再遍历一点,然后移除所有具有特定边的顶点回到这个保存的顶点。
这是我目前的尝试,但显然是不正确的:
g.V().hasLabel('foo')
.as('rule')
.repeat(out('belongs_to')).times(2)
.where(
in('accepts').is(neq('rule'))
)
如何在 Gremlin 中检查顶点相等性?如何过滤掉所有存在此类等式的路径?
where()
匹配start-和end-label,因此可以使用where(in('accepts').as('rule'))
。因为你想排除那些匹配模式的顶点,你需要使用 not()
.
g.V().hasLabel('foo').as('rule').
repeat(out('belongs_to')).
times(2).
not(where(__.in('accepts').as('rule')))