上次对RDF和OWL讲的不是很清楚,这次我再详细的讲一下。
RDF,资源描述框架(Resource Description Framework)
是一个用于表达关于万维网(World Wide
Web)上的资源的信息的语言。它专门用于表达关于Web资源的元数据,比如Web页面的标题、作者和修改时间,Web文档的版权和许可信息,某个被共享资源的可用计划表等。如果,将“Web资源(Web
resource)”这一概念一般化后,RDF可被用于表达关于任何可在Web上被标识的事物的信息,即使有时它们不能被直接从Web上获取。
RDF基于这样的思想:用Web标识符(称作统一资源标识符,Uniform
Resource
Identifiers或URIs)来标识事物,用简单的属性(property)及属性值来描述资源。这使得RDF可以将一个或多个关于资源的简单陈述表示为一个由结点和弧组成的图,其中的结点和弧代表资源、属性或属性值。
就是用所谓的三元组来表示,每个三元组由一个主体、一个谓词和一个客体组成。一系列这样的三元组被称为RDF图。这可以用具有一个节点和有向边的图来表示,在图中每个三元组用一个节点-边-节点的连接表示。
下面就是一个RDF图:
图1
如果你现在看不懂,别着急,听我慢慢讲。
先看一个例子:
有一个叫John
Smith的人创建了某个网页。如果用自然语言(比如英语)来陈述该事实,一种简洁明了的方式是采用下面这种简单陈述的形式:http://www./index.html
has a creator whose value is John Smith。
这个陈述里的不同部分用RDF术语来说就是:
能否理解?这就是用三元组表示一个事实(资源)的形式了。当然,还有一些问题,首先是在网络上,怎么唯一标识主体、谓词、客体;其次要用计算机可以处理的语言,来叙述它们。
当然是有办法了。第一个问题,用URL(Uniform Resource
Locator,同一资源定位符)就可以解决了。Web提供了一套更通用的标识符形式,称为统一资源标识符(Uniform
Resource
Identifier,URI)。URL是URI的一种具体形式。所有URI都具有共同的特征:即不同的人或组织可以彼此独立地创建并使用URI来标识事物。
第二个问题看起来更简单,我们只需要用XML来表示RDF就行了。
这里,也可以解释一下为什么URL和URI是语义网框架的第一层,XML是第二层。原因就在于此。
接着上面那个例子讲。上面例子creator和John
Smith都还没有用URI定义,我们这里用http:///dc/elements/1.1/creator
唯一标识creator,用http://www./staffid/85740唯一标志John
Smith。
有了这个,我们就可以用图来表示了:
图2
接下来,我们要用XML对其进行描述,以便电脑能看懂了。
1. <?xml version="1.0"?> 2. <rdf:RDF xmlns:rdf="http://www./1999/02/22-rdf-syntax-ns#" 3. xmlns:dc="http:///dc/elements/1.1/"> 4. <rdf:Description rdf:about="http://www./index.html"> 5. <dc:creator >John Smith</dc:creator> 6. </rdf:Description> 7. </rdf:RDF>
解释一下:XML不带行号的,这里用行号是为了方便。从第2行开始说起。2、3行都是对RDF的命名空间的声明,第4-6行才是RDF的主体部分。第4行中rdf:Description的起始标签表明某个资源描述的开始,然后标识了陈述所“about(针对)”的资源(也就是陈述的主体)。第5行是描述creator是John
Smith。第6行结束描述。看懂了吧。(当然,这里有些不太规范,客体John
Smith也应该用URI来表示的,如果换成URI来表示,XML的形式又有所不同,这里为了大家理解,还是没有用URI)
再回过头看图1,应该能看懂了吧。它用四句英语表示:
1. http://www./People/EM/contact#me
has a type which value is Person.
2. http://www./People/EM/contact#me
has a fullName which value is Eric Miller.
3. http://www./People/EM/contact#me
has a mailbox which value is mailto:em@.
4. http://www./People/EM/contact#me
has a personTitle which value is Dr..
好了,对RDF的讲述就到一段落吧。下面说一下OWL,这个更复杂!
OWL简单来说,就是对现实世界中的事物,用电脑可以理解的计算机语言建模,让电脑“理解”这些事物,同时根据属性进行推理。
OWL提供了三种表达能力递增的子语言,OWL
Lite、OWL DL、OWL
Full。我们现在常用的是OWL DL。
使用本体是为了用它进行关于个体的推理。为了在一种有效的方式下做到这一点,我们需要一种机制来描述个体所属的类以及这些个体通过类成员关系而继承得到的属性。尽管我们总能为个体声明特定的属性,但是本体的大部分能力在于基于类的推理。
我们重点讲一下OWL里面定义的属性,以及怎么根据属性做推理的。
属性特性
1.
TransitiveProperty传递属性。如果一个属性被声明为传递属性,那么对于任意的x,y,z:P(x,y)
与 P(y,z) 蕴含
P(x,z)。解释一下,比如地点(location)声明为传递属性,开封属于河南,河南属于中国,那么电脑可以推理出开封也属于中国。
2.
SymmetricProperty对称属性。直接解释,开封相邻着郑州,反过来,郑州也是挨着开封。
3.
FunctionalProperty函数型属性。如果一个属性P被标记为函数型属性,那么对于所有的x,
y, 和z: P(x,y) 与P(x,z) 蕴含 y = z。
4. inverseOf
逆属性。如果一个属性P1被标记为属性P2的逆(owl:inverseOf),
那么对于所有的x 和 y: P1(x,y) 当且仅当P2(y,x)。
5. InverseFunctiona
lProperty反函数型属性。如果一个属性P被标记为反函数型的(InverseFunctional),那么对于所有的x,
y 和 z: P(y,x) 与 P(z,x) 蕴含 y = z。
函数型属性和反函数型属性的差别就是,A=>B与A<=B的差别。一个是正方向推导,一个是反方向推导。一个函数型属性的逆(第4个属性)必定是反函数型的。(说实话,我自己都没有发现定义第5条的必要性。。。。。。)
这就是属性约束,还有属性限制,包括定义域限制(allValuesFrom,
someValuesFrom),值的个数限制等等。还有映射,类和属性之间的等价关系(equivalentClass,
equivalentProperty);个体间的同一性(sameAs);不同的个体(differentFrom,
AllDifferent)。还有布尔运算,这些确保了电脑可以进行最基本的推理。
现在的问题还是我说过的,并非没有工具,关键是人们如果构建本体取得一致。比如说“人”:我说人是会思考的社会性动物;你说人有大脑、有手会劳动;他又说人会有喜怒哀乐。我们可以理解,但是,如果是计算机,把这三种对人的描述放在一起,它推不出来我们说的是同一种事物。问题就这么简单,可是又如此复杂,复杂到没有什么好办法解决。
ps:
累死我了,写这篇文章,花了我2个小时。晕死。
晚上写新的专题了。不过语义网还没有结束,以后应该还有。
继续为自己做广告
本篇文章,由 郁郁前行-郑博
独家制造
|