SPARQL 简介
来源:互联网 发布:js杀破狼歌曲下载 编辑:程序博客网 时间:2024/05/21 06:59
关于 SPARQL 的详细内容,请参考 http://www.w3.org/TR/rdf-sparql-query/#syntaxTerms 。
SPARQL 是一种RDF 查询语言。其全称为 SPARQL Protocol and RDF Query Language,是一种递归定义。
本文将用几个简单的例子对 SPARQL 进行简要说明。
一个简单的例子
数据如下:
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> "SPARQL Tutorial" .
查询语句如下:
SELECT ?titleWHERE{ <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .}
那么所得到的查询结果为:
title
"SPARQL Tutorial"
第2个例子
数据如下:
@prefix foaf: <http://xmlns.com/foaf/0.1/> ._:a foaf:name "Johnny Lee Outlaw" ._:a foaf:mbox <mailto:jlow@example.com> ._:b foaf:name "Peter Goodguy" ._:b foaf:mbox <mailto:peter@example.org> ._:c foaf:mbox <mailto:carol@example.org> .
查询语句如下:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mboxWHERE { ?x foaf:name ?name . ?x foaf:mbox ?mbox }
查询结果为:
第3个例子
数据如下:
@prefix org: <http://example.com/ns#> ._:a org:employeeName "Alice" ._:a org:employeeId 12345 ._:b org:employeeName "Bob" ._:b org:employeeId 67890 .
查询使用了另一种查询方式 "Construct" ,之前我们使用的都是 "Select" 方式,并返回一个 RDF 图。查询语句如下:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX org: <http://example.com/ns#>CONSTRUCT { ?x foaf:name ?name }WHERE { ?x org:employeeName ?name }
所得结果为:
@prefix org: <http://example.com/ns#> . _:x foaf:name "Alice" ._:y foaf:name "Bob" .
可以序列化为 RDF/XML格式:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" > <rdf:Description> <foaf:name>Alice</foaf:name> </rdf:Description> <rdf:Description> <foaf:name>Bob</foaf:name> </rdf:Description></rdf:RDF>
其他
Order by 的例子 ---- 按emp 降序排列
PREFIX : <http://example.org/ns#>PREFIX foaf: <http://xmlns.com/foaf/0.1/>PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>SELECT ?nameWHERE { ?x foaf:name ?name ; :empId ?emp }ORDER BY DESC(?emp)
如果是曾旭则 ASC 可以省略
Instinct 的例子 ---- 去除重复
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT DISTINCT ?name WHERE { ?x foaf:name ?name }
Offset 与 Limit 的例子 ---- 取出 从10(OFFSET)个之后的5(LIMIT)个数据
PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?nameWHERE { ?x foaf:name ?name }ORDER BY ?nameLIMIT 5OFFSET 10
关于 SPARQL 的更多内容,请参考 http://www.w3.org/TR/rdf-sparql-query/#syntaxTerms 。
- SPARQL 简介
- sparql 学习,理解sparql
- SPARQL教程
- sparql学习 sparql示例 dbpedia在线验证
- learning sparql 中文版翻译
- sparql查询特点
- Jena,TDB,Sparql
- 使用 SPARQL 查询 RDF
- sparql查询学习
- sparql查询学习 2
- 使用 SPARQL 查询 RDF
- sparql查询范例
- 如何运行SPARQL
- Sparql查询RDF
- SPARQL处理器ARQ
- 基本 SPARQL 查询
- TDB和SPARQL
- Sparql查询实例
- 使用SQLiteDatabase操作SQLite数据库
- 千万级的mysql数据库与优化方法
- ActiveMQ队列特性:删除不活动的队列(Delete Inactive Destinations)
- poj 1060解题报告
- 使用Graphics\pen\brush\color\Font\等类和对应的方法属性
- SPARQL 简介
- dos 下遍历文件目录
- JDK自带的native2ascii工具完全揭密
- 添加登陆界面,增加验证码功能。
- 添加登陆界面,增加验证码功能。
- 使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例
- 模板函数
- 使用事务操作SQLite数据库
- linux windows 的后缀之别