2016-11-29 26 views
0

我想将某个日期转储到Neo4J。我的一些节点名称(以选择的转储格式)具有数字,必须将其导出为节点名称。在neo4j(节点和标签)中处理数字

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

Neo.ClientError.Statement.InvalidSyntax 

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

这是因为,国内的Neo4j有一个唯一的ID?我们如何绕过这个问题?

回答

2

我相信这些只是Neo4j使用的语法规则。另外请记住,你指的是节点名称(在你的例子中是1)实际上是一个变量名称,并且只在查询期间持续存在(或者直到它离开作用域,如果不在WITH中继承)子句到查询的下一部分)。

从开发文档:

变量名称是区分大小写的,并且可以包含下划线和 字母数字字符(AZ,0-9),但必须以一个 字母开头...同样的规则适用于属性名称。

尽管我没有看到有关标签名称的任何信息,但它看起来像遵循相同的语法规则。

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

您将限制描述为“问题”,所以我猜测您的导入中存在与此相关的问题,可能是围绕着变量和所谓的节点名称之间的混淆。如果是这样,那么请在您的描述中添加更多详细信息,然后我可以相应地添加到我的答案中。