我试图在 Neo4j 数据库中找到两个顶点之间的路径,假设我的代码看起来像这样
newschool = g.addVerttex();
newschool.Title = 'A nice school';
newuser = g.addVertex();
newuser.name = 'student';
g.addEdge(newuser, g.V.filter{it.Title == 'school'}.next(), 'goesto');
如果我知道两个顶点的 id,我可以取回我想要的边缘,但这当然不是动态的:
g.v(2).outE.inV.retain([g.v(1)]).back(2);
==> e[1][2-goesto->1]
所以然后我尝试将其更改为对工作查询进行更动态的扩展:
g.V.filter{it.name == 'student'}.outE.inV.retain([g.V.filter{it.Title == 'A nice school'}]).back(2);
g.v(g.V.filter{it.name == 'student'}.id).outE.inV.retain([g.v(g.V.filter{it.Title == 'A nice school'}.id)]).back(2)
当然,这些都不起作用……
为什么g.V.filter{it.name =='student'}
和g.v(2)
不同?为什么g.V.filter{it.name == 'student'}.id
不一样2
?
我错过了什么?我怎样才能让它工作?
谢谢。