Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 意外的结果。预期将重复路径_Neo4j - Fatal编程技术网

Neo4j 意外的结果。预期将重复路径

Neo4j 意外的结果。预期将重复路径,neo4j,Neo4j,示例图: Matrix-->Neo Matrix-->Morpheus 在neo4版本1.*中,查询返回Neo和Morpheus START n=node(0) MATCH n<--matrix-->m RETURN m 预期结果: | n | Neo | | (0:Crew {name:"Neo"}) | (0:Crew {name:"Neo"}) | | (

示例图:

Matrix-->Neo
Matrix-->Morpheus
在neo4版本1.*中,查询返回Neo和Morpheus

START n=node(0)
MATCH n<--matrix-->m
RETURN m
预期结果:

| n                      |  Neo                         |
| (0:Crew {name:"Neo"})  |  (0:Crew {name:"Neo"})       |
| (0:Crew {name:"Neo"})  |  (1:Crew {name:"Morpheus"})  |

您可以在上面链接的控制台中针对不同的Cypher解析器版本测试相同的查询。只需选择右上角的“选项”并选择“Cypher parser v1.9”。对于您的示例查询,我得到的结果与“最新密码版本”和“密码解析器v1.9”相同。如果同一查询的结果不同,请提交问题

请注意,
START
子句在Cypher中不再是必需的,因此(给定您的示例图),您的查询可以这样重写:

MATCH (n:Crew)<-[:LIVE]-(w:World)-[:LIVE]->(neo:Crew)
WHERE n.name = "Neo"
RETURN neo, n

+------------------------------------------------+
| neo                      | n                   |
+------------------------------------------------+
| Node[1]{name:"Morpheus"} | Node[0]{name:"Neo"} |
+------------------------------------------------+
MATCH (n:Crew)<-[:LIVE]-(w:World)
WHERE n.name = "Neo"
MATCH (neo)<-[:LIVE]-(w)
RETURN neo, n

+------------------------------------------------+
| neo                      | n                   |
+------------------------------------------------+
| Node[1]{name:"Morpheus"} | Node[0]{name:"Neo"} |
| Node[0]{name:"Neo"}      | Node[0]{name:"Neo"} |
+------------------------------------------------+
匹配(n:机组)(近地天体:机组)
其中n.name=“Neo”
返回尼欧,n
+------------------------------------------------+
|近地天体|
+------------------------------------------------+
|节点[1]{name:“Morpheus”}节点[0]{name:“Neo”}|
+------------------------------------------------+
这个问题本质上是问“还有哪些船员与近地天体生活在同一个世界?”。查看控制台中的数据和查询,您报告的结果就是我期望查询返回的结果

无法获得预期结果的原因是图形中不存在模式。要获得预期的结果,必须将查询修改为以下内容:

MATCH (n:Crew)<-[:LIVE]-(w:World)-[:LIVE]->(neo:Crew)
WHERE n.name = "Neo"
RETURN neo, n

+------------------------------------------------+
| neo                      | n                   |
+------------------------------------------------+
| Node[1]{name:"Morpheus"} | Node[0]{name:"Neo"} |
+------------------------------------------------+
MATCH (n:Crew)<-[:LIVE]-(w:World)
WHERE n.name = "Neo"
MATCH (neo)<-[:LIVE]-(w)
RETURN neo, n

+------------------------------------------------+
| neo                      | n                   |
+------------------------------------------------+
| Node[1]{name:"Morpheus"} | Node[0]{name:"Neo"} |
| Node[0]{name:"Neo"}      | Node[0]{name:"Neo"} |
+------------------------------------------------+

MATCH(n:Crew)它只发生在特定的图形上(我不能分享:()。Neo4j示例按照您的描述工作。我会将您的答案标记为“已接受”。