当我写这样一个简单的Cypher查询时:
MATCH (r:Person {name:'Jon'})
MATCH (s:Person {name:'Ana'})
CREATE UNIQUE (r)-[:FRIEND_OF]->(s)
我在Neo4j浏览器中收到警报消息。警告信息显示:
目前的CYPHER版本中没有RULE规划器 查询已由较旧的CYPHER版本运行。 CREATE UNIQUE是 当前CYPHER版本不支持,查询已执行 较旧的CYPHER版本
此处是警告信息的打印屏幕:
我在Neo4j Github中搜索了这条消息并没有找到任何内容。此外,文档也没有提及任何折旧。
我的问题是:是否弃用了CREATE UNIQUE?为什么呢?
我正在使用Neo4j 3.2.1。
感谢。
PS:我知道我的查询可以重构。这只是一个例子。此外,使用CREATE UNINQUE
在查询中进行的所有重构都会在Neo4j浏览器中显示相同的警报消息。
答案 0 :(得分:3)
CREATE UNIQUE设置为完全由MERGE替换。所以你的语法是:
<p><u>Location<u></p>
<form method="post" action="amazon.php">
<div class="form-group">
<div class="radio">
<label><input type="radio" name="level" value="B1" <?php if (isset($_POST[ 'level']) && $_POST[ 'level']=='B1' )?>onclick="this.form.submit()">Basement 1</label>
</div>
<div class="radio">
<label><input type="radio" name="level" <?php if (isset($_POST[ 'level']) && $_POST[ 'level']=='L1' )?> value="L1"checked="checked"onchange="this.form.submit();">Level 1</label>
</div>
</div>
</form>
此致 汤姆
答案 1 :(得分:0)
试试这个
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