读书人

sparql查询特征【转】

发布时间: 2012-09-14 11:53:44 作者: rapoo

sparql查询特点【转】
语义 Web 为更轻松的数据集成开辟了一个新时代。当然,已经有很多现成的数据以各种不同的格式存在。要将所有这些数据转化成 RDF(语义 Web 使用的格式)将是一项庞大的工程,因此最好将已有的数据作为 RDF 公开。本文介绍了语义 Web 的核心概念和标准,阐述了如何将 LDAP 目录公开为语义 Web 应用程序可使用开放源码 SquirrelRDF 工具使用的服务。

本文的目的在于说明如何为 LDAP 目录创建可通过 SPARQL 查询的端点,同时介绍了重要的语义 Web 概念。建立端点之后,我还将说明如何使用一些 Jena Java? 类进一步完善,最后使用 JavaScript 从基于浏览器的客户端查询它,

语义 Web 是一种新出现的技术,它以表示数据、查询数据和对数据应用规则的一组标准为基础。核心技术包括用于表示的 RDF、用于查询的 SPARQL、用于构造的 RDFS 以及用于构造和推理的 OWL。语义 Web 有很多突出的优点,包括数据集成更简单、搜索更精确、知识管理更方便等等,结果语义 Web 这个词的含义越来越丰富。

RDF 和 XML 有一些重要的区别。首先,RDF 是基于图的,而 XML 是基于树的。RDF 没有明确的顺序,所有的边组成一个集合,而 XML 元素是有顺序的。最后,RDF 是一种不含标准序列化的数据模型。RDF 可以序列化成多种形式,包括 RDF-XML、n3、Terse RDF Triple Language等。清单 1 中的例子采用 Turtle 描述了关于两个人的一些联系信息。


String output = req.getParameter("output");if (output.equals("json")){ resp.setHeader("Content-Type", "application/json"); ResultSetFormatter.outputAsJSON(resp.getOutputStream(), results);}


支持 XSLT

可以向服务器上增加 XSLT 服务,通过外部 XSLT 服务处理查询结果,或者在 XML 输出重增加样式表链接。在 XML 输出中添加样式表链接,将 DE>com.hp.hpl.jena.query.ResultSetFormatterDE> 作为 XSLT URI 的新增参数传递,如清单 13 所示。这样不会执行转换,只是在生成的文档中包括到 XSLT 的链接。当 XSLT 处理程序(比如现代 Web 浏览器)准备文档的时候就会执行转换了(请参阅 参考资料)。


http://wingerz.com/who#wing1-555-555-5555

清单 13. 包括 XSLT
引用String stylesheet = req.getParameter("xslt");
if (stylesheet != null)
ResultSetFormatter.outputAsXML(resp.getOutputStream(), results, stylesheet);
else
ResultSetFormatter.outputAsXML(resp.getOutputStream(), results);

从 JavaScript 查询
中提供了可免费下载的 SPARQL JavaScript 库。主要用于处理 SPARQL DE>SELECTDE> 查询返回的 JSON 格式的结果。所幸的是,可以让 SPARQL 服务支持这种功能。该库背后最突出的思想是转换器的概念——SPARQL 端点的 JSON 输出包含一般客户机可能用不到的一些数据,比如某些数据类型信息。转换器将 JSON 输出转换成更容易使用的、更自然的对象。

读书人网 >互联网

热点推荐