Mic*_*est 6 graph relationship neo4j cypher
如何从 中的所有路径返回不同的关系类型cypher?
查询示例:
MATCH p=(a:Philosopher)-[*]->(b:SchoolType)
RETURN DISTINCT EXTRACT( r in RELATIONSHIPS(p)| type(r) ) as RelationshipTypes
Run Code Online (Sandbox Code Playgroud)
这将返回每个路径 p 的集合。
我想返回一个包含所有集合中不同关系类型的集合。
这是运行查询的图表要点的链接-
小智 4
您可能首先将匹配路径上的所有关系收集到集合“allr”,然后从所有关系的集合中获取不同类型(r)的集合,
MATCH p=(a:Philosopher)-[rel*]->(b:SchoolType)
WITH collect(rel) AS allr
RETURN Reduce(allDistR =[], rcol IN allr |
reduce(distR = allDistR, r IN rcol |
distR + CASE WHEN type(r) IN distR THEN [] ELSE type(r) END
)
)
Run Code Online (Sandbox Code Playgroud)
请注意,集合“allr”中的每个元素“rcol”依次是每个匹配路径上的关系的集合。
| 归档时间: |
|
| 查看次数: |
3531 次 |
| 最近记录: |