Neo4j:如何排除某些关系,其中某些节点作为 MATCH 中的源节点
Neo4j: How to exclude certain relationships where certain node as source node in MATCH
例如:
我的 Cypher 查询是:
MATCH p=(a:AbstractEvent)-[r:NEXT]->(c:AbstractEvent)
WHERE NOT id(a) in [115]
RETURN p
但结果仍然包括115“客户”节点到“UI.Click”节点的出局关系。说清楚,我仍然需要115“客户”节点,但没有那些传出关系。
如何在MATCH时排除一个节点的所有出局关系?
另外,这个例子中的 RETURN p
和 RETURN a,r,c
有什么区别?
如有任何帮助,我们将不胜感激。
Neo4j UI 名为 'Graph' 的选项将为您呈现 所有 所选节点之间的关系,而不管您的查询返回的关系如何。因此,如果返回节点 115(如 c),您将看到它与其他返回节点的所有关系。如果您想检查您的“真实”查询结果,请使用左上角的 'Table'、'Text' 或 'Code' 选项。不是 'Graph'.
在 Neo4j 浏览器设置中,'Connect result nodes' 选项默认启用。查询中匹配的节点之间的所有关系都将在启用时显示,即使您没有在查询中明确提到 path/pattern/relationship。
您可以在 Neo4j 浏览器左下角的浏览器设置中找到此选项。
Adjust the Graph Visualization settings in the Browser Settings drawer
启用此选项后,RETURN p
、RETURN a,r,c
和 RETURN a,c
将显示相同的图形输出。
但是,如果禁用 'Connect result nodes' 选项,结果图将仅包含您在 Return 语句中指定的关系。RETURN p
、RETURN a,r,c
将获取整个路径,但 RETURN a,c
只会获取节点。
例如:
我的 Cypher 查询是:
MATCH p=(a:AbstractEvent)-[r:NEXT]->(c:AbstractEvent)
WHERE NOT id(a) in [115]
RETURN p
但结果仍然包括115“客户”节点到“UI.Click”节点的出局关系。说清楚,我仍然需要115“客户”节点,但没有那些传出关系。
如何在MATCH时排除一个节点的所有出局关系?
另外,这个例子中的 RETURN p
和 RETURN a,r,c
有什么区别?
如有任何帮助,我们将不胜感激。
Neo4j UI 名为 'Graph' 的选项将为您呈现 所有 所选节点之间的关系,而不管您的查询返回的关系如何。因此,如果返回节点 115(如 c),您将看到它与其他返回节点的所有关系。如果您想检查您的“真实”查询结果,请使用左上角的 'Table'、'Text' 或 'Code' 选项。不是 'Graph'.
在 Neo4j 浏览器设置中,'Connect result nodes' 选项默认启用。查询中匹配的节点之间的所有关系都将在启用时显示,即使您没有在查询中明确提到 path/pattern/relationship。
您可以在 Neo4j 浏览器左下角的浏览器设置中找到此选项。
Adjust the Graph Visualization settings in the Browser Settings drawer
启用此选项后,RETURN p
、RETURN a,r,c
和 RETURN a,c
将显示相同的图形输出。
但是,如果禁用 'Connect result nodes' 选项,结果图将仅包含您在 Return 语句中指定的关系。RETURN p
、RETURN a,r,c
将获取整个路径,但 RETURN a,c
只会获取节点。