【问题标题】:Neo4j cypher Query - How to get specific labels data?Neo4j 密码查询 - 如何获取特定标签数据?
【发布时间】:2018-08-28 15:06:59
【问题描述】:

我只想使用密码查询获取客户和供应商的名称和 ID。

"Match (n: customer:supplier) where has (n.ID) return n.ID,n.nme";

如何结合2个标签来获取数据?

以上查询出现语法错误。请指教。

【问题讨论】:

    标签: neo4j cypher cypher-3.1


    【解决方案1】:

    这用于 OR 标签匹配:

    MATCH (n) 
    WHERE (n:customer OR n:supplier) AND exists(n.ID)
    RETURN n.ID, n.nme
    

    这用于AND标签匹配:

    MATCH (n:customer:supplier) 
    WHERE exists(n.ID)
    RETURN n.ID, n.nme
    

    【讨论】:

    • 谢谢。 AND 标签匹配不返回任何内容。但是我们在两个标签中都有数据。我正在使用 neo4j 3.4.6
    • AND 标签匹配意味着一个节点同时具有customersupplier 标签。你确定你有一个节点吗?这是标签的正确情况吗(可能是客户/供应商)?
    • 我只在运行 (n.customer) 时获取记录,但 AND 不返回任何内容。
    • 这会返回什么? MATCH (n:customer:supplier) RETURN n
    • 它说“(没有变化,没有记录)”
    【解决方案2】:

    has() 函数早已被弃用和删除。请改用exists()

    我也不确定combine 2 labels to get the data. 是什么意思,现在的查询只会匹配带有 :customer 和 :supplier 标签的节点。这就是你想要的吗?

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 2012-09-30
      • 1970-01-01
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 2019-10-06
      相关资源
      最近更新 更多