2015-12-14 40 views
0

我有一個在neo4j有1億個節點的圖。我在屬性上創建了一個唯一的約束,但是當我在where子句中使用屬性時,它不返回任何行。我知道它有一個結果,但沒有返回任何行。
我的Cypher查詢象下面這樣:哪裏獨特的屬性不工作在neo4j

MATCH(n:Person{PK:'1'}) 
RETURN n 

MATCH(n:Person) 
WHERE n.PK='1' 
RETURN n 
+0

也許一個字符串/整數的問題? 'MATCH(n:Person {PK:1})'有效嗎? –

+0

它不起作用:'( – user3563177

+0

也許你可以分享一些更多的細節,比如瀏覽器中':schema'的結果?你用什麼密碼來創建約束?你認爲應該是什麼節點數據匹配索引? – ceej

回答

0

你可以嘗試使用:schema在瀏覽器中查看您的約束?

另請注意,標籤和密鑰均區分大小寫。

+0

是的,我檢查了它。索引和約束被創建,我認爲對於標籤和鑰匙的情況敏感,但我還沒有得到任何行 – user3563177

0

只因爲你有一個唯一的約束並不意味着你有這個屬性的數據,在這種情況下是一個人。試着拉起一個人,看看設置了哪些屬性。

match (p:Person) return p limit 5; 

我懷疑問題在於你如何創建Person節點。你能和我們分享這些代碼嗎?

+0

我在兩天後發現問題,約束的關鍵值有很多空間,使我的搜索錯誤。還好。 – user3563177