我正在玩Neo4j,并试图实现一个“is in set”数据结构。在我的示例项目中,我创建了一个名为“iPhone”的项目,并希望与“手机”类别创建关系(“is in”)
CREATE (a:Item {name:'iPhone 12'}) WITH a, MATCH (b:Category) WHERE b.name='Cell Phones & Accessories' CREATE (a)-[r:in]->(b)
如果我改为运行两个单独的查询(见下文),它会起作用,但这是低效的,我想了解我做错了什么。
CREATE (a:Item {id:'5'})
和,
MATCH (a:Item),(b:Category) WHERE a.id='5' AND b.name='Cell Phones & Accessories' CREATE (a)-[r:in]->(b)
我已经发现了这个和许多类似的讨论,其中变量根本没有在与语句中传递,但在我的例子中,据我所知,这并不适用。
感谢每一个回应:)
请删除带a后的逗号,然后它就可以了。
CREATE (a:Item {name:'iPhone 12'})
WITH a #removed the comma here
MATCH (b:Category) WHERE b.name='Cell Phones & Accessories'
CREATE (a)-[r:in]->(b)