Page 240 - 《软件学报》2020年第9期
P. 240

陈德彦  等:专家视图与本体视图的语义映射方法                                                          2861


             约定 2 的含义是:无论是数据类型属性还是对象属性,根据其定义域所对应的概念所在的本体来确定该属
         性定义所在的本体.这样做的理由是:属性用于描述概念所代表的实例集合中的实例的特征或者这些实例指向
         其他概念代表的实例集合中的实例的语义关联,所以属性的定义理应与其服务的概念的定义绑定在一起.如图
         1(b)所示:将描述概念“人”的疾病和症状的属性定义在 O people 本体中,将描述 O medicine 本体中概念的属性定义也
         定义在 O medicine 本体中.
             某些情况下,可能需要通过导入其他本体中的概念,并对其属性进行扩展,使得属性定义和其定义域声明中
         的概念的定义位于不同的本体中.但通常情况下,在定义某个新的概念时,往往都会同时定义此概念的一些属
         性.此时,应尽可能将概念和描述此概念的属性(以此概念为定义域的属性)定义在一起,以避免属性的冗余定义.

         2.2   同一实例具有多种类型或角色
             健康医疗领域的专家可能构建如图 2(a)所示的专家视图,在多个概念的实例定义中同时包含了糖尿病、泌
         尿道感染等实例.而在本体视图中,每个实例对象的 ID 必须是唯一的,但多个 ID 不同的实例对象,在语义上可以
                                                                                    [6]
         是等价的.在本体视图中,某个实例对象也可以具有多种类型,或者属于由多种类型通过复杂类 构造方法构造
         的复杂类.
             约定 3.  在专家视图中,基于不同的语义类型定义了多个相同的实例时,在对应的本体视图中可以定义一个
         唯一的实例,并声明其具有多种语义类型.在进行语义理解或语义推理时,实例对象在具体语境下的语义类型由
         连接该实例的属性的定义域或值域的类型来确定.
             例如,图 2(a)所示的专家视图对应的本体视图如图 2(b)所示,其中,白色椭圆表示类和属性,灰色椭圆表示实
         例.下同.

                                                          med:medicine.di  rdf:type  rdf:type  med:medicine.ri
                        泌尿道感染        糖尿病                    sease                       sk_factor
                               是症状
                                                                  rdf:type         rdf:type
                                                                        med:medicine.disea
              糖尿病         症状          疾病       泌尿道感染                     se.risk_factors
                                                         “泌尿                           rdfs:label  “糖尿
                                                          道感  rdfs:label
                                            有风险因素                 med:m.07x16   med:m.0c58k  病”@
                                                         染”@                                 zh
                                                          zh            med:medicine.symp
             泌尿道感染        病因        风险因素        糖尿病
                                                                        tom.symptom_of
                                                                  rdf:type         rdf:type
                                                          med:medicine.s               med:medicine.di
                          糖尿病       泌尿道感染
                                                            ymptom  rdf:type     rdf:type  sease_cause
                             (a)  专家视图                                           (b)  本体视图
                                    Fig.2    Instance objects have multiple types
                                         图 2   实例对象具有多种类型
                           [3]
             下面为采用 Turtle 语法描述的 O medicine 本体的一个片段.
             1.   med:medicine.disease.risk_factors rdf:type owl:ObjectProperty;
             2.   rdfs:domain med:medicine.disease;
             3.   rdfs:range med:medicine.risk_factor;
             4.   owl:inverseOf med:medicine.risk_factor.diseases.
             5.   med:medicine.symptom.symptom_of rdf:type owl:ObjectProperty;
             6.   rdfs:domain med:medicine.symptom;
             7.   rdfs:range med:medicine.disease;
             8.   owl:inverseOf med:medicine.symptom.symptom_of.
             9.   med:m.07x16 rdfs:label “泌尿道感染”@zh;
             10.  rdfs:label “Urinary tract infection”@en;
   235   236   237   238   239   240   241   242   243   244   245