[英]Cypher: Finding a node based on its number of distinct relationship types
[英]cypher: how to return distinct relationship types?
如何從cypher
所有路徑返回不同的關系類型?
示例查詢:
MATCH p=(a:Philosopher)-[*]->(b:SchoolType)
RETURN DISTINCT EXTRACT( r in RELATIONSHIPS(p)| type(r) ) as RelationshipTypes
這將返回每個路徑p的集合。
我想返回一個包含所有集合中不同關系類型的集合。
以下是運行查詢的圖表要點的鏈接 -
您可能首先將匹配路徑上的所有關系收集到集合“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
)
)
注意,集合“allr”中的每個元素'rcol'又是每個匹配路徑上的關系集合 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.