簡體   English   中英

Neo4J查找未引用的節點

[英]Neo4J Find Unreferenced Nodes

我有一個帶有2類關系的neo4j數據庫:CONTAINS和REFERENCES,它由關系本身的“ RelationshipType”屬性確定。 我正在嘗試查找節點(根據定義,它將具有從其父級傳入的CONTAINS關系),但是沒有REFERENCES關系。

我的查詢如下。

START source=node(828)
MATCH source-[contains]->target<-[references?]-reference
WHERE contains.RelationshipType='CONTAINS'
AND references.RelationshipType='REFERENCES'
AND reference = null
RETURN target.Id

沒有東西都將為NULL並且具有屬性“ RelationshipType”,這就是為什么結果為空的原因。

您可以簡單地指定關系“ references”為空,如下所示,

START source=node(828)
MATCH source-[contains]->target<-[references?]-reference
WHERE contains.RelationshipType='CONTAINS' AND reference = null
RETURN target.Id

如果“目標”可能具有除“參考”以外的其他傳入關系,則可以指定“目標”的所有傳入關系都不應該是“ REFERENCE”屬性類型,

START source=node(828)
MATCH source-[contains]->target, path=target<-[references?]-reference
WHERE contains.RelationshipType='CONTAINS' AND NONE ( r in relationships(path) where r.RelationshipType='REFERENCES')
RETURN target.Id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM