【问题标题】:Return all matching relationships in cypher返回密码中的所有匹配关系
【发布时间】:2012-06-25 14:59:23
【问题描述】:

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

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。有什么办法可以完成这种类型的查询吗?

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    我会这样写这个查询:

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

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

    HTH,

    安德烈斯

    【讨论】:

    • 我想我希望有一种方式来表达“给我对象,值,其中所有 r1=r2 在这些值之间”
    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 2017-12-01
    相关资源
    最近更新 更多