2014-06-15 113 views
0

我有一些問題需要接收一些節點和關係,我希望這裏的某個人真的可以幫助我找到我的錯誤!Cypher Query沒有返回任何節點

拆毀了

我有三個節點:

  1. 標記一個節點:人與物業名字
  2. 標記一個節點:事件
  3. 標記一個節點:問題與物業編號

基本上關係如下:

(p:Person)-[:CREATED_EVENT]->(e:Event) 
and 
(e:Event)-[:ANSWERED]->(q:Question) 

我試圖查詢:

MATCH 
(p:Person)-[:CREATED_EVENT]->(e:Event)<-[:ANSWERED]-(q:question) 
WHERE p.firstname = "foo" AND q.id=2 
RETURN p, e, q; 

但我的查詢並不返回任何節點。

我還沒有創建任何索引。但是,如果我閱讀正確,你只能在屬性上創建索引,它只會加快你的查詢速度。

任何人都可以發現錯誤?

謝謝你的幫助!

回答

0

假設你的數據是正確的,那麼它看起來像你已經有了應答的關係指定了錯誤的方向:

MATCH 
(p:Person)-[:CREATED_EVENT]->(e:Event)-[:ANSWERED]->(q:question) 
WHERE p.firstname = "foo" AND q.id=2 
RETURN p, e, q; 

如果你還沒有得到結果,將是很好的創建示例顯示問題的圖表http://console.neo4j.org/?init=0

+0

謝謝你是正確的答案!你可以啓發我關於這個話題。我認爲方向是雙向的。 (我以爲我讀過手冊中的某個地方) – flightsearch

+0

如果您想在查詢時忽略方向並將其視爲雙向關係,則MATCH (p:Person) - [:CREATED_EVENT] - >(e:Event) - [:答案] - (q:question) WHERE p.firstname =「foo」AND q.id = 2 RETURN p,e,q;也會起作用(離開方向)。但是,如果您指定方向,則只有該方向上的關係纔會匹配。 – Luanne

+0

很好,謝謝!我一直認爲你必須給一個方向!你節省了我很多thx! – flightsearch

相關問題