问题描述
因此,我正在尝试可视化到目前为止在gremlin查询中的节点以及这些节点之间的边;如果可能的话,“内部”边缘。
g.V().hasLabel("Person").out("Expert in")
将产生一组节点。通常,如何进行gremlin查询以获取此结果集中节点之间的所有边?
感谢您的帮助:)
解决方法
out()
步骤是outE().inV()
的简写,因此获取边缘的第一步是显式遍历边缘,以使它们成为路径历史的一部分。您可以通过多种方式从该历史中获取优势-path()步骤如何?
g.V().hasLabel("Person").outE("Expert in").inV().path()
,
我知道了!
这个gremlin查询应该可以解决问题:
g.V().hasLabel('Person') // <-- Nodes chosen so far; can be any query resulting in nodes
.dedup()
.union(outE(),inE())
.groupCount()
.unfold()
.where(select(values).is(gt(1)))
.select(keys)
这将合并所有传出和传入的边,然后删除那些出现不止一次的边。结果是到目前为止查询中节点之间的所有边缘:)