2015-09-25 2460 views
0

Neo4j新手在這裏。 我有一個圖形數據庫與節點爲人,節點之間的邊界是關係POSTED,POSTED有屬性「消息」,現在我想返回與某些消息的關係。我寫了如下查詢:Neo4j查詢關係屬性

MATCH (ppl) -[p:POSTED]->(s) 
WHERE p.message = "How are you?" 
RETURN p 

它什麼都沒有返回。

什麼是進行關係查詢的正確方法? 我能做出這樣一些疑問:如果你想創造這樣一個聊天

MATCH (a) -[:KNOWS]->(ppl), 
(ppl) -[p:POSTED]->(s) 
WHERE p.message = "How are you?" 
RETURN p 
+0

做,如果嘗試以下查詢,你能得到什麼: MATCH(PPL) - [P:發佈] - >(S) RETURN p LIMIT 10 –

+0

我將利潤歸還所有與他人張貼的關係點頭。下面是如何添加邊緣:(Nick) - [:POSTED {messsage:'你好嗎?'}] - >(Sam) – daolincheng

+0

這三個sss在messsage中是一個錯字嗎? –

回答

1

創建了很多的兩個節點之間的關係一樣是不是一個好主意。

事實上,這將是一個很多更容易和更快地創建這樣一個模型:

(:User{Foo:"Bar})-[:POSTED]->(:Message{content:"Hello World"})-[:SENT_TO]->(:User{Foo:"blabla"}) 

這樣一來,你就可以存儲在您的訊息的方式更多的事情,它更容易與節點進行操作。

您可以檢查this reddit topic以找出所需的最佳做法。