W3C LLD(关联数据孵化小组)近期进展
感谢曾蕾老师邀请,28日中午参加了一场关联数据的网络会议(Agenda在此http://lists.w3.org/Archives/Public/public-xg-lld/2011Apr/0066.html),会议采用的工具以及整个过程挺有趣,此记录之。
网络采用的平台是W3C的IRC实时文本+电话会议方式,平台有两个机器人(Zakim和RRSAgent)可以掌控发言角色,安排顺序,最重要的是能自动生成会议记录,并发布在W3C的网站上。比如这次会议的记录会后马上就经过整理,发布在此:http://www.w3.org/2011/04/28-lld-minutes.html (IRC的记录:http://www.w3.org/2011/04/28-lld-irc)。
因为不舍得拨打国际长途,我通过曾老师用Skype转播参与了会议全过程,通过IRC的文字交谈功能算是参加了讨论和互动。会议时间控制得很好,原计划一个小时,基本上到点就结束了。参加会议的成员来自世界各地,美洲的正值午夜,亚洲的正午,欧洲的还在凌晨。会前大家都必须做好准备,用这种形式推动课题进展,效率极高。
Tom Baker作为DCMI技术应用方向的实际领路人,一直很看重W3C,很有W3C情结。近十年来DCMI的元数据运动离图书馆行业越走越远,随着万维网由技术导向向内容导向的转变,DCMI越来越走向万维网,成为Web语义化和知识化的核心内容之一。这个方向我认为是完全正确的,也是图书馆界的专业知识贡献于网络社会,在万维网上寻求类似定位的必由之路。老Tom在W3C中仍然要扛起图书馆大旗,于去年5月21日牵头成立图书馆关联数据应用的孵化小组(LLD:http://www.w3.org/2005/Incubator/lld/),联合图书馆、博物馆、档案馆等相关领域的关联数据先锋,共同探讨关联数据应用的可能性和巨大潜力,并努力为人们指明方向。。
这个小组凝聚了相关业界(图情博档)的技术精英,然而大家其实都是志愿者,每人都有自己的工作,平时相隔万里,托信息技术和网络社会的恩赐,把大家紧密联系在一起。据曾蕾老师说,基本上每周都召开课题组会议,所有计划、过程、进展、内容、成果都以一定方式在网上公布,其采用的技术工具也并非十分先进,甚至可以看成是网络应用的古董,不外是邮件列表、IRC、电话会议、wiki之类,我们上次召开上图学会第二届图书馆前沿技术论坛(关联数据)还用了非常先进的Cisco公司的WebEx会议系统,这类人士通常只把注意力集中在要做的事情上,对工具的选择有一些基本原则,例如一定要是开源(免得有知识产权等相关法律问题)、足够简单(方便绝大多数人使用)、功能够用并以提高效率为主要目的(额外工作例如后续加工工作尽可能用程序来完成)等等,对于花拳绣腿的功能一般都很漠视。
看起来这个小组的各项研究任务正按计划进行,已经取得了不少进展,然而距离其雄心勃勃的目标,看来还是有相当的挑战。根据其目前的研究框架(下述),点到为止是基本上没有问题的,但是能不能非常准确地拿捏到位,深浅适度且带来共识,还要看最后的结果。但是无论如何,这应该是图书馆相关领域技术应用前沿近年来最重要的进展了,希望不久的将来能够看到其成果集成应用到相应的解决方案中去。
目前的研究框架大致如下:
- 界定本课题的涉猎范围和主要内容,主要对一些基本概念进行界定,例如什么是本研究中所称的“图书馆”。对每一项研究而言概念界定往往是基础工作,是最重要的,尤其要在参与研究的成员之间达成共识,这样才能避免大家自说自话,最后再回头调整,出来的东西以其昏昏使人昭昭。
- 阐述应用关联数据技术能够带来的好处(主要向业界同行和“利益相关者”宣示),因为技术的隔阂和对于行业的职能作用及其未来前景的认识的不同。现在看起来这部分很难写,是最具有挑战性的。目前的做法似乎是从几个角度同时展开,从应用领域(图书馆、档案馆、博物馆、网络资源等)、用户角色(研究人员、教授、学生、开发者、机构、客户等)、技术方面的进步以及从用例中总结出来的好处。
- 现有的词表和数据集。曾蕾老师就主要牵头这部分内容。现在看来好像就这部分内容还比较成熟和确定,梳理得较为完整,但内容和很庞杂,看起来博大精深,选择和介绍到什么程度是个问题。目前似乎分两部分:属性(关系)元素所成的各类模式(元数据集),以及各类取值词表(包括领域模型中的各类实体),前者可以编码为OWL本体,后者可以以SKOS形式发布。
- 相关实现技术。这也是个挑战,因为关联数据本身是一个Web架构的问题,不是任何具体的技术问题,要实现这个架构可以有多种方式,实现的程度也不一样。具体而言,涉及到数据的转换、重新发布、与内容管理平台的结合、链接的管理维护、OWL等各类编码的实现、与关系数据库的关系、海量三元组存储库的管理、效率问题、SPARQL端点的实现、嵌入HTML(RDFa)的方式和工具等等,这部分目前看起来还很初级,但这部分内容涉及对技术方案的总结和梳理,提到了很多目前普遍采用的工具或方法(如D2RQ),值得尝试。
谁在乎关联数据?
- 大量的规范数据;
- 新的资源组织架构;
- 新的业务和服务模式;
- 对网络信息基础设施的改进;以及
- 由以上四点构成的新的图书馆行业凤凰涅槃。
那么谁又是利益相关者呢?
- 国家图书馆及国家文献标准化组织
- 各类图书馆联盟
- 大型地区性图书情报机构
- 各类数字图书馆建设主体
- 民间网络团体和商业公司
关联数据URI的参引
语义Web(关联数据)用URI来标识大千世界的各类“对象”,称这类资源为“非信息资源”;而对这些对象进行描述的网页文件、RDF文件以及各类图像、 音视频等特殊编码的文件等,才称为“信息资源”。尽管URI负责标识(命名)和定位对象,但具体描述、说明和承担起交流作用的,还是各类作为信息资源的文 件,因此如何通过URI获取与其相关的“信息资源”就成了关联数据在实现时必须解决的问题。

上述“对象”、URI和说明文件的关系,可用上图(来自这里)的三角形关系来表示。左下的真实对象一只黑猫,被认识为一个概念(三角形顶角)而可以用URI进行标识,这个概念可以以多种符号或方式进行描述(右下角,指代HTML网页、图片、RDF文件等)。这个关系构成了语义Web(关联数据)表达真实世界的认识论基础。
那么具体在Web上怎么实现上述模型的语义表达和传递功能呢?关键在于保证URI在作为非信息资源标识功能的同时,能够起到对描述该对象的信息资源(各类文件)的定位作用。关联数据给出的方案如下:
1、对于来自客户端的任何非信息资源所有URI请求(称为dereference,这里翻译成参引),均采用HTTP协议中的“内容协商”规则,返回其所请求的信息资源描 述文件(对于非信息资源的请求是无法返回具体实物对象的,只能以描述该对象的代码文件代替)。一般信息资源描述文件有两类:即如果请求来自于普通浏览器 (头信息中包含text/html请求,其它MIME文件类型,如图像文件、音视频文件等,可归入此类),则返回HTML文件的网页;如果请求为 application/rdf+xml,则返回负责该对象语义描述的RDF文件。
2、具体的“内容协商”方式,通常有两种方案达成:
1) 采用HTTP协议的303指令重定向功能(如下图所示)。客户端(浏览器)的URI请求由于不存在“东西”(非信息资源),服务器就会发送一个303 See Other给客户端,再由客户端根据重定向规则发送请求,具体根据客户端是HTML浏览器还是支持RDF的浏览器,决定HTTP文件头请求何种类型的文件 (HTML或者RDF)。
该过程的具体流程如下图所示:
URI重定向通常采用以下惯例:
(1)
http://www.kevenlw.name/kevenliu (ID)http://www.kevenlw.name/kevenliu.html
http://www.kevenlw.name/kevenliu.rdf
(2)
http://www.kevenlw.name/resource/kevenliu (ID)http://www.kevenlw.name/page/kevenliu
http://www.kevenlw.name/data/kevenliu
(3)
http://id.kevenlw.name/kevenliu
http://page.kevenlw.name/kevenliu
http://data.kevenlw.name/kevenliu
2) 采用带井号“#”(hash)的URI方式(如下图所示)。其井号前面的URI能够便于浏览器进行解析定位,而与后面带#号的片段标识符共同用来标识非信 息资源,该片段标识符同时起到了类似于重定向的功能,允许支持RDF的浏览器参引到信息资源文件(在这里是静态的RDF文件)的所需位置。这种方式要求该 片段标识符必须在RDF文件中是唯一的,且整个RDF文件不可过大,否则非常影响查询效率。
采用hash井号方式作为URI的例子如:
http://www.library.sh.cn/people.rdf#kevenliu
http://www.library.sh.cn/people.rdf#leonzhao
注:这里的“参引”(dereference),意指“为了获取引用资源的相关信息,在万维网上查找URI的过程。”
参考文献:
Best Practice Recipes for Publishing RDF Vocabularies. 见http://www.w3.org/TR/swbp-vocab-pub/
文档的Web和“东西”的Web
两年来一直想做一些关联数据的普及工作,总有一种无从下手的感觉。这个话题越来越热,有远洋师和雨师等的号召和书社会众社员的积极响应,感觉似乎时机成熟了,于是先放出风去,给自己一点不得不做的压力。
关联数据的概念想法其实很简单,但同时又很难让人理解,这是个很有意思的现象。是不是可以拿刘谦的魔术来类比,不知道的看不懂,知道了其实都是业内常见的trick。
前面的博文写了关联数据的n种定义,还没有完成远洋师的要求,远洋师希望解释两个问题:
1. 关联数据是Web of Data(数据的Web)的一种实现,而不再是Web of Documents(文档的Web);
2.实现关联数据的两种方式:采用HTTP303转向和采用hash(即井号#),各有什么优缺点。
要解释清楚这两个问题,一方面我还要加紧学习,另外对于书社会的广大社员来说也需要学习,因为要听懂对这个问题的解释,听众至少要达到前述定义中的第四级用户——Web应用开发人员——的水平,而且还要假设这类开发人员对于HTTP协议有一定的了解,而不是只利用现成的工具进行开发。我相信这样的用户太少了。为了使1-3级用户也能有所收获,就让我多打比方,慢慢道来吧。
上过网的朋友都知道,通过在浏览器的网址栏键入网址(即URL),就能传回网页。如键入这个URL:“http://www.kevenlw.name/about/index.php”,服务器接收到这个URL,以HTTP(超文本传输)协议来响应这个请求(之前还有DNS域名解析的过程,把域名转化为ip地址,略过不表),将about目录下的index.php文件传输给浏览器,并显示出来。
这个过程,涉及到Web技术的三个主要内容:HTTP、URL和HTML。
- HTTP是服务器操作的指令,规定了遇到各种请求(如GET/PUT/POST/DELETE)服务器如何响应,怎么处理;
- HTML是存储在服务器端的网页文件,将根据请求传送给浏览器,HTML的标准规定了文件的结构,允许包含丰富的超文本链接,并能嵌套各类其它文件格式,如果浏览器一端有相应的资源或程序就能够调用或运行。正是由于HTML,使整个万维网上布满了相互链接的文件,成为一个巨大的、不断膨胀的文件宇宙,这就是Web of Documents的来历。
- URL本来是作为在这个文件宇宙中定位具体的文件而用的,后来演变成兼具名称作用,从而被URI连同URN一起收入麾下,让URI一统江湖了。
一个由方案(scheme,或译为主题)、域名和路径组成的URI标识,从仅仅标识文档,到用来标识“任何东西”,看似简单的变化,其背后却是思考范式的变化,是哲学认识论层面的变化。(一个最重要的trick就在这里)。这个变化使得我们可以把大千世界的任何东西,都“投影”到万维网上,每个东西都有URI,都有对这件东西的描述(元数据)以及用数据表达的这件东西,这样,万维网就变成了一个数据的世界,其实构成了一个波普尔所称的第三世界(在我看来,这个概念和URI体系可以应用到物联网)。
可以看到,URI同时解决了命名问题和定位问题,然而在具体实现URI命名和定位时,该名称还有永久性和易实现的要求,路径作为某个“东西”的名称的一部分,就不能允许轻易发生改变,并且不同的软硬件平台和技术环境下都能够正确编码,这就是CoolURI的由来。
同时对于同一个对象,必须允许有不同的描述与表达方式,例如对于上面kevenlw的描述,既要有html文件(php可以认为是动态生成的html文件),通过浏览器显示给人看,又要有rdf文件描述kevenlw的各种性状属性以便机器获取相关元数据信息,如foaf文件:http://www.kevenlw.name/kevenfoaf.rdf。这两个文件其实描述的是同一个“东西”,因此不应该有不同的ID标识(注意:在这里是两个不同的URI,这是不规范的),必须在一个URI中区分这两类数据,同时让服务器有一种机制,能够自动地根据请求方的不同,传送不同格式的数据。
(下一篇再讲采用303转向和hash“#”两种实现方案各自的特点)。
什么是“关联数据”(定义进阶)?
以下针对不同知识背景的读者,分别给出了不同详略程度和专业程度的解释,供参考(并请提出意见):
1、普通网民(知道如何上网,希望对一些网络知识做一般性的了解)
关联数据是一种由国际互联网协会(W3C)推荐的数据规范,用来联接和发布各类数据、信息和知识,使互联网上的服务器能够基于内容进行检索而不是简单的全文检索(文字相同但含义不一定一样,会检出很多不准确不相关内容),从而更准确地分享和关联信息。
2、普通图书馆员(非IT相关专业大专或本科毕业,能利用网络查找信息或为读者提供服务,懂得MARC是一种元数据)。
关联数据是按照一定方法发布的数据,它直接以每个数据的网址作为它的名称(即其中只包含字母数字和左斜杠),并且数据不是一般的网页文件,而是由字段组成的元数据记录,字段描述中通常包含到其它数据的链接。
3、资深编目员或中级职称以上自动化系统管理员(长期从事编目工作或ILS维护工作,了解国际编目规范和图书馆相关技术的最新进展,参加过元数据相关知识培训或从事过相关研究)。
关联数据是按照一定方法发布的数据,它直接以每个数据的网址作为它的名称标识(即名称中只包含字母数字和左斜杠),并且包含以RDF/XML格式描述的元数据信息。由于RDF数据里包含了指向其它RDF数据的链接,因此能形成富含元数据信息的数据关联。
4、Web应用开发人员(具有IT知识背景,熟知最新Web技术,参与过Web应用的开发)
关 联数据是任何资源在万维网上发布的一种方式,以HTTP URI方式链接到一个以RDF/XML编码的数据对象,而不是一个其它任何格式的文档。其中URI决定了数据的唯一性和“可关联”性,RDF确立了数据的 语义和链接的实体。RDF文件中应该包含更多的由URI所标识的其它资源,即尽可能不使用“空节点(blank nodes)”少使用“普通文字(literal)”,并且包含以RDF/XML格式描述的、规范格式的元数据信息。空白节点(Blank node)是指没有全局ID的本地资源(没有定义命名域的URI,如ISBN, DOI),文字(Literal)指一个字串值(可以有类型以及语言属性)
5、语义Web研究者(熟知语义Web技术,有志于为互联网带来图书馆的知识服务)
关 联数据是由Web的发明人Tim Berners-Lee提出的一个概念,定义了一种URI规范,使得人们可以通过HTTP/URI机制,直接获得数字资源(Thing),从而实现一种 Web上的富链接机制。从本质上看,关联数据是将超文本链接(即文件之间的链接)转变为超数据链接(事物Thing之间的链接)。
TBL认为关联数据是实现Data Web的关键技术,应符合四个原则:
- 使用URI作为任何事物的标识名称,不仅是标识文档;
- 使用HTTP URI,使任何人都可以参引(dereference)这一全局唯一的名称;
- 当有人访问名称时,以RDF形式提供有用的信息;
- 尽可能提供链接,指向其它的URI,以使人们发现更多的相关信息。



