繁体   English   中英

Neo4j 密码查询 - 如何返回路径节点但不包括具有相同特定属性的节点

[英]Neo4j cypher query - How to return path nodes but not include the nodes with identical specific properties

我正在尝试从 Neo4j 数据库中匹配节点并过滤我从路径值中获得的结果,但没有成功。

我目前正在使用这样的查询:

MATCH path = (x:x)-[y:y]->(f:f) return DISTINCT nodes(path)

我得到的结果是:

[{“property1”:“prop1”}, {“property2”:“b”}, {“property3”:“c”}]

[{“property1”:“prop2”}, {“property2”:“b”}, {“property3”:“c”}]

[{“property1”:“prop3”}, {“property2”:“b”}, {“property3”:“c”}]

但我希望返回的结果可以通过一对节点属性(property2 和 property3)来区分

所以结果应该只是以下三个之一:

[{“property1”:“prop1”}, {“property2”:“b”}, {“property3”:“c”}]

我不介意我在“property1”中得到的值是什么,它可以是三个中的任何一个。

有没有办法做到这一点?

此查询使用聚合函数COLLECT生成共享每个不同的property2/property3值对的所有路径的列表,并将每个列表中的第一个路径分配给path变量。 因此,返回的path值都将具有一对不同的property2/property3值。

MATCH p = (:x)-[y:y]->(f:f)
WITH y.property2 AS p2, f.property3 AS p3, COLLECT(p)[0] AS path
RETURN path

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM