小编fgi*_*acc的帖子

Neo4j Cypher的替代路径

我正在使用Cypher,我需要构建一个类似于后面的查询

(A) ----e1----(B)
   \           |
     \         |
       e3      e2
         \     |
           \   |
             (C)
Run Code Online (Sandbox Code Playgroud)

其中A,B和C是节点,e1,e2和e3关系分别连接A和B,B和C以及A​​和C.

我感兴趣的是节点A和C.当e1,B和e2存在(并且尊重某些属性)或关系e3存在(并且尊重某些属性)或两者时,该模式应该匹配.我的问题是我无法用Cypher语言转换它.为了给关系一个标识符,我需要在MATCH子句中指定它,比如

MATCH (A)--[e1]--(B)--[e2]--(C), (A)--[e3]--(C)
Run Code Online (Sandbox Code Playgroud)

但这样做我告诉Neo4j我想要(e1和e3)和e2都存在,而事实并非如此.但如果我不给这些关系一些标识符,我就无法搜索它们的任何属性.

我该如何构建此查询?

谢谢.

neo4j cypher

5
推荐指数
1
解决办法
462
查看次数

标签 统计

cypher ×1

neo4j ×1