繁体   English   中英

Gremlin 查询:到目前为止如何获取查询中的所有“内部”边缘?

[英]Gremlin Query: How to get all "internal" edges in the query so far?

所以我试图在 gremlin 查询中可视化到目前为止的节点以及这些节点之间的边缘; 如果可以的话,“内部”边缘。

例如,我有这个 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)

这需要所有出边和所有入边的联合,然后删除那些出现次数不超过一次的边。 结果是到目前为止查询中节点之间的所有边:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM