2015-04-17 55 views
1

我有一個沒有任何屬性的節點,想要顯示/查找它然後刪除它。 它顯示爲空白並且與其他兩個節點有[:KNOWS]關係。Neo4j 2.2.0顯示/刪除沒有屬性的節點

(空節點) - [:KNOWS] - >(伊恩),(約翰)

我不能只匹配一個沒有名字屬性節點,因爲我有沒有name屬性的其他節點。

是否可以顯示此節點然後刪除它?此外,這是可以做到在webadmin>數據瀏覽器?

感謝, 中號

回答

2

你能對陣沒有屬性和關係的節點?還是有其他人會匹配,你想避免刪除?

我的意思是:

MATCH (n)-[r:KNOWS]->(p:Person) 
WHERE p.name IN ["Ian","Johan"] 
AND NOT has(n.name) 
DELETE r,n; 

MATCH (n)-[r:KNOWS]->(p:Person) 
WHERE p.name IN ["Ian","Johan"] 
DELETE r,n; 

如果有可能通過此查詢相匹配的其他節點,您可以通過暗示N不應該有一個特定的屬性嘗試不包括你可能想要在實際刪除之前先測試結果:

MATCH (n)-[:KNOWS]->(p:Person) 
WHERE p.name IN ["Ian","Johan"] 
AND NOT has(n.name) 
RETURN n; 

我希望能夠s回答你的問題。

+1

非常感謝albertoperdomo! 我是否還需要刪除空節點的關係?如果是這樣,該怎麼做? – Met

+0

很高興幫助!對不起,我忘了關係。是的,Neo4j不會讓你刪除一個節點,如果它有任何關係。我剛剛更新了代碼片段以刪除關係。請注意,您將名稱分配給rels(r),然後將其包含在DELETE子句中。 – albertoperdomo