首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cypher排除关系

Cypher排除关系
EN

Stack Overflow用户
提问于 2017-11-30 13:50:10
回答 2查看 947关注 0票数 3

在我的图中,我有两个节点之间的多个关系。为了前夫。A-[HAS_P]->BA-[HAS_Q]->BA-[HAS_R]->B。如何排除HAS_R,但仍然显示模式A-[]-B和其他两个关系HAS_PHAS_Q?我尝试了这个查询,但是它显示了所有的关系,并且不排除HAS_R关系。

代码语言:javascript
复制
MATCH x = (A)-[r*..4]-(B) 
WHERE NONE(r in relationships(x) WHERE type(r)="HAS_R") 
RETURN x
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-30 14:01:37

默认情况下,浏览器被配置为显示返回节点之间的所有关系。

您可以通过取消选中此复选框来禁用此功能:

票数 3
EN

Stack Overflow用户

发布于 2017-11-30 14:03:47

根据数据模型,您的查询可以简化:

(1)如果只有这三种关系类型(HAS_PHAS_RHAS_Q),则可以指定允许的两种关系类型:

代码语言:javascript
复制
MATCH x = (A)-[:HAS_P|HAS_Q*..4]-(B)
RETURN x

(2)如果可能出现其他关系类型(今后可能出现更多的关系类型):

代码语言:javascript
复制
MATCH x = (A)-[*..4]-(B)
WHERE NONE(r in relationships(x) WHERE type(r) = 'HAS_R') 
RETURN x

注意:您不必为查询的MATCH部分中的关系指定名称(r)。

另外,请查看@logisima关于如何处理web浏览器UI的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47575067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档