Neo4j Merge 命令2025年3月17日 | 阅读 3 分钟 Neo4j MERGE 命令是 CREATE 和 MATCH 命令的组合。此命令用于在图中搜索给定的模式。如果它存在于图中,它将返回结果,否则,它将创建一个新的节点/关系并返回结果。 使用 MERGE 命令,您可以执行以下操作
语法 示例 首先在 Neo4j 数据库中创建两个带有标签 sachin 和 Ind 的节点。创建从 sachin 到 Ind 的类型为 "BATSMAN_OF" 的关系。 ![]() 合并带有标签的节点MERGE 子句用于基于标签合并数据库中的节点。如果尝试基于标签合并节点,则 Neo4j 会验证是否存在带有给定标签的任何节点。 如果没有,将创建当前节点。 语法 示例 1 让我们将节点“Sehwag”合并到标签播放器。 Neo4j 验证是否存在任何带有标签播放器的节点。 如果没有,它会创建一个名为“Sehwag”的节点并返回它。 如果存在任何带有给定标签的节点,则 Neo4j 将返回所有节点。 输出 ![]() 这里已经有很多带有标签播放器的节点。 因此,无需创建另一个节点进行合并。 示例 2 将名为“CT”的节点与名为“Tornament”的标签合并。 由于没有带有此标签的节点,Neo4j 会创建一个带有给定名称的节点并返回它。 输出 ![]() 合并带有属性的节点您可以添加与您合并的节点相关的属性。 语法 示例 输出 ![]() OnCreate 和 OnMatchOnCreate 和 OnMatch 命令用于指示节点是否已创建或匹配。 无论何时执行合并查询,都会匹配或创建节点。 语法 示例 以下示例演示了 Neo4j 中 OnCreate 和 OnMatch 子句的用法。 如果数据库中已存在指定的节点,则将匹配该节点,并且将在该节点中创建具有键值对 isFound = "true" 的属性。 如果数据库中不存在指定的节点,则将创建该节点,并在其中创建具有键值对 isCreated ="true" 的属性。 输出 ![]() 合并关系MERGE 子句也可用于合并关系,就像节点一样。 参见此示例,该示例使用 Neo4j 中的 MATCH 子句合并关系。 此查询尝试合并节点 ?ind?(标签:Country & name:India)和 ICC(标签:Tornament & name:ICC Champions Trophy)之间的名为 WINNERS_OF 的关系。 下一个主题Neo4j Set 子句 |
我们请求您订阅我们的新闻通讯以获取最新更新。