我有两个标签的节点:国家和大陆 .
每个国家都有一个名为continent_code的 property ,我希望在所有国家及其相应的大陆之间 Build 关系 .
我能做到的只是为这样的大陆创建关系:
MATCH (u:Country {continent_code:"NORAM"}), (a:Continent {code:"NORAM"})
MERGE (u)-[r:IS_COUNTRY_OF]->(a)
RETURN u, a, r
现在我想做的是更像这样的事情:
MATCH (u:Country {continent_code: a:Continent.code})
MERGE (u)-[r:IS_COUNTRY_OF]->(a)
RETURN u, a, r
显然这不起作用,但我不知道如何修复它,我甚至不确定它是否可能在Neo4j / cypher中 .
谢谢你的帮助!
3 回答
简单组合
MATCH
和MERGE
:这可能是你想要的:
它聚合了具有相同大陆代码的所有国家/地区,使用
MERGE
确保所需的Continent
节点存在,每个Country
上确实MERGE
以确保它与Continent
有关系,并返回每个大陆代码及其国家/地区的集合 .我认为,如果我正确理解你的问题,那么对国家和大陆的简单搜索和关系的创造就会奏效 . 在Country和Continent节点之间创建的关系(IS_COUNTRY_OF)实际上不需要Country节点上的属性(continent_code) .