![](/img/trans.png)
[英]cypher query to match all nodes of a specific relationship type to a specific node
[英]Cypher to connect matched nodes based on specific relationship
如果我做:
MATCH (x:NODE {x.name: "Node1"})-[r:REL1]-(y:NODE) return x,r,y
然后,如何找到x
和y
節點集中的所有REL1
關系?
編輯:
根據答案,我認為問題尚不清楚。
圖表示例:
create (:T1 {name:1}), (:T1 {name:2}), (:T1 {name:3}), (:T1 {name:4}), (:T1 {name:5}), (:T1 {name:6}), (:T1 {name:7})
match (a:T1 {name:1}), (b:T1 {name:2}) create (a)-[r:REL1]->(b)
match (a:T1 {name:1}), (b:T1 {name:3}) create (a)-[r:REL1]->(b)
match (a:T1 {name:5}), (b:T1 {name:4}) create (a)-[r:REL1]->(b)
match (a:T1 {name:5}), (b:T1 {name:3}) create (a)-[r:REL1]->(b)
match (a:T1 {name:5}), (b:T1 {name:2}) create (a)-[r:REL1]->(b)
match (a:T1 {name:5}), (b:T1 {name:1}) create (a)-[r:REL1]->(b)
match (a:T1 {name:7}), (b:T1 {name:6}) create (a)-[r:REL2]->(b)
match (a:T1 {name:7}), (b:T1 {name:5}) create (a)-[r:REL2]->(b)
match (a:T1 {name:7}), (b:T1 {name:4}) create (a)-[r:REL2]->(b)
match (a:T1 {name:7}), (b:T1 {name:3}) create (a)-[r:REL2]->(b)
我將查找與節點name:5
具有REL1
關系的所有內容。 我還想找到返回節點之間的所有REL1
關系。
所以我應該得到
5->4
5->3
5->2
5->1
1->2
1->3
但不是
7->5
7->4
7->3
因為那些是REL2
關系。
所以我想我可以這樣做:
match (a:T1 {name: 5})-[b:REL1]->(c:T1) return a,b,c
union match (a:T1)-[b:REL1]-(c:T1) return a,b,c
但是問題在於我正在使用的圖形非常大,因此效率似乎很低。 我希望能夠
5
節點) 如果需要找出x和y節點集中的所有REL1關系,則從x節點中刪除條件。
MATCH (x:NODE)-[r:REL1]-(y:User) return x,r,y
我們正確地使用雙向,以任何一種方式查找關系,但是當您嘗試查找所有關系時,您僅選擇一個關系REL1,從關系[]中刪除標簽,因此可以使用以下查詢並返回*,它將返回所有使用的變量。
MATCH (x:NODE {x.name: "Node1"})-[r]-(y:NODE) return *
要獲得通過一個或多個REL1
關系連接的所有不同的節點對,只需執行以下操作:
MATCH (a:T1)-[:REL1]->(c:T1)
RETURN DISTINCT a, c
結果將是:
╒══════════╤══════════╕
│"a" │"c" │
╞══════════╪══════════╡
│{"name":1}│{"name":2}│
├──────────┼──────────┤
│{"name":1}│{"name":3}│
├──────────┼──────────┤
│{"name":5}│{"name":1}│
├──────────┼──────────┤
│{"name":5}│{"name":2}│
├──────────┼──────────┤
│{"name":5}│{"name":3}│
├──────────┼──────────┤
│{"name":5}│{"name":4}│
└──────────┴──────────┘
如果您還希望每對之間的關系,可以執行以下操作:
MATCH (a:T1)-[r:REL1]->(c:T1)
RETURN a, c, COLLECT(r) AS rels
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.