Neo4j / Cypher:CREATE UNIQUE被弃用了吗?

时间:2017-06-14 00:29:45

标签: neo4j cypher

当我写这样一个简单的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版本

此处是警告信息的打印屏幕:

Alert message

我在Neo4j Github中搜索了这条消息并没有找到任何内容。此外,文档也没有提及任何折旧。

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

我正在使用Neo4j 3.2.1。

感谢。

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

2 个答案:

答案 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