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) 所示.
   266   267   268   269   270   271   272   273   274   275   276