【问题标题】:Not able to create a node with special characters "-" in neo4j无法在 neo4j 中创建带有特殊字符“-”的节点
【发布时间】:2019-03-22 20:33:41
【问题描述】:

我正在尝试在 neo4j(版本 3.2.3)中创建一个节点。下面是密码查询,

MERGE (`source-real-address`:SOURCE {Source:{`source-real-address`}})

我在论坛上找到了创建一个我们应该使用特殊字符的节点

反引号`

在查询中。但是我无法创建带有反引号的节点。日志中没有抛出任何错误。

您能帮我解决这个问题吗?

如果我在密码查询中做错了什么,请纠正我。我开始了 了解 Neo4j 密码查询语言。

注意:- 我在 neo4j 输出插件的帮助下从 graylog 向 neo4j 发送数据。我可以创建没有特殊字符字段的节点。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    语法{Source:{`source-real-address`}}) 表示您正在尝试使用名为source-real-address 的参数作为属性Source 的值。如果这是您的目标,您可以使用:params {"source-real-address":"Some value"} 在 Neo4j 浏览器中设置一个参数用于测试目的。如果没有,您可以删除值中多余的{},并使用"" 而不是反引号,如下所示:

    MERGE (source-real-address:SOURCE {Source:"source-real-address"})
    

    请记住,属性的值应为 BooleanIntegerFloatString

    在 Cypher 中,反引号用于创建具有特殊字符的关系、标签和变量名称(不适用于属性值)。

    【讨论】:

    • 是的,我正在尝试使用 neo4j 输出插件将数据从 graylog 发送到 neo4j。我可以在 Neo4j 浏览器中设置参数并从参数中获取属性源的值。但同样的事情我无法从 neo4j 输出插件中做到这一点。下面是我尝试过的示例查询,它在 Neo4j 浏览器中运行良好,:params {"dest-mapp-address":"172.29.2.12"} MERGE ('dest-mapp-address':DESTMAP {destmap:{'dest-mapp-address' }}) 让我知道对此的任何想法..
    【解决方案2】:

    使用CREATE 命令创建带有特殊字符的节点

    另请参阅:https://neo4j.com/docs/cypher-manual/current/syntax/naming/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2021-08-15
      • 2022-01-19
      • 1970-01-01
      • 2016-09-23
      • 2012-06-09
      • 1970-01-01
      相关资源
      最近更新 更多