如何在Cayley Graph Database中递归读取链接节点?
问题描述:
数据库具有形成树的节点。每个节点都跟着另一个谓词“先于”。我想写一个查询,可以读取给定起始节点的整个树。如何在Cayley Graph Database中递归读取链接节点?
我尝试了Morphism,但输出对我来说毫无意义。或许是因为我缺乏了解什么“态射”实际上是指的......
任何提示或链接到实际的很好的例子,将不胜感激
答
在Neo4j的,你应该做这样的事情:
MATCH p = (:Root)-[:precedes*]-()
RETURN p
请注意,在关系类型之后指定的*
将在整个图表中执行完整搜索。它可能会导致内存问题。
答
正如@布鲁诺在他的回答中指出的,Gremlin中的*相当于FollowRecursive()。这里
var c1 = g.M().Both("precedes")
g.V("chain-1").FollowRecursive(c1).All()
一个重要的事情是在态射查询的。无论一部分。它编码谓词的方向应该是In和Out。我不知道如何映射到Neo4j查询模式
谢谢。任何想法如何可能看起来像在Gremlin/Gizmo?或者这些概念的关键字? –