2013-10-05 62 views
0

你好,我有基於neo4j設計數據庫的問題。我希望能夠在節點之間創建關係,並讓節點負責創建關係。 我想出的一個例子是:如何構造一個neo4j圖形db?

用戶,標籤,文章。 用戶可以標記文章等等...

[用戶]

[標籤] - [tags_article] - > [文章]

我希望能夠得到所有標籤的文章。關係tags_article很容易。但是我想讓那些爲文章添加標籤的用戶。我不能這樣做... 任何想法,如何將關係與負責創建它的節點相關聯?

回答

1

是這樣的嗎?

(User)-[:ADDED]->(Tag), 
(Tag)-[:TAGS]->(Article) 

而且你可以讓你在找什麼與此:

MATCH (u)-[:ADDED]->(t)-[:TAGS]->(a) 
WHERE a.name='whatever' 
WITH t, u.name AS user 
RETURN user, t.name 
+0

也看一看的超邊文檔。 http://docs.neo4j.org/chunked/stable/cypher-cookbook-hyperedges.html –

+0

在2.你可能會添加':User,:Tag,:Article'的標籤,然後創建一個索引來加速按名稱查找文章'create index on:Article(name)' –