语义表达是不是一定要用RDF?
昨天参加了一场博士论文答辩,内容有关语义Web应用,论文架构很庞大,从基本概念、标准规范到元数据和本体的构建,到特定领域应用的实现和查询效果的比较等,感觉该童鞋很不容易。
答辩期间问了两个问题:
1、对于“语义”是如何理解的?机器如何理解语义?是不是Web加了元数据之后就是语义Web了?
2、如何对语义进行编码和查询?为什么没有试验用SAPRQLSPARQL进行查询?
第一个问题是因为论文中罗列了很多语义Web的定义而没有对语义进行定义,更没有说明语义是如何能被机器“理解”,保证机器理解的机制到底是什么?整篇文章给人的感觉好像是对于Web进行了元数据(语义)标注之后就是语义网了。
第二个问题是针对论文认为语义标注必须首先用XML进行结构化,RDF以及KOS转换的本体(OWL)起什么作用都没有明确说明,有点知其然不知其所以然的味道,后面更是没有提到语义Web查询语言SPARQL的独特作用,而是用SQL实现对语义数据的查询。
该 童鞋对于这两个问题的回答还是基本到位的,第一个问题她说到了语义就是所表达内容的含义,需要通过形式化编码才能被机器理解;第二个问题说需要用基于 XML的语义描述语言进行编码,因为在实验系统实现的过程中没有直接支持RDF的数据库系统,所以无法用SPARQL进行语义查询,等等。
这里想补充一些我的认识,有些认识可能比较绝对,对与不对大家可以批评指正。
1、 对于语义Web而言,RDF是基本的编码方式,是不是用了RDF可以作为具不具有明确外在的语义编码的判定标准。就是说,用了RDF,才能说是有语义的, 就像用了ASCII等字符编码标准才能进行文本编码一样。元数据可以不用RDF来表示,但是RDF是专门为了表达元数据而发明的语言(或者说框架或结 构),因为元数据就是“关于数据(主体)的数据(客体)”,主客体通过某种方式(谓词)相联系。这个问题在计算机界一直有争论,但是我这里对RDF的定义 是三元组方式,不一定是XML表达的三元组,也可以是其它方式(如N3等)表达的三元组,或者通过数据库方式能够输出三元组。本体OWL和SKOS都是基 于RDF的,因此它们肯定是表达语义的,而用XML自定义的任何表达方式,可以认为是系统内部局部的语义表达方式,到Web上就不具有可交换性了。因此它 虽然是结构化的,但不是表达全局语义的。
2、RDF是表达机器语义的必要条件,但并不充分。在语义Web中,必须结合URI机制,才能赋予任何一 个表达(资源)的全局语义,当然这个全局也仅仅是对于开放的Web来说的,这也就是URI能够解析的范围。任何一个局域网,无论其规模再大,都可能屏蔽这 种机器语义,而具有其独特的、更丰富的语义。因此,元数据和本体可以适用于比语义Web更广泛的领域,但到了Web上,这些内部语义如果要进行分享、重 用、交换,都有互操作问题。现有的技术架构、模型方案等,都是为了规范和减少这些互操作问题而提出。
3、采用了语义技术,语义Web就可能借助于SKOS或OWL等编码表达的概念体系,进行基于概念的检索,并可能进行知识挖掘和简单推理。SPARQL提供了强大的知识查询能力。
从理解XML到理解RDF,似乎在“思考范式”上要有一个转型。许多搞计算机的人都无法理解,对语义Web认识一直有一个障碍,就是“管它语义不语义,机器懂什么语义?系统只要能满足用户的需求,什么技术不能表达语义?”希望上述解释能够回答这个问题。
ty Said on 一月 13th, 2010 at 7:51 下午 quote
看得有点眼晕呢。
“用了RDF,才能说是有语义的,就像用了ASCII等字符编码标准才能进行文本编码一样。”
不赞成这个说法。博主是否把能行与可行、表达和解释,有些混淆了?
keven Said on 一月 13th, 2010 at 8:09 下午 quote
@ty, 何解?愿闻其详。
ty Said on 一月 13th, 2010 at 8:39 下午 quote
@keven, 不知我是否误解了你想表达的原意。我觉得,既然话题从“对于‘语义’是如何理解的?机器如何理解语义?”切入,应该属于能行性或理论可行性的探讨。那么,我的理解是,RDF及其现有的相关技术,只是许多可能方案中的一种。
“RDF是语义网的必要条件”这样的命题,只有在现实的技术条件、环境下讨论才有意义。
keven Said on 一月 13th, 2010 at 9:57 下午 quote
@ty, 谢谢回复!可能我还是没有理解您的理解,这也可以看成是语义互操作问题了。
由于答辩的这篇论文是关于语义Web的,因此这里所探讨的“语义”(包括问题中)都是限定在语义Web范畴内(文中也有限定:“对于语义Web而言,RDF是基本的编码方式…”)。目前我还真不知有其它得表达语义的方案,可否指点一二?
ty Said on 一月 14th, 2010 at 12:31 下午 quote
@keven, 哈哈,语义就是某种表达的前提——问题在于这两句话的区别:
“对于语义web,RDF是基本的编码方式”
“语义web,是指以RDF为基本编码方式网络形式”
我本人,不赞成后一个命题,所以,我不赞成你博文中“用了RDF,才能说是有语义的”,即使现在没有任何RDF之外的解决思路。
keven Said on 一月 14th, 2010 at 6:42 下午 quote
@ty:是的,我也不相信人类是唯一的高等生命,但是至今还没有找到其它的智慧生命。就让我们共同努力吧!
beefsteak Said on 一月 17th, 2010 at 10:18 上午 quote
有了SNS,都好久没逛K师大本营了。
图书馆网络中心 Said on 一月 19th, 2010 at 11:31 上午 quote
微软近期推出了OData(Open Data Protocol ),这个跟RDF很相近,而且微软也提供了一些工具支持,也许以后这个标准会更受关注。
详细网址:http://www.odata.org/
kiko555 Said on 二月 5th, 2010 at 12:09 上午 quote
您的問題二,SAPRQL似乎應修正一下~
另外~弟贊同你所提到對數據本身進行描述~
不等同於語義的建立….
語義的建立是需要透過SKOS或OWL等,
描述關係的技術來達成,
唯有建立這些關係後,才可算是語義網的雛形~