System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是一种基于隐含超类挖掘的本体生成方法、装置和设备。
技术介绍
1、本体,是指特定领域的概念集合及其内在逻辑关系的规范化语义描述,为领域数据提供了基本的分类框架与关联描述机制,进而对数据蕴含的语义进行合理组织。本体技术为领域概念及其关系提供了标准语义描述,是数据语义集成和知识共享的基础。
2、从关系型数据库(relational databases,rdb)中自动地生成本体一直是语义本体领域的研究热点。然而,现有的面向关系数据库的本体生成方法只考虑了关系数据库中最基本的本体语义,例如表名对应于类名、外键名对应于对象属性,无法挖掘元数据所未直接表达的隐含语义,使得生成的本体会丢失部分本体语义信息。因此,有必要开发一种基于隐含超类挖掘的本体生成方法、装置和设备,以提高生成的本体的准确率。
技术实现思路
1、鉴于上述问题,本申请实施例提供了一种基于隐含超类挖掘的本体生成方法、装置和设备,以便克服上述问题或者至少部分地解决上述问题。
2、本申请实施例的第一方面,提供了一种基于隐含超类挖掘的本体生成方法,所述方法包括:
3、从关系数据库中获取待处理的多个关系数据表;
4、提取所述多个关系数据表中各个数据列的列名称,获取每个列名称在所述多个关系数据表中的出现次数信息;
5、根据所述出现次数信息,确定目标列名称,所述目标列名称表示集中出现在所述多个关系数据表中的高频列名称;
6、根据所述目标列名称,从所
7、将所述目标列名称所对应的数据列作为隐含超类所具有的数据列,将所述子类关系数据表所对应的类,作为所述隐含超类的子类;所述隐含超类表征所述多个关系数据表之间的主要特征;
8、根据所述隐含超类,生成针对所述多个关系数据表的关系型数据本体。
9、在一种可能的实施方式中,根据所述出现次数信息,确定目标列名称,包括:
10、根据所述出现次数信息,排除各个数据列的列名称中的干扰列名称;
11、将剩余的列名称按照出现次数从高到低的顺序,进行排列,得到候选序列;
12、对于所述候选序列中的任一列名称,获取其相邻的两个列名称,组成候选数组;
13、按照出现次数从高到低的顺序,依次计算每个候选数组的标准差;
14、根据每个所述候选数组的标准差,将满足第一条件的候选数组中的列名称确定为所述目标列名称。
15、在一种可能的实施方式中,所述干扰列名称至少包括:第一干扰列名称和第二干扰列名称,所述根据所述出现次数信息,排除各个数据列的列名称中的干扰列名称,包括:
16、根据所述出现次数信息,将出现次数大于或等于最高出现次数阈值的列名称,作为第一干扰列名称排除;
17、根据所述出现次数信息,将出现次数为1的列名称,作为第二干扰列名称排除。
18、在一种可能的实施方式中,根据每个所述候选数组的标准差,将满足第一条件的候选数组中的列名称确定为所述目标列名称,包括:
19、在所述候选数组的标准差大于预设标准差阈值的情况下,确定所述候选数组不满足所述第一条件,按照出现次数从高到低的顺序,继续计算下一候选数组的标准差;
20、在所述候选数组的标准差小于或等于所述预设标准差阈值的情况下,确定所述候选数组满足所述第一条件,将满足所述第一条件的候选数组中的列名称确定为目标列名称;
21、在所述候选数组的标准差再一次出现大于预设标准差阈值的情况下,或,在所有候选数组的标准差计算完成的情况下,停止对后续候选数组的标准差的计算。
22、在一种可能的实施方式中,根据所述目标列名称,从所述多个关系数据表中确定子类关系数据表,包括:
23、将所述目标列名称所对应的数据列放入目标数组中;
24、计算所述多个关系数据表中,每个关系数据表所包含的所述目标数组中的数据列的列数量;
25、将列数量大于或等于预设列数量阈值的关系数据表,确定为所述子类关系数据表。
26、在一种可能的实施方式中,在排除所述干扰列名称后,所述方法还包括:
27、在剩余的列名称的出现次数的最大值小于或等于最低频率阈值的情况下,停止执行查找目标列的操作,确定所述多个关系数据表中不包含所述隐含超类。
28、在一种可能的实施方式中,所述根据所述隐含超类,生成针对所述多个关系数据表的关系型数据本体,包括:
29、对于所述多个关系数据表,分别创建对应的本体类;
30、根据所述隐含超类,创建所述隐含超类和所述子类关系数据表所对应的实体类之间的父子类关系;
31、为所述隐含超类的每个数据列在对应的本体中创建一个同名数据属性,使其定义域为所述隐含超类,其值范围为该数据列的sql数据类型;
32、对于每个所述关系数据表中的主键,为主键内的每个数据列,在本体中创建一个同名数据属性,使其定义域为对应的本体类,其值范围为该数据列的sql数据类型。
33、本申请实施例第二方面提供了一种基于隐含超类挖掘的本体生成装置,所述装置包括:
34、数据获取模块,用于从关系数据库中获取待处理的多个关系数据表;
35、出现次数信息获取模块,用于提取所述多个关系数据表中各个数据列的列名称,获取每个列名称在所述多个关系数据表中的出现次数信息;
36、目标列名称确定模块,用于根据所述出现次数信息,确定目标列名称,所述目标列名称表示集中出现在所述多个关系数据表中的高频列名称;
37、子类关系数据表确定模块,用于根据所述目标列名称,从所述多个关系数据表中确定子类关系数据表;
38、隐含超类生成模块,用于将所述目标列名称所对应的数据列作为隐含超类所具有的数据列,将所述子类关系数据表所对应的类,作为所述隐含超类的子类;所述隐含超类表征所述多个关系数据表之间的主要特征;
39、本体创建模块,用于根据所述隐含超类,生成针对所述多个关系数据表的关系型数据本体。
40、在一种可能的实施方式中,所述目标列名称确定模块,包括:
41、干扰列名称排除子模块,用于根据所述出现次数信息,排除各个数据列的列名称中的干扰列名称;
42、候选序列生成子模块,用于将剩余的列名称按照出现次数从高到低的顺序,进行排列,得到候选序列;
43、候选数组生成子模块,用于对于所述候选序列中的任一列名称,获取其相邻的两个列名称,组成候选数组;
44、标准差计算子模块,用于按照出现次数从高到低的顺序,依次计算每个候选数组的标准差;
45、目标列名称确定子模块,用于根据每个所述候选数组的标准差,将满足第一条件的候选数组中的列名称确定为所述目标列名称。
46、在一种可能的实施方式中,所述干扰列名称至少包括:第一本文档来自技高网...
【技术保护点】
1.一种基于隐含超类挖掘的本体生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于隐含超类挖掘的本体生成方法,其特征在于,根据所述出现次数信息,确定目标列名称,包括:
3.根据权利要求2所述的基于隐含超类挖掘的本体生成方法,其特征在于,所述干扰列名称至少包括:第一干扰列名称和第二干扰列名称,根据所述出现次数信息,排除各个数据列的列名称中的干扰列名称,包括:
4.根据权利要求2所述的基于隐含超类挖掘的本体生成方法,其特征在于,根据每个所述候选数组的标准差,将满足第一条件的候选数组中的列名称确定为所述目标列名称,包括:
5.根据权利要求1所述的基于隐含超类挖掘的本体生成方法,其特征在于,根据所述目标列名称,从所述多个关系数据表中确定子类关系数据表,包括:
6.根据权利要求2所述的基于隐含超类挖掘的本体生成方法,其特征在于,在排除所述干扰列名称后,所述方法还包括:
7.根据权利要求1所述的基于隐含超类挖掘的本体生成方法,其特征在于,所述根据所述隐含超类,生成针对所述多个关系数据表的关系型数据本体,包括
8.一种基于隐含超类挖掘的本体生成装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现权利要求1-7任一项所述的基于隐含超类挖掘的本体生成方法中的步骤。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现权利要求1-7任一项所述的基于隐含超类挖掘的本体生成方法中的步骤。
...【技术特征摘要】
1.一种基于隐含超类挖掘的本体生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于隐含超类挖掘的本体生成方法,其特征在于,根据所述出现次数信息,确定目标列名称,包括:
3.根据权利要求2所述的基于隐含超类挖掘的本体生成方法,其特征在于,所述干扰列名称至少包括:第一干扰列名称和第二干扰列名称,根据所述出现次数信息,排除各个数据列的列名称中的干扰列名称,包括:
4.根据权利要求2所述的基于隐含超类挖掘的本体生成方法,其特征在于,根据每个所述候选数组的标准差,将满足第一条件的候选数组中的列名称确定为所述目标列名称,包括:
5.根据权利要求1所述的基于隐含超类挖掘的本体生成方法,其特征在于,根据所述目标列名称,从所述多个关系数据表中确定子类关系数据表,包括:
...【专利技术属性】
技术研发人员:李翔,王珵珺,王强,刘坤,杨国利,刘艺,刘昊,郑奇斌,李凡,
申请(专利权)人:北京大数据先进技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。