Neo4j:MERGR与模式中的逗号抛出“无效语法”,与MATCH或CREATE不同

时间:2014-09-01 08:05:35

标签: neo4j cypher

早上好,

为了实现幂等性,我使用Neo4j的MERGE关键字将模式插入到我的数据库中。例如,我可能会插入一个用户和他的朋友:

MERGE (friend:User)<-[:FRIEND]-(me:User)-[:FRIEND]->(anotherfriend:User);

我以为我可以改写这样的语句:

MERGE (me:User)-[:FRIEND]->(friend:User), (me)-[:FRIEND]->(anotherfriend:User);

但是这导致了这个错误:

Invalid input ',': expected whitespace, a relationship pattern, ON, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, RETURN, UNION, ';' or end of input (line 1, column 41)
"MERGE (me:User)-[:FRIEND]->(friend:User), (me)-[:FRIEND]->(anotherfriend:User);"

MATCHCREATE支持此语法。 MERGE没有任何原因吗?它只是尚未实现的东西吗?

注意:这不是我在我的应用程序中使用的实际查询,而只是简单的说明我的观点。

谢谢, 扬

1 个答案:

答案 0 :(得分:2)

我认为这是密码实现的不完美之处。请在https://github.com/neo4j/neo4j/issues处提交github问题。