Neo4j如何处理特殊字符,例如"\在Cypher语句中

Jon*_*Jon 1 neo4j cypher py2neo

我使用py2neo将JSON数据作为chyper语句加载到Neo4j中.我的问题是,有时“ ‘ \在我想要作为属性导入到字符串的字符串中有符号等:

MERGE (p:Node {name:’This sign ‘ gives error’})

如果我改为:

MERGE (p:Node {name:” This sign ‘ gives error”})

它将适用于语句,但是当a 在输入字符串中时它将失败.

有没有办法说在字符串中允许所有(或几乎所有)特殊字符?对不起,如果这是一个愚蠢的问题:)

Nic*_*ite 6

如果要包含双引号,可以用单引号括起来:

CREATE (n:Node {name:'hello " world'}) 
RETURN n.name

n.name
hello " world
Run Code Online (Sandbox Code Playgroud)

如果要包含单引号,可以用双引号括起来:

CREATE (n:Node {name:"hello ' world"}) 
RETURN n.name

n.name
hello ' world
Run Code Online (Sandbox Code Playgroud)

如果它比那更复杂,你可以逃避角色:

CREATE (n:Node {name:"hello \" world"}) 
RETURN n.name

n.name
hello " world
Run Code Online (Sandbox Code Playgroud)

您还可以通过转义它们来包含反斜杠:

CREATE (n:Node {name:"hello \\ world"}) 
RETURN n.name

n.name
hello \ world
Run Code Online (Sandbox Code Playgroud)

  • 另外,不要忘记三重单引号''''引用'单词'''和三重双引号`"""另一个"引用"单词"""`. (2认同)
  • @NigelSmall如何获得三重引号?当我尝试执行类似“ MATCH(n:Test {id:'test'}))SET n.label ='''John Doe's house''';时,出现“ Neo.ClientError.Statement.InvalidSyntax”错误。 ` (2认同)

Mic*_*ger 5

我建议使用参数,然后密码解析器看不到它们.

它只是一个名称 - >你通过字典传递给execute方法的字符串.