在我的图表数据库中,我有分支和叶子。分支可以“包含”叶子和分支可以“包含”分支。
如何使用Gremlin,我能找到与给定分支直接或间接相关的所有叶子吗?
我让这个在Cypher工作:
START v=node(1) MATCH v-[:contains*1..2]->i RETURN v,i
*1..2
的意思是“朋友和朋友的朋友”。
我想也许LoopV
是前进的方向,但我得到一个Exception
:
从JsonReader读取JArray时出错。当前的JsonReader项不是数组:String
答案 0 :(得分:3)
您可以在Gremlin 1.4 +中执行以下操作。
g.v(1).out('contains').loop(1){true}{it.out('contains').count() == 0}
这说:
然而,从Cypher看你想要的东西,看起来你只想要两个步骤。因此,要做到这一点,只需:
g.v(1).out('contains').loop(1){it.loops < 3}
也许我误解了你的问题 - 无论哪种方式,都应该足以让你玩。