使用 gremlin 查找没有特定边的顶点
Finding vertices without a particular edge with gremlin
我能够找到我的所有 tag
个顶点,这些顶点的边标记为 tagged
,使用:
gremlin> g.V().hasLabel('tag').inE().hasLabel('tagged')
==>e[eas0-109ds-e8l-y8oo][1691776-tagged->1597560]
==>e[ed5c-109ds-e8l-1181s][1691776-tagged->1736704]
现在,我想删除所有没有标记为 tagged
的边的 tag
个顶点。当我使用此命令查找这些顶点时:
gremlin> g.V().hasLabel('tag').inE().hasNot('label', 'tagged')
我收到错误消息 No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.hasNot() is applicable for argument types: (java.lang.String, java.lang.String) values: [label, tagged]
我该如何表达这个查询?
使用not()
过滤步骤:
g.V().hasLabel('tag').not(inE('tagged')).drop()
我能够找到我的所有 tag
个顶点,这些顶点的边标记为 tagged
,使用:
gremlin> g.V().hasLabel('tag').inE().hasLabel('tagged')
==>e[eas0-109ds-e8l-y8oo][1691776-tagged->1597560]
==>e[ed5c-109ds-e8l-1181s][1691776-tagged->1736704]
现在,我想删除所有没有标记为 tagged
的边的 tag
个顶点。当我使用此命令查找这些顶点时:
gremlin> g.V().hasLabel('tag').inE().hasNot('label', 'tagged')
我收到错误消息 No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.hasNot() is applicable for argument types: (java.lang.String, java.lang.String) values: [label, tagged]
我该如何表达这个查询?
使用not()
过滤步骤:
g.V().hasLabel('tag').not(inE('tagged')).drop()