收藏 分享(赏)

SPARQL本体查询语言教程.doc

上传人:A海阔天空 文档编号:3327643 上传时间:2020-12-31 格式:DOC 页数:3 大小:22.65KB
下载 相关 举报
SPARQL本体查询语言教程.doc_第1页
第1页 / 共3页
SPARQL本体查询语言教程.doc_第2页
第2页 / 共3页
SPARQL本体查询语言教程.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、.http:/ -用 SPARQL 搜索 RDF 数据例子, 查询bloggers.rdf数据http:/bbs.w3china.org/dispbbs.asp?boardID=2&ID=87779http:/www.sparql.org/query.html -在线DemoSPARQL本体查询语言介绍SPARQL,和“sparkle”的发音一样,它是一种 RDF 查询语言,可以从 RDF 图中查询信息。在 W3C Technical Reports and Publications 页面上,我们可以看到,现在和 SPARQL 相关的共有三项内容:其中两个是 Candidate Recomme

2、ndations(候选推荐),SPARQL Protocol for RDF 和 SPARQL Query Results XML Format;另外一个是 Word Drafts(工作草案),SPARQL Query Language for RDF。上了这个页面,基本上就已经说明这个要成为 W3C 的推荐标准了,就像 RDF 和 OWL 一样。而且,在 WWW2006 发言时,TimBL 也已经表示,随着 SPARQL 查询语言即将完成标准化,语义网已经具备了成功所需要的所有标准和技术,Web开发人员和内容创作人员可以开始使用这些语义语言了。http:/www.w3.org/2001/11

3、/. 上有一个比较完整的列表。SPARQL 是基于以前的 RDF 查询语言(如rdfDB、RDQL 和 SeRQL)发展而来的,拥有一些有价值的新特性,并且受到 Jena 开发团队的鼎立支持。Jena 是 HP 公司语义网研究小组开发的一套 Java 工具包,用来支持人们进行语义网的相关研究和应用开发。SPARQL 的语法细节这里就不一一列举了,直接给出一个例子。总体来说,SPARQL 的语法和传统 SQL 的语法还是有几分相似的,大家应该不会陌生。BASE PREFIX rdf: http:/www.w3.org/1999/02/.PREFIX foaf: http:/ 这是一个以 BASE

4、 为根的相对 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 的任何地方进行使用了,例子中共用到

5、了 2 处。 使用 # 进行注释。 PREFIX,IRI 前缀的缩写。 SELECT,查询关键字,和 SQL 中的一个意思。 ?person ?name ?age,要查询的变量,使用 ? 标识变量,也可以使用 $。变量间使用空白分隔(现在正在征集意见,正式标准中使用空白还是逗号分隔尚未最终确定)。 FROM,从何处查询数据。可以一次查询多个 RDF 数据集,只需要使用 FROM 逐一列出即可。 WHERE,过滤条件集合,和 SQL 的 WHERE 一个意思。 ?person a foaf:Person,具体的过滤条件,使用 Turtle 语法。还记得“a”是什么意思吗?具体的介绍可以参看RDF

6、 实战。 例子中两个过滤条件的主语都是“?person”,因此,使用了简写的形式。如果主语不同,逐一列出检索条件即可。 OPTIONAL,可选过滤条件。比如有些 ?person 可能没有填写 age 属性,如果不使用 OPTIONAL,那么查询结果将不包含这些 ?person;使用了 OPTIONAL 关键字,没有填写 age 属性的 ?person,同样可以被查询到。 FILTER (REGEX(?name, “clickstone”),明确化的过滤条件,类似于 SQL 中的 LIKE、=、 等的左右。例子中的意思是说,返回的 ?name 变量中,必须包含“clickstone”。 ORDE

7、R 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,在 WHERE 子句中必须全部出现。为什么会这样呢?因为对于一个 SPARQL 查询处理器来讲,它不具备类似于关系数据库中数据字典的东西以供参考,所以每一个 SELECT 的变量,在 WHERE 中必须指定一个用来匹配的triple。.

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 应用文书 > 工作计划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报