SPARQL查询的特点

上传人:gao****ang 文档编号:121646892 上传时间:2022-07-19 格式:DOCX 页数:11 大小:14.97KB
收藏 版权申诉 举报 下载
SPARQL查询的特点_第1页
第1页 / 共11页
SPARQL查询的特点_第2页
第2页 / 共11页
SPARQL查询的特点_第3页
第3页 / 共11页
资源描述:

《SPARQL查询的特点》由会员分享,可在线阅读,更多相关《SPARQL查询的特点(11页珍藏版)》请在装配图网上搜索。

1、SPARQL查询的特点语义网开创了数据集成的新时代当然,已经有许多不同格式的现成数 据。将所有这些数据转换成RDF(语义网使用的格式)将是一个巨大的 工程,所以最好以RDF的形式公开现有的数据介绍了语义网的核心 概念和标准,阐述了如何将LDAP目录作为一种服务公开,语义网应 用程序可以使用开源的SquirrelRDF工具。采用了通用灵活的RDF(资源描述框架)标准,为数据共享和集成开 辟了一个新时代。RDF的特性使得跨不同数据源合并数据和查询变 得很容易大量数据以其他形式存在,如XML、关系数据库和LDAP 目录。RDF非常灵活,可以完全表达这些格式。然而,将现有数据 转换成RDF是一项巨大而

2、昂贵的任务,并且在许多情况下是不必要 的。一些工具可以将现有数据公开为网络端点,这些端点可以通过语 义网的查询语言SPARQL进行查询SquirrelRDF就是其中之一。这个 开源工具(参见参考资料中的链接)是耶拿语义网框架的一部分。本文的目的是解释如何为可以通过SPARQL查询的LDAP目录创建 端点,并介绍一个重要的语义网概念。在创建了端点之后,我还将解 释如何使用一些耶拿 Java。班级得到进一步提高。最后,使用 JavaScript从基于浏览器的客户端进行查询。什么是语义网?语义网是一种新兴的技术,它基于一组表示数据、查询数据和对数 据应用规则的标准核心技术包括用于表示的 RDF、用于

3、查询的SPARQL、用于构造的RDFS以及用于构造和推理的OWL。语义网 有许多突出的优点,包括更简单的数据集成、更准确的搜索、更方便 的知识管理等。因此,语义网这个词的含义越来越丰富(参见参考资 料中关于语义网标准的更多信息)RDF是语义网的基础:一种将数据表示为有向加权图的标准资源是 以全球唯一的、可解析的URI标记的实体图中的节点是资源和单词。 节点由有向边连接,边用谓词标记。图表可以序列化,列出图表中的 每条边。每条边称为一条语句,有一个主语:边的源点)、一个谓语(边 的标签)和一个宾语(边的汇点)因为每一个命题都有一个主语、谓语和 宾语,所以也被称为三元组每个命题的主题必须是一种资源

4、谓词也是 资源。命题的对象可以是资源或文本。RDF和XML之间有一些重要的区别首先,RDF是基于图的,而XML 是基于树的RDF没有明确的顺序。所有的边形成一个集合,而XML 元素有一个顺序。最后,RDF是一个没有标准序列化的数据模型。RDF可以序列化为各种形式,包括RDF-XML、n3、简洁RDF三重 语言(海龟,参见参考资料)等。清单1中的示例使用海龟来描述两个 人的一些联系信息。清单1。RDF 前缀的示例:.afoaf:人;foaf:name foaf:mbox。foaf:phone foaf:knows;电话第一行定义了数据前缀,因此可以缩写为您可以指定多个前缀此外, 海龟使用分号(D

5、E ); DE )意味着后续行中的谓词和对象使用相同 的主语。谓词是一个RDF类型的谓词(谓词粘贴到目标图URI字段 中)输入查询并单击获取结果后,将检索并查询海龟文件。SPARQL有四种类型的查询:DE SELECTEDE :返回一组满足查询的变量绑定(类似于SQLDE SELECTDE )非常适合生成供应用程序使用的数据DE 构造者 :返回一个图(一组RDF命题)适用于检索和转换RDF返 回一个布尔值,指示查询结果是否存在de 描述符:依赖于实现接收资源并返回描述该资源的图形清单2演示了 DESELECTDE 查询清单2。示例查询:前缀Foaf:选择?人?电话:?个人foaf:姓名?电话?

