簡體   English   中英

cypher:如何返回不同的關系類型?

[英]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的集合。

我想返回一個包含所有集合中不同關系類型的集合。

以下是運行查詢的圖表要點的鏈接 -

http://gist.neo4j.org/?7851642

您可能首先將匹配路徑上的所有關系收集到集合“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM