gpt4 book ai didi

Neo4j Path 在 cypher-shell 中以错误的交替关系方向返回

转载 作者:行者123 更新时间:2023-12-01 03:20:51 25 4
gpt4 key购买 nike

无法理解返回路径中的关系方向。

我有一个这样的图表

(:START)-[:NEXT]->(:NODE)-[:NEXT]->(:NODE)...

现在我正在匹配从开始节点开始朝着 :NEXT 方向的所有路径最多 10 的长度,比如说。查询看起来像
MATCH t=((:START)-[:NEXT*..10]->(:NODE))
RETURN t;

我得到的输出路径似乎混淆了 :NEXT方向像
(:START)-[:NEXT]->(:NODE)<-[:NEXT]-(:NODE)-[:NEXT]->(:NODE)<-...

我无法理解交替方向来自哪里。

编辑:
该图只是一条直线(有一个方向)。没有循环,没有分支。请使用以下命令在 shell 中复制场景:
CREATE (s:START);
MATCH (s:START) MERGE (s)-[:NEXT]->(a:NODE)-[:NEXT]->(b:NODE)-[:NEXT]->(c:NODE)-[:NEXT]->(d:NODE);
MATCH t=((:START)-[:NEXT*..10]->()) return t;

+------------------------------------------------------------------------------+
| t |
+------------------------------------------------------------------------------+
| (:START)-[:NEXT]->(:NODE) |
| (:START)-[:NEXT]->(:NODE)<-[:NEXT]-(:NODE) |
| (:START)-[:NEXT]->(:NODE)<-[:NEXT]-(:NODE)-[:NEXT]->(:NODE) |
| (:START)-[:NEXT]->(:NODE)<-[:NEXT]-(:NODE)-[:NEXT]->(:NODE)<-[:NEXT]-(:NODE) |
+------------------------------------------------------------------------------+

看看在返回的路径中,箭头的方向如何交替?这就是让我困惑的原因。

最佳答案

来自原始问题的编辑:

EDIT: The graph is just a straight line (with one direction). No cycles, no branch-offs. Please replicate the scenario in the shell with the following:



执行 cypher-shell 中的语句问题确实发生了。在我看来是一个错误。我在 cypher-shell 的 Github 中搜索了这个问题,但一无所获。于是我开了一个 issue .

编辑 2:

The issue我在 Github 上打开在这个 commit 中被引用了.可能此修复程序将在下一个版本中发布。

编辑 3

问题已在 this commit 中关闭并修复.

原答案如下:

我在这里模拟了你的场景。看:

样本数据集:
CREATE (node1:Node {id:1})
CREATE (node2:Node {id:2})
CREATE (node3:Node {id:3})
CREATE (node4:Node {id:4})
CREATE (node1)-[:NEXT]->(node2)
CREATE (node2)-[:NEXT]->(node3)
CREATE (node3)-[:NEXT]->(node4)
CREATE (node4)-[:NEXT]->(node2)

查询:
MATCH t=((:Node {id:1})-[:NEXT*..10]->(:Node {id:4}))
RETURN t;

结果:

Result 1

如您所见(以及问题中所述) (:Node {id:4})-[:NEXT]->(:Node {id:2})被退回。然而,这是因为在您的 Neo4j 浏览器中启用了“连接结果节点”选项。您可以在 Neo4j 浏览器设置中禁用它。看:

Settings

禁用“连接结果节点”并再次运行查询后:

Result 2

请注意,“连接结果节点”选项仅适用于结果的图形可视化。即: (:Node {id:4})之间的关系和 (:Node {id:2})如果您将可视化更改为“表格”、“文本”或“代码”,结果中并不真正存在并且不存在。

关于Neo4j Path 在 cypher-shell 中以错误的交替关系方向返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45349006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com