返回密码中的所有匹配关系

时间:2012-06-25 14:59:23

标签: neo4j cypher

我想要使用可以具有匹配属性的差异关系来检索一组在两者之间共享公共节点的节点。我认为查询看起来像这样:

start 
    n1=node(8) 
match 
    n1-[r1:HAS_VALUE]->value<-[r2:REQUIRES_VALUE]-object 
where 
    all(x in relationship(r1) 
        where all(y in relationship(r2) where x.name==y.name)) 
return 
    object

但是当我运行它时,cypher会返回SyntaxException: unknown function。有没有办法可以做这种类型的查询?

1 个答案:

答案 0 :(得分:1)

我会像这样写这个查询:

start 
    n1=node(8) 
match 
    n1-[r1]->value<-[r2]-object 
where 
    r1.name = r2.name
return 
    object

当你有一个可变长度关系时使用ALL函数 - 在这个查询中r1和r2只保持一个关系,而不是它们的集合。

HTH,

安德烈斯