Cypher:指向和无向的多种关系类型

时间:2014-05-23 11:51:30

标签: neo4j cypher

我想创建一个包含两种替代类型的密码查询,但其中一种是有针对性的,另一种则不是。有没有一种简单的方法可以在cypher中表达这一点?

e.g。 a -INHERITANCE-> b(指导)

x -EQUIVALENT- y(无向)

给我所有n继承或等于的节点。

MATCH(n) - [继承|等价*] - (n2)不考虑继承的定向特征

1 个答案:

答案 0 :(得分:3)

基本上我看到了两种方法:

  1. 使用Cypher的UNION语句并加入两场比赛的结果
  2. 运行未定向的匹配并使用where filter过滤掉未完成的匹配:
  3. MATCH (a)-[r:INHERTIANCE|:EQUIVALENT]-(b)
    WHERE type(r)="EQUIVALENT" OR endNode(r)=b
    ...
    

    上面的符号代码,尚未测试过。