Page 271 - 《软件学报》2025年第12期
P. 271
5652 软件学报 2025 年第 36 卷第 12 期
代码 4. 数据属性复杂定义域 SPARQL 查询示例.
1. SELECT DISTINCT ?d
2. WHERE
∗
3. {{ helis : amountOfEnergy rdfs : domain owl : intersectionOf rdf : rest [ rdf : first ?d ]]]}
[
[
4. UNION
∗
[
[
5. { helis : amountOfEnergy rdfs : domain owl : unionO f rdf : rest [ rdf : first ?d ]]]}
6. FILTER (isIRI( ?d)) }
在算法 2 中, 初始化一个空集合 Q, 用于存储映射后生成的数据属性三元组, 并对输入图谱中的所有数据属性
循环执行以下操作. 首先, 分别执行 SPARQL 查询语句获取数据属性 r d 的简单定义域语义声明 C domain_s 和简单值
域语义声明 C range_s , 其中, C range_s 存储为字面量的数据类型 (例如 xsd : double). 然后, 再执行 SPARQL 查询语句获
取数据属性 r d 可能存在的复杂定义域语义声明 C domain_c , 并执行 C domain_s 和 C domain_c 的合并运算得到 C domain . 最后,
将 C domain 和 C range_s 中的每一个元素通过当前数据属性 r d 进行链接, 映射生成三元组.
Domain(helis : amountOfEnergy) = helis : Food ∪helis : Meal (5)
Range(helis : amountOfEnergy) = xsd : double (6)
例如公式 (5)、(6) 所示, HeLis 本体中数据属性 helis : amountOfEnergy 存在定义域语义声明 helis : Food∪
helis : Meal, 存在值域语义声明 xsd : double. 当算法 2 中第 2 行循环至该数据属性时, 首先在第 3 行通过简单定义
域 SPARQL 查询 (如代码 3 所示) 和简单值域 SPARQL 查询分别获取简单定义域概念集合以及简单值域概念集
合, 其中简单值域 SPARQL 查询即将代码 3 中 rdfs : domain 替换为 rdfs : range 即可. 其次, 算法 2 第 4 行通过复杂
定义域 SPARQL 查询 (如代码 4 所示) 获取多个定义有交并操作的原子概念集合. 最后通过算法 2 中第 6–10 行映
射生成三元组, 具体如公式 (7) 和公式 (8) 所示.
⟨helis : Food,helis : amountOfEnergy,xsd : double⟩ (7)
⟨helis : Meal,helis : amountOfEnergy,xsd : double⟩ (8)
OWL 本体中数据属性的 domain 通常是单独由原子概念或多个原子概念的交或并构成, 而 range 是由具体字
面量值的类型构成, 例如浮点类型数据的类型为 xsd : double 或 xsd : float、整型数据的类型为 xsd : int、中英文
等字符类型数据的类型为 xsd : string. OWL2Vec*本体映射方法在处理数据属性时, 仅抽取了其 domain, 并没有抽
取 range, 且并没有将该类型三元组添加进语料库中, 直接损失了该类语义信息. 同时, OWL2Vec*本体映射方法未
能抽取由多个原子概念交或并构成的复杂 domain. 然而, 通过算法 2 可以有效同时解决上述两个问题. 首先, 算法 2
通过第 3–5 行能够同时获取数据属性简单和复杂的 domain, 并通过并集操作有效避免了原方法不能处理复杂
domain 的问题. 与此同时, 由于数据属性的 range 通常是由单个具体的 Datatype 构成, 则通过算法 2 第 3 行可以
实现获取数据属性的 range. 最终, 将抽取出来的三元组添加进三元组集合. 通过算法 2 的优化, 可以有效地补充原
本体映射方法所缺失的数据属性相关语义信息.
2.3.2 面向概念-属性-实例多视图的语义划分策略
经本体语义映射后, OWL 语义图谱 O 转换为由若干三元组构成的 RDF 图谱 G. 现有的知识表示学习方法, 例
如 OWL2Vec*等, 大多采用在 G 整图上进行随机游走的策略获取其图结构信息, 然而这样的策略在单次执行中将
会随机游走于多种关系, 难以捕捉到特定关系的层次信息, 反而可能在训练过程中引入噪声, 降低模型的嵌入表示
学习能力. 与现有方法不同的是, 本文提出的 MSV-KRL 充分考虑图谱中概念、属性和实例之间的类层级关系、
类实例关系、类属性关系、实例对象属性关系以及实例数据属性关系等多维度语义关联, 采用多语义视图划分机
制对 G 进行进一步解析, 实现在不同认知维度下的知识联合表示学习.
具体而言, MSV-KRL 定义了 5 类互斥的语义视图, 分别是: 类层级关系视图 T s 、类实例关系视图 、类属性
T t
关系视图 T c 、实例对象属性视图 T o 和实例数据属性视图 T d , 具体定义如公式 (9)–公式 (13) 所示.

