Page 239 - 《软件学报》2020年第9期
P. 239
2860 Journal of Software 软件学报 Vol.31, No.9, September 2020
URI.例如,在这个 URI 引用“http://www.example.org/index.html#section2”中,符号#前面的部分为 URI,#后面的部
分为片段标识符.URI 引用可以包含 Unicode 字符,这就允许在 URI 引用中使用多种语言.因此,使用
URIrefs,RDF 实际上可以描述任何事物,并陈述这些事物之间的关系.在领域语义知识库中,除了不使用 URI 引
用格式表示的字面值以外,其余对象都为资源,包括概念、属性、语义关系和实例对象.
症状 rdf:type med:medicine.disea
人 症状 owl:Class owl:ObjectProperty
se
疾病 症状 rdf:type rdfs:range
rdfs:range rdfs:range rdf:type
pp:people.person.dis med:medicine.medi med:medicine.disea
疾病 ... ...
eases cal_trial.diseases se_cause.diseases
疾病 疾病
rdfs:domain rdfs:domain rdfs:domain
疾病
风险因素 医疗检验 疾病诱因 pp:people.person ... med:medicine.medi ... med:medicine.disea
cal_trial se_cause
(a) 专家视图 (b) 本体视图
Fig.1 Semantic mapping of resource names
图 1 资源名的语义映射
在本体视图中,资源 ID 采用 URIrefs 进行标识,只需要保证其唯一性即可,这个 ID 对于语义推理来说没有
任何语义贡献,因为推理是基于本体描述语言中定义的语义组件的语义(即本体推理)和定义的语义规则的语义
(即规则推理)来进行的.由于在 SKB domain 中,OB domain 中的对象规模相比 IB domain 中的对象规模少很多,几乎不是
一个数量级的,比如一个疾病概念下的疾病实例可能有几万种.所以一般情况下,可以对 OB domain 中的资源对象
取一个不重复的、有意义的人类可识别 ID.由于实例的规模非常大,对于 IB domain 中实例的 ID,要取一个不重复
的、有意义的名称比较困难,所以可以根据领域特定上下文或应用需求采用某种约定的编码规则,例如,健康医
疗领域中的疾病诊断的 ICD-10 编码 [22] 、临床操作的 ICD-9-CM 编码 [22] 等;或者取一个不重复的随机数,例如
Freebase [23] 知识库中的对象 ID 采用 MID(a machine identifier)进行标识,例如 ns:m.0c58k 表示“糖尿病”实例的
ID,ns 表示 Freebase 的默认名称空间.对于实例的人类可识别名称和描述,可以通过本体描述语言提供的标注属
性(比如 rdfs:label,rdfs:comment)去体现.
约定 1. 在 OB domain 中,概念和属性 ID 的命名规则如下.
• 概念:namespace:domain.concept;
• 属性:namespace:domain.concept.property.
其中,
• namespace 表示领域的名称空间(例如 med 表示 medicine 领域的名称空间);
• domain 表示领域 ID,名称空间内唯一;
• domain.concept 表示以领域 ID 为前缀的概念 ID,名称空间内唯一;
• domain.concept.property 表示以概念 ID 为前缀的属性 ID,名称空间内唯一.
这种命名规则约定,对于机器处理和人类理解都是有价值的.语义描述的原则是,尽可能清晰明确地描述所
有对象的语义(包括语义约束)及与其他对象的语义关系(包括语义约束).图 1(b)为基于约定 1 对这些概念间的
语义关系的定义,明确给出了属性的定义域和值域限定,无论对于计算机推理还是人类理解都不会存在歧义.
rdf,rdfs,owl 分别为本体描述语言 RDF,RDFS 和 OWL 提供的语义组件定义的名称空间前缀,med 和 pp 分别为本
体 O medicine 和本体 O people 的名称空间前缀,在本体模型的形式化描述中进行声明.
针对以上的问题 3),这里做出如下的本体建模约定.
约定 2. 如果属性的定义域所对应的概念定义在某个 O domain 中,那么也将该属性定义在此 O domain 中.