【问题标题】:Duplicate Properties coming with Cypher Query in Neo4jNeo4j 中的 Cypher 查询附带的重复属性
【发布时间】:2015-04-02 19:07:45
【问题描述】:

匹配 (a)-[:PRODUCED]->(b) 返回一个

  • 它显示 8 个节点。没关系。 但是当我要返回它的属性时,它会显示重复的值。

匹配 (a)-[:PRODUCED]->(b) 返回 a.name

  • 它返回 15 行。据我说,(a)与(b)有15次相关,这就是为什么它返回重复记录,但我不需要那个。我只需要唯一的 8 行。

我将如何做到这一点,或者确切的密码查询是什么?

【问题讨论】:

    标签: neo4j cypher cql


    【解决方案1】:

    我认为你有几个选择:

    MATCH (a)-[:PRODUCED]->(b) RETURN DISTINCT a.name
    

    MATCH (a)-[:PRODUCED]->(b) WITH a RETURN a.name
    

    前者返回不同的名称,如果您有多个具有相同名称的节点并且您希望返回该结果,这并不好。后者应该传递一组不同的节点,然后返回它们的名称。如果这不起作用,您可以尝试WITH DISTINCT a

    【讨论】:

    • 谢谢你..它真的帮了我很多。
    • 我遇到了另一个问题。
    • 我有两个同名的不同节点,但他们的出生日期不同。我的问题是如何区分节点的特定属性?这与 a.id 或 a.dob 类似。
    • RETURNWITH 将允许您将 DISTINCT 放在子句中的任何表达式之前,因此如果您想传递 idname 或 @ 的不同值987654329@你可以做WITH/RETURN DISTINCT property
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多