我正在使用py2neo将JSON数据作为chyper语句加载到Neo4j中。
我的问题是,有时在我想要作为属性导入到字符串的字符串中有 if(isset($_POST["submit"])){ /* your code */}
等符号:
“ ‘ \
如果我改为:
MERGE (p:Node {name:’This sign ‘ gives error’})
它将适用于语句,但当MERGE (p:Node {name:” This sign ‘ gives error”})
在输入字符串中时它将失败。
有没有办法说在字符串中允许所有(或几乎所有)特殊字符? 对不起,如果这是一个愚蠢的问题:)
答案 0 :(得分:6)
如果要包含双引号,可以用单引号括起来:
CREATE (n:Node {name:'hello " world'})
RETURN n.name
n.name
hello " world
如果要包含单引号,可以用双引号括起来:
CREATE (n:Node {name:"hello ' world"})
RETURN n.name
n.name
hello ' world
如果它比这更复杂,你可以逃避角色:
CREATE (n:Node {name:"hello \" world"})
RETURN n.name
n.name
hello " world
您还可以通过转义来包含反斜杠:
CREATE (n:Node {name:"hello \\ world"})
RETURN n.name
n.name
hello \ world
答案 1 :(得分:5)
我建议使用参数,然后cypher解析器不会看到它们。
它只是一个名字 - >你通过字典传递给execute方法的字符串。