protege和neo4j联系_Neo4j | 实体和关系的合并

实体消歧

图数据存储的过程中有时会遇到这样一类问题,对于实体和关系数据而言,在数据预处理或者数据清洗时可以做到实体间是不会重复的(去除重复的数据);虽然实体不重复,但可能两个实体所代表含义是相同的,这部分需要做的工作就是实体消歧。

但传统意义上的实体消歧应该是在数据清洗准备阶段进行的(利用各种消除歧义、实体对齐的方法统一含义相同的实体),既对相同的实体合并后统一为一个实体后在入库,但对于一些特殊的业务场景,传统的实体消歧的方法就失去了作用。

例如对于这样一种业务场景:假设目前存在一些企业数据,企业与人员之间存在一些法人、董事、股东、投资的关系,但网络中存在多个叫”小明”(此处没有类似身份证号的唯一标识进行标记)的人,只知道每个”小明”可能和不同的企业之间存在不同的关系,且里面一些”小明”可能是同一个人但创建了多个节点,这里就需要对是同一个人的”小明”实体进行合并,而不是同一个”小明”的实体不进行合并,合并当然有一定的业务逻辑和规则。

案例一:

可发现下图中共存在6个相同姓名的人员实体,其中左边三个每个都为单独且不同的实体,右边三个则表示同一个实体,所以需要对右边三个实体进行合并,但在合并的时候需要注意,节点合并后相应的关系也需要迁移到新的节点上。合并实体前

MATCH (n:人员)

with n.人员姓名 as name,collect(n) as nodelist,count(n) as nodecount

where nodecount > 1

call apoc.refactor.mergeNodes(nodelist) YIELD node

Original: https://blog.csdn.net/weixin_39844590/article/details/111888746
Author: weixin_39844590
Title: protege和neo4j联系_Neo4j | 实体和关系的合并

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/557620/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球