Neo4j 密码排除关系
在我的图中,两个节点之间有多个关系。例如Neo4j 密码排除关系,neo4j,cypher,Neo4j,Cypher,在我的图中,两个节点之间有多个关系。例如A-[HAS_P]>B,A-[HAS_Q]>B和A-[HAS_R]>B。如何排除HAS\u R但仍显示模式A-[]-B与其他两个关系HAS\u P和HAS\u Q?我尝试了这个查询,但它显示了所有关系,并且没有排除HAS\R关系 MATCH x = (A)-[r*..4]-(B) WHERE NONE(r in relationships(x) WHERE type(r)="HAS_R") RETURN x 默认情况下,浏览器配置为显示返回节点之间的
A-[HAS_P]>B
,A-[HAS_Q]>B
和A-[HAS_R]>B
。如何排除HAS\u R
但仍显示模式A-[]-B
与其他两个关系HAS\u P
和HAS\u Q
?我尝试了这个查询,但它显示了所有关系,并且没有排除HAS\R
关系
MATCH x = (A)-[r*..4]-(B)
WHERE NONE(r in relationships(x) WHERE type(r)="HAS_R")
RETURN x
默认情况下,浏览器配置为显示返回节点之间的所有关系 您可以通过取消选中此复选框来禁用此功能:
您的查询可以简化,具体取决于数据模型: (1) 如果只有这三种关系类型(
HAS_p
、HAS_R
和HAS_Q
),则可以指定允许的两种:
MATCH x = (A)-[:HAS_P|HAS_Q*..4]-(B)
RETURN x
(2) 如果您可能选择其他关系类型(将来可能会出现更多):
注意:您不必在查询的匹配部分为关系指定名称(r
)
此外,请检查@logisima处理web浏览器UI的答案
MATCH x = (A)-[*..4]-(B)
WHERE NONE(r in relationships(x) WHERE type(r) = 'HAS_R')
RETURN x