SPARQL本体查询语言教程_第1页
SPARQL本体查询语言教程_第2页
SPARQL本体查询语言教程_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/developerworks/cn/education/xml/x-sparql/index.html教程/jghhandsome/articles/775302.html -用 SPARQL 搜索 RDF 数据例子, 查询bloggers.rdf数据/dispbbs.asp?boardID=2&ID=87779/query.html -在线DemoSPARQL本体查询语言介绍SPARQL,和“sparkle”的发音一样,它是一种 RDF 查询语言,可以从 RDF 图中查询信息。在 W3C Technical Reports and Publications 页面上,我们可以看到,现在和 SPARQL 相关的共有三项内容:其中两个是 Candidate Recommendations(候选推荐),SPARQL Protocol for RDF 和 SPARQL Query Results XML Format;另外一个是 Word Drafts(工作草案),SPARQL Query Language for RDF。上了这个页面,基本上就已经说明这个要成为 W3C 的推荐标准了,就像 RDF 和 OWL 一样。而且,在 WWW2006 发言时,TimBL 也已经表示,随着 SPARQL 查询语言即将完成标准化,语义网已经具备了成功所需要的所有标准和技术,Web开发人员和内容创作人员可以开始使用这些语义语言了。/2001/11/. 上有一个比较完整的列表。SPARQL 是基于以前的 RDF 查询语言(如rdfDB、RDQL 和 SeRQL)发展而来的,拥有一些有价值的新特性,并且受到 Jena 开发团队的鼎立支持。Jena 是 HP 公司语义网研究小组开发的一套 Java 工具包,用来支持人们进行语义网的相关研究和应用开发。SPARQL 的语法细节这里就不一一列举了,直接给出一个例子。总体来说,SPARQL 的语法和传统 SQL 的语法还是有几分相似的,大家应该不会陌生。BASE PREFIX rdf: /1999/02/.PREFIX foaf: /foaf/0.1/.# 这是一个以 BASE 为根的相对 IRIPREFIX user: SELECT ?person ?name ?ageFROM WHERE ?person a foaf:Person ;foaf:name ?name .OPTIONAL ?person user:age ?age .FILTER (REGEX(?name, “clickstone”)ORDER BY ASC(?name)LIMIT 10OFFSET 10简要的说明一下例子中出现的语法。BASE,根 IRI,其他以此为根的 IRI 就可以写成相对形式了,见例子里面的注释。一旦定义了 BASE,就可以在 SPARQL 的任何地方进行使用了,例子中共用到了 2 处。 使用 # 进行注释。 PREFIX,IRI 前缀的缩写。 SELECT,查询关键字,和 SQL 中的一个意思。 ?person ?name ?age,要查询的变量,使用 ? 标识变量,也可以使用 $。变量间使用空白分隔(现在正在征集意见,正式标准中使用空白还是逗号分隔尚未最终确定)。 FROM,从何处查询数据。可以一次查询多个 RDF 数据集,只需要使用 FROM 逐一列出即可。 WHERE,过滤条件集合,和 SQL 的 WHERE 一个意思。 ?person a foaf:Person,具体的过滤条件,使用 Turtle 语法。还记得“a”是什么意思吗?具体的介绍可以参看RDF 实战。 例子中两个过滤条件的主语都是“?person”,因此,使用了简写的形式。如果主语不同,逐一列出检索条件即可。 OPTIONAL,可选过滤条件。比如有些 ?person 可能没有填写 age 属性,如果不使用 OPTIONAL,那么查询结果将不包含这些 ?person;使用了 OPTIONAL 关键字,没有填写 age 属性的 ?person,同样可以被查询到。 FILTER (REGEX(?name, “clickstone”),明确化的过滤条件,类似于 SQL 中的 LIKE、=、 等的左右。例子中的意思是说,返回的 ?name 变量中,必须包含“clickstone”。 ORDER BY,排序,可以指定多个排序,比如例子可以改为,ORDER BY ASC(?name) DESC(?age)。默认排序是 ASC。 LIMIT 10,将返回结果限定在 10 条,类似于 SQL 中的 SELECT TOP 10。 OFFSET 10,掠过前边的 10 条,从 第 11 条开始返回。这个功能比 SQL 强大,SQL 要自己写翻页。其他的还有 UNION、DISTINCT 等的使用,大家就自己看文档吧。但必须强调一点,SPARQL 的使用中和 SQL 一个非常大的区别,需要大家注意:SELECT 子句中出现的变量,比如例子中的 ?person ?name ?age,

温馨提示

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

评论

0/150

提交评论