I am using py2neo to load JSON data into Neo4j as chyper statements.
My problem is that sometimes there are signs as “ ‘ \
etc in the strings I want to import as properties to Nodes:
MERGE (p:Node {name:’This sign ‘ gives error’})
If I change to:
MERGE (p:Node {name:” This sign ‘ gives error”})
It will work for the statement over but it will fail when a “
is in an input string.
Is there a way to say that all (or almost all) special character is allowed inside the string? Sorry if this is a stupid question :)
If you want to include double quotes, you can wrap in single quotes:
CREATE (n:Node {name:'hello " world'})
RETURN n.name
n.name
hello " world
If you want to include single quotes, you can wrap in double quotes:
CREATE (n:Node {name:"hello ' world"})
RETURN n.name
n.name
hello ' world
If it's more complicated than that, you can escape the character:
CREATE (n:Node {name:"hello \" world"})
RETURN n.name
n.name
hello " world
You can also include backslashes by escaping them:
CREATE (n:Node {name:"hello \\ world"})
RETURN n.name
n.name
hello \ world
I would suggest to use parameters, then the cypher parser doesn't see them.
And it's just an name -> string you pass via a dictionary to the execute method.
来源:https://stackoverflow.com/questions/30513601/neo4j-how-to-handle-special-characters-like-in-cypher-statements