4
隨着標籤的引入,neo4j獲得了一個管理實體的整潔機制。現在,讓我們暫時假設我們有一個包含許多不同實體的泛型圖,並且想知道哪些實體(標籤)彼此相關。這裏有一個出發點: http://console-test.neo4j.org/?id=wdnbujNeo4j/Cypher - 如何獲得所有dinstinct標籤的三倍?
Graph Setup:
CYPHER 2.0
create
(_1:Crew {name:"Neo"}),
(_2:Crew {name:"Morpheus"}),
(_3:Crew {name:"Trinity"}),
(_4:Language {name:"Cypher"}),
(_5:Machines {name:"Agent Smith"}),
(_6:Machines {name:"The Architect"}),
_1-[:KNOWS]->_2,
_1-[:LOVES]->_3,
_2-[:KNOWS]->_3,
_2-[:KNOWS]->_4,
_4-[:KNOWS]->_5,
_5-[:CODED_BY]->_6
Query:
CYPHER 2.0
match x-[r]->y
return head(labels(x)) as head, type(r), head(labels(y)) as tail
這將讓我們相互關聯的實體的概述:
+--------------------------------------+
| head | type(r) | tail |
+--------------------------------------+
| "Machines" | "CODED_BY" | "Machines" |
| "Language" | "KNOWS" | "Machines" |
| "Crew" | "KNOWS" | "Crew" |
| "Crew" | "KNOWS" | "Language" |
| "Crew" | "KNOWS" | "Crew" |
| "Crew" | "LOVES" | "Crew" |
+--------------------------------------+
現在。是否有任何Cypher查詢會返回這些三元組的不同值?
獎金問題:我們可以得到它們的計數/頻率嗎?
Grats。你讓我覺得自己像一隻鞋子一樣愚蠢。 – Michael
哈哈。獲得所有的標籤......現在,這是另一回事。 –
嗯,這是一個拉請求:https://github.com/neo4j/neo4j/pull/742 現在,您可以獲取所有不同標籤組合的列表,並使用您使用的任何語言進行處理... – Michael