繁体   English   中英

Neo4j / Cypher:CREATE UNIQUE是否已弃用?

[英]Neo4j / Cypher: Is CREATE UNIQUE deprecated?

当我这样编写一个简单的Cypher查询时:

MATCH (r:Person {name:'Jon'})
MATCH (s:Person {name:'Ana'})
CREATE UNIQUE (r)-[:FRIEND_OF]->(s)

我在Neo4j浏览器中收到警报消息。 警报消息显示:

当前的CYPHER版本不提供RULE计划器,该查询已由较早的CYPHER版本运行。 当前CYPHER版本不支持CREATE UNIQUE,查询已由较早的CYPHER版本执行

这是警报消息的打印屏幕:

警报消息

我在Neo4j Github中搜索了此消息,但没有找到任何东西。 此外,文档中也没有提及任何折旧。

我的问题是: CREATE UNIQUE是否已弃用? 为什么?

我正在使用Neo4j 3.2.1。

谢谢。

PS:我知道我的查询可以重构。 这只是一个例子。 同样,在查询中使用CREATE UNINQUE进行的所有重构在Neo4j浏览器中也显示相同的警报消息。

CREATE UNIQUE设置为完全由MERGE代替。 所以你的语法是:

MATCH (r:Person {name:'Jon'})
MATCH (s:Person {name:'Ana'})
MERGE (r)-[:FRIEND_OF]->(s)

问候,汤姆

尝试这个

MATCH (lft:Person {name:'Jon'}),(rgt)
WHERE rgt.name IN ['Ana']
CREATE UNIQUE (lft)-[r:KNOWS]->(rgt)
RETURN r

请注意,您也可以像这样搜索多个名称

MATCH (lft:Person {name:'Jon'}),(rgt)
WHERE rgt.name IN ['Ana','Maria']
CREATE UNIQUE (lft)-[r:KNOWS]->(rgt)
RETURN r

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM