gpt4 book ai didi

nosql - 用于创建多个节点和关系的 Cypher 查询

转载 作者:行者123 更新时间:2023-12-04 15:22:48 25 4
gpt4 key购买 nike

我正在尝试编写一个 Cypher 查询以在一个查询中创建多个节点和关系。使用文档 CREATE Cypher 中的子句指出,不可能在单个 CREATE 中创建多个不同类型的节点。条款。

但是它暗示我应该能够将它分解成多个 CREATE的。我读过的几个类似的答案也指向相同的解决方案。我试过这样做并不断收到响应错误。

Error: If you create multiple elements, you can only create one of each.

这是我正在尝试做的事情的简要概述。
  • 创建 item节点。
  • 创建多个 representation节点。
  • 创建关系item节点和现有 stack节点。
  • 在创建的 item 之间创建多个关系节点和创建的 representation节点。

  • 这是我目前使用的查询,它试图分解 CREATE 的所有单独部分。处理成单独的步骤。
    START stack=node({stack})
    CREATE (item {item})
    CREATE (representations {representations})
    CREATE (stack)-[:Item]->(item)
    CREATE (item)-[:Representation]->(representations)
    RETURN item, representations

    我已经尝试了上述查询的几种变体,包括创建 itemrepresentation查询开始的节点。

    我真的很感激任何建议。如果可以避免,我真的不想诉诸于进行多次数据库调用。

    最佳答案

    你的陈述是一个 list 吗?那么您只能将其作为单个 create 语句。

    我从你的语法中假设 Neo4j 1.9。

    你可以做的是使用 FOREACH

    START stack=node({stack})
    CREATE (item {item})
    CREATE (stack)-[:Item]->(item)
    FOREACH (r in {representations} :
    CREATE (representation {r}), (item)-[:Representation]->(representation)
    )
    MATCH (item)-[:Representation]->(representations)
    RETURN item, representations

    关于nosql - 用于创建多个节点和关系的 Cypher 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22304276/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com