关于语义Web的一些解释
星期五, 4月 28th, 2006一位叫Mingchi的朋友来信希望解释一些语义Web的东西,于是我们之间通了几封信。感到这些问题和解释可能对初次接触Semantic Web的朋友、特别是图书馆界的朋友会有一点用处,征得同意之后贴在这里:
我有在 http://blog.donews.com/ sayonly/archive/ 2005/10/28/ 605465.aspx看到您的comment,您在当中有提到一段话
「…浏览器对语义标注没有感知,所以才有RSS阅读器、FOAF插件等工具的开发…」
能请您方便多说几句吗?感谢
传统的搜索引擎只是把网站和网页内容当成毫无结构的文本,只进行非结构化的全文查询。而越来越多的网站呈现出来的内容无法反映其底层结构和层次,网页只是应用的外表,随着越来越多元数据标准和开放协议的应用,越来越多的应用以XML形式呈现数据,甚而由于语义万维网的开放要求而能够呈现底层的应用模型和数据结构,这就会给目前的搜索引擎带来革命性的变化,即产生更加智能的、基于语义的搜索引擎。而这种搜索引擎极有可能是由分布式搜索引擎簇提供个性化的查询、浏览(Web2.0时代的搜索引擎),其功能需求的人机界面也将是目前传统的浏览器所无法满足的。许多语义Web的”语义”无法经由传统的浏览器读到(浏览器对语义标注没有感知,所以才有RSS阅读器、FOAF插件等工具的开发)。
尽管目前还十分缺乏”杀手级”应用,但是开发诸如带PiggyBank扩展的浏览器是浏览语义万维网应用”显性化”的第一步。
语义Web的发展并不如人们的预期,就像语义Web专家James Hendler 说的那样,a little semantic goes a long way。万事开头难,工具与应用就好比鸡与蛋的关系,特别是人们对一大堆标准规范还不能一致理解,而且由于一些理想主义原则的驱使,这些标准规范还不足以搭建完整的应用。
我的解释:
是这样,目前的Web应用所传送的代码实际上已经远远超越了HTML文本,虽然显示给人的只有其中的html部分(或者通过CSS/XSL等方式动态生成的HTML),许多机器代码或具有特殊语义的代码(例如许多微格式)都需要浏览器插件或其他方式(ajax)进行处理,方能获取。RSS、FOAF、hCard、hCalendar以及许多格式都是一些特殊用途的XML/XHTML代码,需要本地支持(通常可以通过js、jsp、asp、ajax开发的浏览器插件,如greasemonkey或其他客户端代码),而且这些开发最好是基于标准的,这样才便于共享、使用、推广,但是标准的建立不是一簇而就的,除了技术因素之外,遵循开放精神、尊重现有标准、由应用推动等都是其中的因素。
进一步的问题:
…去年Google base推出时,很多人认为这是Google走向SW的一步,…看到网络上大部分人的说法,主要是说Goolge base提供了让用户创作与发布内容的平台,且事先针对使用者可能填写的内容作项目上的定义或规范 (如:Details、Labels、Description与Location),认为这有助于未来用户在Google base上的搜寻结果;但是我认知的是,其实像ebay等网站,过去也是提供一堆先定义好的项目字段 (价格、产品规格…等),供使用者填写,那这样有什么不同呢?为甚么很多人提到SW,都会提到Google base?
因为看到很多人在提到SW的话题时,好像都认为Google Base是迈向这一步的创举?在我的感觉,会觉得两者是类似的 (但都没人将SW跟ebay之类的网站扯在一起);当然明显的是,ebay着重在物品拍卖功能,Google base的范围广泛多了
我的讨论:
我对于被认为是SW的Google Base以及Google Swoogle等东西了解不多,我是这样理解的:
SW的特征并不在于是否进行了属性描述,传统的关系数据库应用都进行属性描述,你说的eBay就是这样,都要提供一定的功能让人进行”语义”检索。关键问题在于这种属性描述是否能够被机器识别,即你描述的”title”、”creator”等别的机器也要看得懂,或者知道你的”title”、”creator”就是他的”heading”、”author”,甚至知道你所参照的”creator=keven”就是指” http://my.donews.com/keven/”中的那个keven。
机器实际上是不可能”知道”语义的,机器对于语义的判断仅仅是”一致性”判断,不同来源的东西具有相同的URI,就认为是相同的,不同东西如果用isVersionOf, isPartOf等等,就指明了它们的语义关系。
由此可见,是不是SW的特征主要还是后台的:是否支持一种机器认可的语义编码(即RDF)以及是否建立形式化的语义关系(即利用OWL等本体语言)。我相信Google后台是这样做的,因为Google的野心是让大家都来建设内容,而它来整合大家的内容。它目前通过建立Google Base、Google Swoogle等平台让大家上载内容并进行语义注释(我们称为标引),将来eBay等其他公司如果支持SW了,它可以很快地集成到它的搜索体系中去。因为SW的标准是W3C的,是开放的,大家都会支持的。从这里可以看到Google的”险恶用心”。其他公司也肯定会相出种种办法维护自己的竞争力的,只是作为用户,希望不要破坏这些标准的开放性。
我的解释可能需要一些预备知识,对于没有计算机背景的朋友来说不够清楚。Mingchi朋友非常具有求知精神,而且非常乐意开动脑筋去考虑这些技术问题(最近在gtalk上也碰到一位好学的朋友,而且对于计算机已经具有相当专业的研究–居然已经读过”形式语言与自动机”之类的书籍,与我讨论语义Web的问题,并且询问了一大堆相关书籍说要仔细看看)。之后又收到他的来信:
我思考了一下,…Google base让用户在填写信息时,以结构化的方式去填写,若以SW的角度来看,目的在于方便后端的后设数据层去分析,来建立知识本体?
感觉如果SW成熟的话,似乎只要简单输入关键词,就会以现在大家常提的mashups方式呈现出搜寻结果,而这群mashups所秀出的搜寻结果,是以一种有意义的方式组合起来的…
我做了进一步解释:
原谅我没有说得十分清楚。Google Base会让用户以结构化的方式填写咨讯,eBay也会这样做,然而Google Base的后台是用RDF来存储这些咨讯的,而eBay可能用的是关系型数据库,这两者是本质的不同。当然eBay也可以把关系型数据库中的咨讯”翻译”成RDF形式,这就需要借助”后设资料”(我们叫”元数据”)的帮助了。如果需要更高级的功能就还需要知识本体Ontology。
如果SW成熟,Google Base就可以不仅查询用户在Google Base上存入的咨讯,还可以整合别家支持SW标准的数据,这可以看成是一种Mashup。
你的理解大致是不错的,我只是再多作一些澄清。








这样设计的好处是灵活性和可扩展性。将来许多新的功能(例如记帐事务、数据导入导出)都可以在这个协议基础上扩充,既可作为非标准应用,也可作为这个协议标准的升级。 SDLIP的设计主要基于下列目标: