2002-08-23 10:04
知识管理的基本XML和RDF 技术(五):定义RDF和DAML+OIL图示
Uche Ogbuji (uche.ogbuji@fourthought.com)
首席顾问,Fourthought, Inc.
2002 年 3 月
Uche Ogbuji 继续定义问题跟踪应用程序的 RDF 与 DAML+OIL
图示,继续同以前一样讨论建模。
在本专栏的上一篇文章中,我讨论了诸如 RDF 这样的 XML
知识管理系统是如何另辟蹊径解决数据设计与建模这些老问题的。我的目的是要准确说明问题跟踪程序包的模式,我曾使用问题跟踪程序包来演示将 RDF 同 XML
应用程序一起使用。现在,我将以 RDFS 和 DAML+OIL 形式完成问题跟踪程序模式的定义。
这里,同样需要熟悉 RDF、RDFS 和 DAML+OIL。写完上一篇文章之后,我已与同事 Roxane Ouellet 一起发表了 DAML+OIL 简介(请参阅参考资料),因此,您再也不用埋头翻阅厚厚的规范来掌握它了。
请继续
言归正传,下面给出的清单 1 是问题跟踪程序的完整
RDFS。
清单 1. 问题跟踪程序的 RDFS 模式
http://www.w3.org/1999/02/22-rdf-syntax-ns#">
http://www.w3.org/2000/01/rdf-schema#">
DESIGNTIMESP="17718">http://rdfinference.org/schemata/issue-tracker/">
http://purl.org/dc/elements/1.1/">
]>
xmlns:rdfs="&rdfs;"
xmlns:it="⁢"
>
An optional collection of resources
for which issues have or can
be defined. Use dc:relation to associate the
catalog with its
resources.
A
problem, suggestion or other matter for action or discussion
relevant to a
resource. Use Dublin Core properties for
base
description.
An
action to be taken with regard to an
issue
Specify the party to whom the action is
assigned
您会注意到发生了一些变化,包括使用的名称空间也发生了变化。遗憾的是,我们不会象解释我们以前的 RDF 示例没有使用任何定义的类那样详尽地解释这些变化。这一模式表示了 RDFInference.org 的问题跟踪程序当前正在使用什么,包括由于各种原因所做的变化。我将稍后提供实例 RDF 的相应更新。
我也采用了一些词法约定:首先,我将所有的名称空间 URI 定义为 DTD 内部子集中的实体(这一约定是我从 Ouellet 女士那里学来的),这一约定减少了错误并改善了可读性。于是,我只使用 rdf:about,而不再使用 rdf:ID,在艰辛地经历了与对包含文档的假设 URI 解析 ID 有关的所有缺陷之后,最近,我采用了这一约定。请注意,只有在能确保有一个显式的 xml:base 声明,以及需要互操作性的所有 RDF 处理程序都支持 XML 基础时,我才使用 rdf:ID。
Catalog 类提供了一种方法,来聚合所有拥有问题或允许用户为其创建问题的资源。这主要为应用程序提供便利。请想象一下跟踪程序的一个基于 Web 的表单。它可能有一个感兴趣资源的下拉选择框。一种填充该列表的方法是从给定的目录检查所有 dc:relation 语句的对象。而我将要提供的 DAML+OIL 模式则演示了另外一种方法。
还有其它几个小小的变化,例如为了词类更一致的使用,将“assigned-to”重命名为“assignee”。除此之外,在这一模式中没有什么值得奇怪的,好了,让我们继续了解 DAML+OIL 版本。
DAML 的特点
DAML+OIL 是一个模式系统,它提供了对 RDFS
的关键改进,其中包括一个内置的数据类型确定系统、枚举支持、特性专门化以及通过推论进行分类与确定类型。它也超出了纯粹的示意图,它允许我们定义存在(ontology),我们对概念的理解大概就是这样的,但是目前我们主要还是使用基本的示意功能。清单
2 是类似于清单 1 的问题跟踪程序的 DAML+OIL 模式。
清单 2. 问题跟踪程序的 DAML+OIL 模式
http://www.w3.org/1999/02/22-rdf-syntax-ns#">
http://www.w3.org/2000/10/XMLSchema#">
http://www.w3.org/2000/01/rdf-schema#">
http://www.daml.org/2001/03/daml+oil#">
http://purl.org/dc/elements/1.1/">
DESIGNTIMESP="17861">http://rdfinference.org/schemata/issue-tracker/">
]>
xmlns:rdfs="&rdfs;"
xmlns:daml="&daml;"
xmlns:xsd="&xsd;"
xmlns:it="⁢"
>