系的查询,最终以三元组方式提供可视化的查询结果,并可将查询结果定制为XML、XML+XSLT、JSON等多种web服务格式,见图16。
图16 SPARQL查询端点
查询必须遵循标准的SPARQL语法,例如要查询含有指定关键词的资源 “Conference”,可输入以下命令,返回结果见图17。
SELECT DISTINCT ?resource ?value
WHERE { ?resource
ORDER BY ?resource ?value
图17 查询结果示例
5.2用户测试及反馈的意见
目前,语义扩展模块在一定的范围内进行了应用,并邀请了相关人员进行测试,主要测试内容见表6。这些测试用户涵盖了老师、学生和科研人员,基本都具有相关专业学科知识背景,能够本着真实性的基础上对系统提出一定的反馈意见。
26
表6 主要测试内容
姓名 付晶园 苏 兴 申晓康 曹 静 梅利荣 冯 飞 李超群 荆彦铭 姚晓娜
单位
兰州商学院老师 河北金融学院老师 近代物理研究所学生 兰州大学学生 近物物理研究所学生 兰州大学学生
广州点开科技软件公司java程序员 大连莱力柏自控技术公司软件工程师 兰州分馆信息系统部馆员
测试内容 基本功能测试 基本功能测试 HTML浏览访问测试 HTML浏览访问测试 RDF浏览访问测试 RDF浏览访问测试 RDF关联链接测试 SPARQL查询测试 SPARQL查询测试
目前,用户反馈回来的意见和建议主要有以下几个方面: (1)基本功能可用,运行良好,性能稳定。 (2)访问和浏览时界面简洁,使用方便。
(3)可以通过相关标注的标签了解到该资源属性的具体含义。 (3)可以通过点击链接访问到某一资源的上下位信息。
(4)可以通过点击链接访问到某一资源在相关数据源中的描述信息。 (5)总体数据量比较少,希望能够进一步扩充并丰富数据资源。
(6)SPARQL对关联数据检索的灵活性的确比较高,检索结果是可视化的,并可将检索结果定制为XML、XML+XSLT、JSON等格式。 (7)SPARQL查询太难,没有一定的语法知识,很难在短时间内构造到正确的查询语句,建议可以将SPARQL查询作为后台处理,前台封装为普通的SQL查询界面展示给用户。
鉴于用户反馈的建议,项目组除了进一步丰富了数据资源之外,保留了原来的SPARQL查询端点,重做了基于JSP和SQL的RDF的普通用户查询界面,如图18示。用户可以任意输入检索词或者精确的查询ID号并生成相应的RDF格式的查询结果。例如输入“semantic”,得到的RDF文件如图19示。
27
图18 RDF的普通查询界面
图19 RDF格式的返回结果
6结论
根据用户测试和反馈的意见,结合本项目在开发和实施过程中出现的问题,笔者总结出以下几点经验和看法:
(1)从整体上来看,本项目已经完成了项目的预期研究目标和内容,并以实验设计的
28
方式证明了项目所研究的技术和方法的合理性和可应用性。但从实际的应用层次来看,本项目还只是一个初步的实验框架,要想真正地将关联数据技术应用于机构知识库的语义扩展还需要投入更多的时间资源和人力资源,更深入地对相关技术和工具进行实际地应用测试和二次开发。从用户的角度来看,关联数据的最大好处是可以提供多个分布式异构数据源的整合的关联的访问,希望能够做到点击的次数最少,而获得的内容最丰富最详实。而从开发者的角度来考虑,是需要将来自不同数据源的统一对象进行集成,返回关于该对象的所有相关信息的同一对象的统一视图,不仅希望能够充分利用现有数据之间的关联关系,而且时刻根据实际需要实现与Web上得高质量的数据建立新的关联关系。从概念层次上看用户的需求和开发者的做法,好像是统一的,然而在具体的实施中,却往往不尽人意。目前,由于技术上得限制,将已有的数据生成、转换、发布为关联数据并不难,难在于如何组织关联数据、利用关联数据去为提供更符合用户常规使用习惯更为直观的服务方式。本模块虽然提供了基于实体、基于类和属性的可视化浏览方式,但本质上还是需要用户具有一定的学科知识背景才能更好地驾驭,无形中将适用对象和范围限定到了科研人员、教师和学生,使得项目潜在用户的应用范围并不是很广。进一步的研究中可考虑借助solr分面浏览技术以及可视化浏览技术等,提供更加人性化的浏览方式。
(2)权衡项目使用开源工具D2RQ的优点和代价。对项目人员来说,在了解开源软件架构的基础上,使用开源工具可以缩减编程的工作量,降低设计的复杂性,提高项目开发的成功率,从而在有限的时间内更便捷更快速地设计和实现目标模块的原型系统。本项目选择使用D2RQ开源工具的最大优点是只需要做极少的设置和配置调整,就可以自动生成映射文件。通过人工干预对映射文件进行修改和调用,就可以将原有的数据源公开为RDF,提供SPARQL查询端点,并且直接集成了对Jena和Sesame语义web框架的支持,很容易被其他语义web应用程序快速集成和调用。由于动态环境下底层数据经常会发生变化,针对查询进行转换能够反映数据库中得真实数据内容,因而这是能够解决动态性问题的少数几种公开为RDF的方法之一,也是唯一一种能够完整地建立虚拟RDF图的方法,且该虚拟RDF图很容易被访问和装载。然而,使用D2RQ开源工具也会给项目造成一些问题和缺陷。主要有以下几点:
①D2RQ使用的是一种JDK编译生成的配置文件,当RDB模式发生变化时,该文件需要重新映射和修改。事实上关系数据库结构和模式的变化通常是一个重要事件,因此尽管需要重新生成映射文件,但仍然能够为开发者所接受。
②公开的RDF接口几乎是数据库结构的一个精确映像,可能包含面向具体应用程序和工作的信息,如管理元数据的信息。解决的方法之一是将一般管理元数据的信息和数据库中重要实体如论文、作者等相关元数据的信息分开存放,并以外键形式进行关联,在映射的时候屏蔽掉管理元数据的实体类和对象即可。
③SPARQL查询语法难以掌握。正如用户测试反馈回来的意见所述:“SPARQL查询太难,没有一定的语法知识,很难在短时间内构造到正确的查询语句”。对于项目的SPARQL查询端点来说,一般适用于第三方用户如机器用户或其他科研应用程序对其进行调用,并不使用于普通人工用户的查询。对于人工用户来讲,这一般要求用户对底层的关系数据库模式有较为细致的了解,并具备一定的SPARQL语法知识,才能够构造可用的查询语句。然后目前,SPARQL又是查询RDF关联数据图的最有效的方法之一。一些大型的数据集,基本都是利用D2RQ的服务组件D2R Server构造和开放自己的SPARQL查询端点,包括前文所述的DBpedia
[33][34]
的查询端点、DBLP的查询端点、Chris Mungall (Berkeley Drosophila Genome Project)
[35]
为Gene标注本体开放的查询端点等都需要基于SPARQL语法构造相应的查询语句。项目组也试着按照用户测试反馈的建议,将SPARQL语法构造的查询作为后台的处理语句,前台封装为基于SQL的查询界面,但对于返回结果的处理就只能返回静态的RDF格式的数据,在一般不能实现基于三元组的可视化浏览。
29
④D2RQ以及其他很多对关联数据支持的开源工具的最大缺陷在于缺乏对其的支持和发展。D2RQ在操作数据时,会将整个后台数据导入到内存模型中,在数据量大的情况下,可能会出现内存溢出问题,也会使映射文件的加载非常缓慢。目前很多基于关联数据进行语义扩展的项目在从政府基金支持的研究项目过渡到切实可行的商业化产品的过程中都发展缓慢,甚至陷入停滞。其中最大的原因是目前国内围绕语义Web和关联数据项目所开展的业务活动层次仍然很低。尽管如此,但是需求旺盛的用户群体仍然存在,那些作为前沿研究领域的专家和学者们一直在渴望并努力地推动者这些项目的持续发展。这为项目后续研究中改进上述问题,并提出尽可能实际的解决办法奠定了基础。
因此,进一步的研究中可考虑选择一些更合适的开源的软件工具,建立更为完善的安全数据监测机制和更新机制,以保证对语义化研究和应用方法的可持续性,并进一步深入研究机构知识库内部语义关系以及机构知识库内部与外部知识库的关联关系。总体的研究表明,关联数据组织方式灵活,数据格式简单,借助于开源工具能够和目前主流的关系数据源进行交互,并快速地形成一定规模性应用。因而如果能够进一步地合理地利用关联数据,真正将关联数据技术融入现有的用户知识群组配置技术中,它就能够为机构知识库在内容组织、资源组织方式上提供更为丰富的功能支持和语义发现服务,对未来提高机构知识库的服务能力有着重大的意义。同时也为加速国科图实现从基础服务版的机构知识库到语义集成资源版的机构知识库的发展蜕变奠定了基础。
30