在Cypher查询中应使用单引号还是双引号?返回文本时如何选择?
Cypher查询中单引号与双引号的使用规范
字符串字面量的使用规则
- 单引号是Cypher定义字符串的常规方式,适合不含单引号的普通文本。如果字符串内部包含单引号(比如你的示例文本
Please don't forget to submit your ID.),需要用两个连续单引号转义,写法为:'Please don''t forget to submit your ID.' - 双引号同样可以定义字符串,优势是当文本内部有单引号时无需转义,直接包裹即可,比如你的示例可以写成:
"Please don't forget to submit your ID.",这种写法更简洁不易出错。
标识符的特殊用法
双引号还有专属用途:用来包裹带有特殊字符、空格或者与Cypher关键字重名的标识符(比如节点标签、属性名、关系类型)。例如标签包含连字符时,写法为:MATCH (n:"User-Profile") RETURN n.name,这里的双引号是必须的,单引号无法替代。
返回文本的选择建议
针对你的示例文本,优先用双引号包裹,避免转义操作,Cypher返回语句可以写成:
RETURN "Please don't forget to submit your ID." AS reminder
如果坚持用单引号,记得转义内部的单引号,语句为:
RETURN 'Please don''t forget to submit your ID.' AS reminder
内容的提问来源于stack exchange,提问作者KWriter
相关产品推荐
相关产品推荐

