我正在尝试从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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句