gpt4 book ai didi

neo4j - 创建 Neo4j 节点之间的关系

转载 作者:行者123 更新时间:2023-12-02 04:12:24 26 4
gpt4 key购买 nike

我的节点带有两个标签:国家/地区和大陆。

每个国家/地区都有一个名为 Continental_code 的属性,我想在所有国家/地区及其相应大陆之间创建关系。

我能实现的只是为给定的大陆创建这样的关系:

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 中是否可能。

感谢您的帮助!

最佳答案

这可能就是您想要的:

MATCH (u:Country)
WITH u.continent_code AS cc, COLLECT(u) AS countries
MERGE (a:Continent { code: cc })
FOREACH (c IN countries | MERGE (c)-[r:IS_COUNTRY_OF]->(a))
RETURN cc, countries;

它聚合具有相同大陆代码的所有国家/地区,使用 MERGE 来确保所需的 Continent 节点存在,是否执行 MERGE每个国家,以确保它与其大陆有关系,并返回每个大陆代码及其国家/地区的集合。

关于neo4j - 创建 Neo4j 节点之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35873049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com