【问题标题】:How to create nodes with parameterized labels in Cypher如何在 Cypher 中创建带有参数化标签的节点
【发布时间】:2021-01-09 17:12:41
【问题描述】:

问同样的问题已经有一段时间了(2 年)。当时,Cypher 不支持使用参数化标签创建节点或关系。今天得到更好的支持了吗?

我想要完成的是使用 Cypher 从 CSV 文件中简单地在 Neo4J 中创建节点,前提是该文件包含 2 列,一列用于节点类型,一列用于节点名称:

  LOAD CSV WITH HEADERS FROM 'https://xyz/nodes.csv' AS line
  WITH line.type as label
  CREATE (:EVAL(label) { name: line.name })

这是link to the same question,两年前问的。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    使用纯 Cypher 你不能,但现在每个人都使用 APOC libraryapoc.create.node 过程:

    LOAD CSV WITH HEADERS FROM 'https://xyz/nodes.csv' AS line
    CALL apoc.create.node(['EVAL', line.type], {name: line.name})
    YIELD node
    RETURN node
    

    【讨论】:

    • 感谢您的信息。请注意,在浏览器中,我收到错误“查询无法以 CALL 结束(必须是 RETURN 或更新子句)”,我通过附加 YIELD 节点 WITH 节点 RETURN 节点克服了这一错误
    • 正确,忘记添加了,会添加到答案中,不会只在浏览器中
    猜你喜欢
    • 2022-12-30
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 2023-02-02
    相关资源
    最近更新 更多