6、 phone 结果:-| person | phone |=二合并数据非常方便,因为CONSTRUCT图中的谓词不一定与原始图中的相同。这个列表查询的是电话号码,但是一个新的图表是在它的位置使用不同的谓词构建的清单3。SPARQL CONSTRUCT查询示例:前缀 FOAF:前缀风:CONSTRUCT (?个人foaf:姓名?办公室电话?电话哪里?个人foaf:姓名?电话?如何定义phone结果:foaf: phonede ?您可以访问代码/foaf/0.1/电话代码数据的结构不受限制XML是分层的,在关系数据库中建模(和查询) 图形结构非常困难。SPARQL不需要设计数据访问接口搜索应用编程

7、接口(如搜索员工) 通常要么功能非常有限,要么过于复杂。数据易于合并合并数据(不同的图)是一个简单的操作,只需要建立 一个包含图中所有三元组的集合。世界上唯一的资源减少了歧义如果 有必要,OWL规则可以用来将不同URIs的资源映射到同一个URI可以添加结果(使用RDFS和OWL),但结构不是强制性的向资源添 加未指定的属性不会使数据无效它也不会破坏与数据交互的现有代 码。SquirrelRDF 入门Jena语义网络框架包括RDF存储和查询执行组件SquirrelRDF是一 个工具,它公开关系数据库和LDAP中的数据,以便通过SPARQL 进行查询本文主要讨论SquirrelRDF的LDAP组件

8、。(有关这些项目的 更多信息,请参见参考资料LDAP目录本身的结构可以很容易地转换成RDF每个LDAP对象类 都有一组属性其中一些属性指向文字值(如名称),而其他属性指向其 他对象(如由DN指定的工作区)下载SquirrelRDF源代码耶拿也是必需的(下载推荐版 本)SquirrelRDF主页详细介绍了所需的各种信息(参见参考资料)安装后,第一步是找到LDAP存储模式如果没有要测试的LDAP存储, 您可以安装OpenLDAP并按照说明创建一个简单的地址簿(请参见参 考资料,尽管这可能不是必需的,因为本文的目标是利用现有的数据 源)该模式包含所有不同的对象类及其属性可以通过分析属性来确定目录中对

9、象之间的关系。这个例子使用了一个非常简单的LDAP模式其中,德人类包含一 些基本属性(如姓名和电话),并指向另一个对象类德 办公地点 德De 办公地点包括名称、两个街道地址字段、城市和州“人员” 也有一个指向另一个“人员”的经理属性现在创建从LDAP模式到RDF的映射SquirrelRDF使用RDF文件 来表示这种映射谓词指定了 LDAP存储的位置映射允许分配两种类 型的RDF谓词:文字对象或资源对象姓名和电话等基本属性被映射到 文字对象谓词中。这种类型的映射需要LDAP属性名和RDF谓词名 然后,您可以将它链接到资源假设需要映射到清单4创建了一个要链 接的资源,然后将它链接到配置资源清单4。

10、SquirrelRDF文本映射 前缀 Foaf:。 前缀 Lmap:。Lmap:Mapprop:NameMapping .:NameMapping Lmap:PropertyFoaf:Name; Lmap:属性请注意,将这些连接在一起的URIs是不相关的,可以用空白节点代 替,即没有URIs的资源它不同于空白的URI的资源,并包括这些资 源。空白URI是一个相对URI,因此解决海龟文件的位置清单5用一个空白节点替换了资源,并用方括号表示两个命题片段 都使用了一个空白节点主题。这些方括号出现在谓词之后,表示空节 点是命题的对象。清单5。SquirrelRDF文本映射到一个空节点 prefifaf

11、:。 prefif map:。lmap:maps proplmap:propertfaf:name;要映射指向专有名词的LDAP属性,您可以将 空白节点的类型指定为这确保了分配的谓词指向资源(而不是文本) 清单6显示了完整的配置文件,包括两个属性默认情况下,LDAP属 性分配个文字资源谓词请注意,如果可能的话,最好使用现有的谓词,这 里使用了一些FOAF本体的词汇这里还有一个位置术语表,但是这里 没有用到。清单6。映射前缀RDF:。 前缀 LMAP:。前缀人:。前缀OL:。A LMAP:地图;lmap:服务器;#个人属性Imap:映射lmap:属性 foaf:名称;lmap:属性 lmap:M

12、apSproplmap:property foaf:phone;lmap:attribute lmap:MapSpoplmap:property people:ol;lmap:属性; a lmap:ObjectProperty; ; lmap:mapsProplmap:物业人员:经理;lmap:属性; a lmap:ObjectProperty;# OfficeLocation 属性 lmap:mapsProplmap:属性 ol:address 1; lmap:attribute lmap:MapSproplmap:property ol:address 2; lmap:attribute

13、lmap:MapSprop lmap:property ol:city; lmap:属性 lmap:MapSproplmap:property ol:state; lmap:attribute lmap:MapSproplmap:property ol:Postal Code; Lmap:属性。实验映射SquirrelRDF为运行SPARQL查询提供了命令行工具在进一步开发 之前进行测试是一个好方法将清单7中的查询保存到一个文件中清单7。测试查询(测试。前缀:选择?人?电话:?个人foaf:姓名?电话?电话运行。查询代码 以代码 dw.ttlDE (映射文件名)和代码 test.rqDE (查

14、询文件名)作为参数你应该得到某人的URI和电话号 码。如果你更进一步,清单8查询在一个州工作的所有雇员(可能很多) 请注意,搜索者的姓名和城市被查询。清单8。测试查询(test2.rq)前缀foaf:选择?人?城市?说出?人名?名字。?人物:ol? officelocationo? officelocation ol:state ol:city?城市 将SquirrelRDF设置为服务我们希望将SquirrelRDF设置为一个HTTP服务,以便网络客户端 可以使用它SquirrelRDF是分布式的,它使用一个简单的Servlet来公开HTTP 服务端点。ServletDE )它可以用任何你喜欢

15、的Servlet容器来构建。 允许在测试之前对查询网址进行编码,并将其作为一个参数传递访 问。对象知道它是什么类型的查询,因此它可以用来确定de com . HP . HPL . jena . query . engine 1 . queryengende 应该做什么。不同的 查询类型返回不同类型的数据:德 ASKDE 返回布尔值,德构造 德和德描述返回图(技术上,返回图的包装模型德),德选择德 返回结果集清单9。处理其他类型的 SPARQL查询。 intquerytype = q . getquerytype();模型 m =空;开关(QueryType)案例查询。QueryTypeAsk:

16、布尔 b = QE . ExecAsk();字符串=ResultSetFormatter . AsXMLString(b); resp . SetHeader( resp . GetOutputStream()。write(str . GetBytes(); 休息;案例查询。查询类型构造:获取模型。m = QE . ExecConstruct();resp . SetHeader(模型可以序列化自身。序列化格式可以作为参数传入,默认是以RDF/XML的形式写 出。m . write(resp . GetOutputStream(); 休息;案例查询。query TypeDescript:m =

17、 QE . ExecConstruct();resp . SetHeader( m . write(resp . GetOutputStream(); 休息;案例查询。查询类型选择:结果集结果=QE . ExecSelect();resp . SetHeader(ResultSetformatter . OutputsXMl(resp . GetOutputStream(),结果);休 息;获取JSON输出JSON是一种数据序列化格式,可用于创建带有JavaScript计时器的 对象JSON经常被用作一种网络数据访问格式,因为基于JavaScript 浏览器的应用程序可以使用结构化数据,而不需

18、要解析XML数据(参 见参考资料)清单10显示了清单2和3的JSON格式结果清单10。JSON查询结果 de com . HP . HPL . jena . Query . resultsetformade 工具类用于输 出SPARQL查询结果清单9使用它以XML格式输出结果(查询)结果 也可以是RDF格式的。毫不奇怪,使用这个工具类还可以将结果绑 定到JSON,如清单11所示清单11。将JSON添加到SPARQL查询支持字符串输出=请求。GetParameter ( if(输出。等于(RESP。setHeader(ResultSetFormatter。RESP。获取输出流(),结果);支持XSLT以XML形式从SPARQL结果集中提取数据的另一种方法是应用 XSLT清单12显示了一个SPARQL结果集XML的例子元素包含所有 变量,结果元素包含一个结果列表,每个结果列表包含一个绑定可以向服务器添加XSLT服务,通过外部XSLT服务处理查询结果, 或者再次向XML输出添加样式表链接向XML输出添加一个样式表 链接,并将它作为一个新参数传递给XSLT URI,如清单13所示。这 并不执行转换,只是在生成的文档中包含一个到 XSLT的链接当 XSLT处理器(如现代网络浏览器)准备文档时,转换被执行(参见参考 资料)清单12。结果

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!