处理neo4j中的数字(节点和标签)

时间:2016-11-29 09:52:55

标签: neo4j cypher

我正在尝试将一些日期转发给Neo4J。我的一些节点名称(采用所选的转储格式)具有数字,必须将这些数字导出为节点名称。

当节点名称或标签以数字开头时,我遇到以下错误。

Neo.ClientError.Statement.InvalidSyntax

MERGE (1:User {name: "u1"})

这是因为,内部neo4j有一个唯一的ID吗?我们如何规避这个问题?

1 个答案:

答案 0 :(得分:2)

我相信这些只是Neo4j使用的语法规则。还要记住,您所指的节点名称(在您的示例中为1)实际上是一个变量名称,并且只在查询期间持续存在(或者直到它离开范围,如果没有在WITH中继承)子句到查询的下一部分)。

来自开发者文档:

  

变量名称区分大小写,并且可以包含下划线和   字母数字字符(a-z,0-9),但必须始终以a开头   信...同样的规则适用于财产名称。

虽然我没有看到任何关于标签名称的内容,但看起来它遵循相同的语法规则。

当然,属性值可以是您想要的任何值。

你把这个限制描述为一个“问题”,所以我猜你的导入中存在这个问题,可能是因为变量之间的混淆以及你所谓的节点名称。如果是这样,那么请在您的描述中添加更多细节,我可以相应地添加我的答案。