在 Windows 7 上对数据库“neo4j-1.9-SNAPSHOT”执行密码查询时遇到了问题。可以从Google Groups中的主题下载该数据库。
当我在 Web 管理控制台中运行第 2 个查询时,我没有将 id ="45" 的节点作为结果列表中路径中的第一个节点。
1) start a = node:my_nodes(label='2826'), b = node:my_nodes(label='2826')
match a-[r1]-b
with a, b, r1
match b-[r2]-c
where c.label = 2826 and r1.label = r2.label and id(r1) <> id(r2)
return id(a), id(b), id(c), id(r1), id(r2);
2) START n0=node:my_nodes(label='2826'), n1=node:my_nodes(label='2826'),
n2=node:my_nodes(label='2826')
MATCH n0-[r0]-n1-[r1]-n2
where r0.label = r1.label and id(r0)<>id(r1)
RETURN id(n0), id(n1), id(n2), id(r0), id(r1);
但是,当我运行第三个查询时,id="45" 的节点肯定应该在前两个查询的结果列表中。此外,在检查数据库时似乎是这种情况。
3) start a = node(45), b = node:my_nodes(label='2826')
match a-[r1]-b
with a, b, r1
match b-[r2]-c
where a.label = 2826 and c.label = 2826 and r1.label = r2.label and id(r1) <> id(r2)
return id(a), a.label, id(b), id(c), id(r1), id(r2);
在运行密码查询时:
start a = node:my_nodes(label='2826')
return id(a);
id="45" 的节点在索引中。
任何想法前两个查询可能有什么问题?