【问题标题】:neo4jrestclient check relationsneo4jrestclient 检查关系
【发布时间】:2014-02-08 14:17:18
【问题描述】:

我正在将 neo4jrestclient 与 python 一起使用。 我想检查两个节点是否有特定的关系。

例如

alice = gdb.nodes.create(name="Alice", age=30)
bob = gdb.nodes.create(name="Bob", age=25)
alice.labels.add("Person")
bob.labels.add("Person")
alice.relationships.create("Knows", bob)

如何检查 Alice 是否与 Bob 有“知道”关系? 我试图从documentation 找到一些东西,但没有成功。

【问题讨论】:

    标签: neo4j neo4jrestclient


    【解决方案1】:

    有很多方法可以做到这一点。我在下面展示了两个:

    1. 使用标准的neo4jrestclient 的API,这可能不是最有效的:

      bob in [rel.end for rel in alice.relationships.all(types=['Knows'])]
      

      或者只考虑来自alice的传出关系

      bob in [rel.end for rel in alice.relationships.outgoing(types=['Knows'])]
      
    2. 通过 Cypher 查询

      from neo4jrestclient.client import Node
      cypher = "MATCH (a)-[Knows]-(b) WHERE a.name = 'Alice' AND b.name = 'Bob' RETURN b" 
      gdb.query(query, returns=Node)[0][0] == bob
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多