我基本上试图搜索所有连接的顶点以获得节点类型,Cypher查询版本给出了预期的结果,但Gremlin版本没有给我预期的结果 . 我做错的任何事情?
我的数据的视觉表示
Cyher Query以获取所有连接
MATCH p=shortestPath((n:Process)-[*]-(m:Process))
WHERE n <> m
RETURN ID(n), n, ID(m), m, length(p)
Gremlin版
gremlin> g.V().hasLabel('Process')
.repeat(both().simplePath())
.until(hasLabel('Process'))
.path().by('title')
==>[Cash Processing,Accounting]
==>[Cash Processing,Sales]
==>[Sales,Marketing]
==>[Sales,Cash Processing]
==>[Marketing,Accounting]
==>[Marketing,Sales]
==>[Accounting,Cash Processing]
==>[Accounting,Marketing]
Any idea why Gremlin is not catching the 'Cash Processing'->'Sales'->'Marketing' connection???
我觉得有些东西需要改变直到()函数,但是无法弄清楚是什么
1 回答
你没有谈论你的顶点的标签,但对我来说,似乎
Sales
顶点已经满足until(HasLabel('Process'))
停止条件 .Cypher查询的正确翻译将更像是这样的: