作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个对象,它具有唯一但不是必需的属性,即 Facebook ID。如果我插入另一个具有相同名称的对象并且有一个没有 Facebook ID 的对象,那么我认为它们是相同的。如果有一个名称相同但 Facebook ID 不同的对象,那么我认为它们是不同的并创建一个新对象。
我已经尝试了基于 Cypher 文档的各种语句,但无法使它们中的任何一个成为有效的语法。
虽然这个例子无效,但我认为它说明了我正在尝试做的事情:
MERGE (t:Thing {name: 'My Not Always Unique Name'})
WHERE EXISTS(t.facebook_id) AND t.facebook_id <> '111111111'
ON CREATE SET t.name = 'My Not Always Unique Name',
t.facebook_id = '111111111',
t.another_property = 'blah'
ON MATCH SET t.another_property = 'blah'
RETURN t;
最佳答案
我相信我对此有一个答案,这取决于我为 id 属性设置的 UUID。
OPTIONAL MATCH (t:Thing {name: 'My Not Always Unique Name'}) WHERE t.facebook_id IS NULL OR t.facebook_id = '1111111'
WITH t
MERGE (s:Thing {id: COALESCE(t.id, 'e8344f24-faff-443a-ac48-b757381eddb8')})
ON MATCH SET s.name = 'My Not Always Unique Name', s.facebook_id = '1111111'
ON CREATE SET s.name = 'My Not Always Unique Name', s.facebook_id = '1111111' RETURN s;
关于neo4j - Q : How to include a WHERE clause in a MERGE statement in Neo4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37661577/
我是一名优秀的程序员,十分优秀!