首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Neo4j Cypher :现有匹配路径存在,但如果第一个节点与最后一个节点相等,则不返回匹配

Neo4j Cypher :现有匹配路径存在,但如果第一个节点与最后一个节点相等,则不返回匹配
EN

Stack Overflow用户
提问于 2022-11-21 07:52:45
回答 2查看 31关注 0票数 0

我有一条类似于图片中的路径

当我执行此匹配查询时,没有返回匹配,这很奇怪:

代码语言:javascript
复制
match (a:A)--(b:B)--(c:C)--(d:D)--(c2:C)--(b2:B)--(a2:A)
where a.id = a2.id and b.id = b2.id
return count(d)

这一次也无济于事:

代码语言:javascript
复制
match (a:A)--(b:B)
with a,b 
match (a)--(b)--(c:C)--(d:D)--(c2:C)--(b)--(a)
return count(d)

但是,如果C类型节点具有属性B_id (它是其节点B类型的ID ),则给出路径:

代码语言:javascript
复制
match (c:C)--(d:D)--(c2:C)
where c.B_id = c2.B_id
return count(d)

这对我来说很奇怪。对为什么那些比赛不管用有什么想法吗?

它将是检索count(d)的查询

EN

Stack Overflow用户

发布于 2022-11-21 12:00:21

我相信您的第一个查询几乎是正确的,唯一的一点是您对同一个节点A使用了不同的别名,这将强制表示aa2是图中的不同节点,bb2的别名相同

试试这个

代码语言:javascript
复制
match (a:A)--(b:B)--(c:C)--(d:D)--(c2:C)--(b)--(a)
where a.id = a2.id and b.id = b2.id
return count(d)
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74515722

复制
相关文章

相似问题

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