【问题标题】:How to merge multiple GRAPHDB query如何合并多个 GRAPHDB 查询
【发布时间】:2023-02-14 02:13:27
【问题描述】:

我在 Neo4j graphdb 中有以下 4 个查询。如何在单个查询中合并所有 4 个并获得结果而不是执行 4 个不同的查询?

MATCH (n:Companies{company_id:1})-[:ATTACHED_TO]-(t:Department) return collect(distinct t) as department

MATCH (n:Companies{company_id:1}})-[:ATTACHED_TO]-(c:Section) return collect(distinct c) as section

MATCH (n:Companies{company_id:1}}) return n`;

MATCH (n:Companies{company_id:1}})-[:ATTACHED_TO]-(g:Images) return collect(distinct g) as images

谢谢....

我尝试在 ATTACHED_TO 之后添加 Department、Section、Images,但结果为空。

【问题讨论】:

  • 您使用的是哪个图形数据库?为它添加一个标签会很有帮助,这样人们就可以给你经过测试的答案。
  • 它的 Neo4j graphdb

标签: neo4j cypher graph-databases


【解决方案1】:

这样就可以了。您可以将 company id:1 分配为变量,然后在整个查询中使用它。当部门或部分或图像未附加到 n 时,可选匹配将返回空。

MATCH (n:Companies{company_id:1})
OPTIONAL MATCH (n)-[:ATTACHED_TO]-(t:Department)   
OPTIONAL MATCH (n)-[:ATTACHED_TO]-(c:Section)
OPTIONAL MATCH (n)-[:ATTACHED_TO]-(g:Images) 
RETURN n, collect(distinct t) as department, collect(distinct c) as section, collect(distinct g) as images

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 2016-02-05
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    相关资源
    最近更新 更多