SPARQL Query Language for RDF
Contents
* 1. Intoduction
* 2. Making Simple Queries
* 3. RDF Term Constraints
* 4. SPARQL Syntax (语法)
o 4.1 IRIs (URIs)
o 4.2 平凡文字的语法 Syntax for Literals
o 4.3 查询变量的Syntax
o 4.4 空白节点的语法
o 4.5 三元组模型语法
o 4.6 谓-宾列表
o 4.7 宾语列表
o 4.8 复合列表
o 4.9 RDF集合
o 4.10 当rdf:type是谓词时可用a代替
* 5. Graph Patterns (模式)
o 5.1 Group Graph Patterns
o 5.2 Empty Group Pattern
o 5.3 Scope of Filters 过滤范围
* 6. Including Optional Values (可选值)
* 7. 匹配两个中的一个 Matching Alternatives
* 8. RDF Dataset 数据集合
* 9. 结果排序和修改 Solution Sequences and Modifiers
o 重复结果 Duplicate Soulution
* 10. 查询形式 Query Forms
* 11. 测试值 Testing Values
o 操作数数据类型Openrand Data Types
o 过滤评价 Filter Evaluation
* 12. SPARQL定义 Definition of SPARQL
o RDF Terms(术语)
1. Intoduction
* Turtle data format (Tutle数据格式)
2. Making Simple Queries
简单查询:
SELECT ?title
WHERE
{
<http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}
Building RDF Graphs, 用Construct代替Select:
CONSTRUCT { ?x foaf:name ?name }
WHERE{ ?x org:employeeName ?name }
3. RDF Term Constraints
正则表达式过滤 FILTER regex():
PREFIXdc:<http://purl.org/dc/elements/1.1/>
SELECT?title
WHERE{ ?x dc:title ?title
FILTER regex(?title, "web", "i" )
}
4. SPARQL Syntax (语法)
4.1 IRIs (URIs)
同一个IRI的不同表示方式:
<http://example.org/book/book1>
BASE <http://example.org/book/>
<book1>
PREFIX book: <http://example.org/book/>
book:book1
4.2 平凡文字的语法 Syntax for Literals
4.3 查询变量的Syntax
'?','$' 两者是等价的
4.4 空白节点的语法
[ :p "v" ] .
[] :p "v" .
_:b57 :p "v" . //前面加_:的标签
[ :p "v" ] :q "w" . //空白节点的组合
简略空白节点:
[ foaf:name?name ;
foaf:mbox<mailto:alice@example.org> ]
4.5 三元组模型语法
PREFIXdc: <http://purl.org/dc/elements/1.1/>
PREFIX: <http://example.org/book/>
SELECT$title
WHERE{ :book1dc:title$title }
4.6 谓-宾列表
?xfoaf:name?name ;
foaf:mbox?mbox .
4.7 宾语列表
?x foaf:nick"Alice" , "Alice_" .
4.8 复合列表
?xfoaf:name ?name ; foaf:nick"Alice" , "Alice_" .
等价于:
?xfoaf:name?name .
?xfoaf:nick"Alice" .
?xfoaf:nick"Alice_" .
4.9 RDF集合
(1 ?x 3 4) :p "w" .
4.10 当rdf:type是谓词时可用a代替
?xa:Class1 .
5. Graph Patterns (模式)
5.1 Group Graph Patterns
PREFIX foaf:<http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE{
?x foaf:name ?name .
?x foaf:mbox ?mbox .
}
5.2 Empty Group Pattern
{}
SELECT ?x WHERE {}
5.3 Scope of Filters 过滤范围
FILTER regex(?name, "Smith")
6. Including Optional Values (可选值)
Optional Pattern Matching
WHERE{ ?x foaf:name?name .
OPTIONAL { ?xfoaf:mbox?mbox }
}
Constraints in Optional Pattern Matching
SELECT?title ?price
WHERE{ ?x dc:title ?title .
OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) }
}
Multiple Optional Graph Patterns
SELECT ?name ?mbox ?hpage
WHERE{ ?x foaf:name?name .
OPTIONAL { ?x foaf:mbox ?mbox } .
OPTIONAL { ?x foaf:homepage ?hpage }
}
7. 匹配两个中的一个 Matching Alternatives
UNION:
SELECT ?x ?y
WHERE{ { ?book dc10:title ?x } UNION { ?book dc11:title?y } }
8. RDF Dataset 数据集合
查询多个Graph中的信息
9. 结果排序和修改 Solution Sequences and Modifiers
排序 ORDER BY:
SELECT ?name
WHERE { ?x foaf:name ?name }
ORDER BY ?name
映射 Projection
重复结果 Duplicate Soulution
唯一 DISTINCT:
PREFIX foaf:<http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?name WHERE { ?x foaf:name ?name }
简化 REDUCED:
PREFIX foaf:<http://xmlns.com/foaf/0.1/>
SELECT REDUCED ?name WHERE { ?x foaf:name ?name }
偏移 OFFSET, 限制 LIMIT:
SELECT?name
WHERE{ ?x foaf:name ?name }
ORDER BY ?name
LIMIT5
OFFSET10
10. 查询形式 Query Forms
*
SELECT
Returns all, or a subset of, the variables bound in a query pattern match.
*
CONSTRUCT
Returns an RDF graph constructed by substituting variables in a set of triple templates.
*
ASK
Returns a boolean indicating whether a query pattern matches or not.
*
DESCRIBE
Returns an RDF graph that describes the resources found.
11. 测试值 Testing Values
操作数数据类型Openrand Data Types
* xsd:integer
* xsd:decimal
* xsd:float
* xsd:double
* xsd:string
* xsd:boolean
* xsd:dateTime
过滤评价 Filter Evaluation
A B A || B A && B
T T T T
T F T F
F T T F
F F F F
T E T E
E T T E
F E E F
E F E F
E E E E
12. SPARQL定义 Definition of SPARQL
RDF Terms(术语)
RDF Term:
RDF
Let I be the set of all IRIs. Let RDF-L be the set of all RDF Literals Let RDF-B be the set of all blank nodes in RDF graphs
View document source. Generated on: 2008-04-17 09:54 UTC. Generated by Docutils from reStructuredText source.
分享到:
相关推荐
通过对经典RDF模型添加时间戳表示其时间维度,并对时态RDF图中的蕴涵问题进行了讨论,根据SPARQL查询语言提出了完备的时态RDF查询语言T-SPARQL,并对提出的查询语言进行了可行性以及性能的实验仿真。利用该时态RDF...
中文!看了,你肯定能学会RDF数据查询语言SPARQL!
时态RDF扩展及其SPARQL查询语言
语义web里面主要的应用:查询,而查询需要的最重要的就是sparql查询语言,这个文档里面的主要内容就是sparql的语言规范
为了用户能够方便地获取本体知识,提出了基予自然语言理解的SPARQL本体查询。利用StanfordParser·分析用戸的自然语言查询,根据语法构建查询三元组,与关键词的方法相比,有效地减少了组合的个数。结舍 用户词典,...
该基准目前提供14个测试查询。该文件包含所有使用SPARQL 1.0语法的查询,并用空行分隔并标识注释。
SPARQL.js将SPARQL转换为JSON并返回,因此您可以在JavaScript应用程序中解析和构建SPARQL查询。 它还在sparqlStar选项下包含对扩展的sparqlStar 。 它完全支持,包括,和。 用法 图书馆 // Parse a SPARQL query ...
[奥莱理] 学习 SPARQL 第1版 (英文版) [奥莱理] Learning SPARQL 1st Edition (E-Book) ☆ 出版信息:☆ [作者信息] Bob DuCharme [出版机构] 奥莱理 [出版日期] 2011年07月23日 [图书页数] 258页 [图书语言]...
SparQL(Simple Protocol and RDF Query Language),是为RDF开发的一种查询语言和数据获取协议,它是为W3C所开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。 SparQL 协议和 RDF 查询语言...
针对当前智能手机应用安全知识等信息的共享及复用问题,...利用本体查询语言SPARQL实现基于RDF三元组的各类相关查询;在此基础上,借助本体推理机制进行了推理研究,并结合实例,验证了研究内容的可行性和实用价值。
sparql语法 sparql语法 sparql语法
基于语义视图的SPARQL-SQL查询转换方法.pdf
记录SPARQL查询sparql-doc支持用于记录sparql查询的标记,以及用于查询集合的程序包元数据。 这些功能将在下一节中介绍。SPARQL文档扩展sparql-doc处理您的SPARQL查询并查找注释。 与Javadoc,rdoc和类似工具一样,...
#资源达人分享计划#
LODQA(链接的开放数据问题解答)是使用自然语言查询来搜索SPARQL端点的系统,它从中生成SPARQL查询,将其提交给SPARQL端点,收集答案,并将其呈现给用户。 相依性 由于LODQA是Web界面服务,因此它通过与LODQA_BS...
neo4j-sparql-扩展 用于存储和功能的 Neo4j。 安装 从下载最新版本并将其放置在 Neo4j 服务器安装的/plugins/目录中。 要启用扩展,请将其添加到/conf/neo4j-server....SPARQL 协议(SPARQL 1.1 查询) 基础资源:
生成 SPARQL 查询并请求端点的库 例子 一个快速简单的 sparql 请求来了解它是如何工作的。 您可以在 SparqlTest.php 文件中找到更多示例。 $sparql = new Legrand\SPARQL; $sparql->variable('?z') ->where('...
用于基于RDF语义查询的SPARQL语言的教程,W3C官方文档
文档详细介绍了RDF以及提供一种验证器, 利用Jena搭建了SPARQL对RDF数据进行查询等一些列操作。