【发布时间】:2013-11-15 14:16:41
【问题描述】:
我正在使用 Neo4j 2.0.0-M06。只是学习 Cypher 并阅读文档。在我看来,这个查询会起作用,但我应该很幸运......
我正在将推文导入 mysql 数据库,然后从那里将它们导入 neo4j。如果一条推文已经存在于 Neo4j 数据库中,则应该更新它。
我的查询:
MATCH (y:Tweet:Socialmedia) WHERE
HAS (y.tweet_id) AND y.tweet_id = '123'
CREATE UNIQUE (n:Tweet:Socialmedia {
body : 'This is a tweet', tweet_id : '123', tweet_userid : '321', tweet_username : 'example'
} )
Neo4j 说:This pattern is not supported for CREATE UNIQUE
数据库当前在具有匹配标签的节点上为空,因此在 Neo4j 数据库中没有任何推文。
什么是正确的查询?
【问题讨论】:
-
我是否正确理解 Neo4j 仅在创建关系时才允许在单个节点上 CREATE UNIQUE?
-
很快,MERGE 将在所有情况下替换 CREATE UNIQUE。 :) CREATE UNIQUE 目前是建立唯一关系的唯一方法,但绝对对节点使用 MERGE。