我正在尝试将一些数据填充到neo4j数据库中。由于节点和关系的数量很大,我使用了本指南中描述的批量插入:
create-a-graph-database-in-neo4j-using-python
我的Cypher语句如下所示:
UNWIND $rows AS row
MERGE (:Term {name: row.name, accession: row.accession, definition: row.definition})
RETURN count(*) as total
因为我使用的是唯一约束,如果已经存在一个具有相同访问权限的节点
CREATE CONSTRAINT accession on (n:Term) assert n.accession is unique
合并失败,并出现以下错误:
{message: Node(2749) already exists with label `Term` and property `accession` = 'UO:0000000'}
有没有办法批量创建节点,除非当前节点已经存在,所以我只能更新一些属性,在这种情况下,除了accession属性之外的所有属性。
非常感谢你的帮助
1条答案
按热度按时间ffscu2ro1#
我想我通过使用简单的SET子句设置属性解决了这个问题: