首页 > 解决方案 > 使用 py2neo 设置带有空格的属性

问题描述

我正在尝试设置一个具有空间值的属性。我正在使用 py2neo 并且我写了这个,但它不起作用:

name = mention['name']
screen_name = mention['screen_name']
id = mention['id']

graph.run(
  'MATCH (f) '
  'WHERE EXISTS(f.account_id) AND f.account_id=\'' + id + '\' '
  'SET f.name=\'' + re.escape(name) + '\', f.screen_name=\'@' + screen_name + '\' '                                                     
  'RETURN null'
)

我该如何解决?谢谢

标签: pythonneo4jcypherpy2neo

解决方案


您应该将值(包括有问题的值name)作为参数传递。这避免了 Python 和 Cypher 解析器的混乱问题(并且也不需要转义字符串值)。

这可能对您有用:

graph.run(
  'MATCH (f) '
  'WHERE f.account_id=$id '
  'SET f.name=$name, f.screen_name=$screen_name',
  {"id": mention['id'], "name": mention['name'], "screen_name": '@'+mention['screen_name']}
)

推荐阅读