`
javasogo
  • 浏览: 1815786 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

sparql查询语言学习摘要

阅读更多

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数据查询语言SPARQL

    **RDF数据查询语言SPARQL**是一种标准的查询语言,由W3C的RDF数据工作组设计,专门用于查询Resource Description Framework (RDF)数据。RDF是一种语义网络模型,常用于描述和链接互联网上的数据。SPARQL允许用户以...

    SPARQL语言规则 语义web查询语言

    ### SPARQL语言规则——语义Web查询语言 #### 一、引言 随着语义Web技术的发展,越来越多的数据以RDF(Resource Description Framework,资源描述框架)格式存储,这催生了对一种高效、标准的查询语言的需求。在...

    SPARQL本体查询语言教程.pdf

    **SPARQL本体查询语言**是用于查询Resource Description Framework (RDF)数据的标准化查询语言,由World Wide Web Consortium (W3C)制定。RDF是一种数据模型,用于描述和链接网络上的信息。SPARQL是语义网技术的重要...

    基于自然语言理解的SPARQL本体查询

    为了用户能够方便地获取本体知识,提出了基予自然语言理解的SPARQL本体查询。利用StanfordParser·分析用戸的自然语言查询,根据语法构建查询三元组,与关键词的方法相比,有效地减少了组合的个数。结舍 用户词典,...

    14个SPARQL查询基准.txt

    该基准目前提供14个测试查询。该文件包含所有使用SPARQL 1.0语法的查询,并用空行分隔并标识注释。

    基于语义视图的SPARQL-SQL查询转换方法.pdf

    SPARQL查询是用于查询 RDF 数据模型的标准查询语言,它利用特定语法来查询本体、RDF 图和RDF 源。将 SPARQL 查询转换为 SQL 查询,意味着需要解析 SPARQL 语句,并重写为可以在关系数据库上执行的 SQL 语句。这个...

    SPARQL.js:JavaScript中用于SPARQL查询语言的解析器

    SPARQL.js将SPARQL转换为JSON并返回,因此您可以在JavaScript应用程序中解析和构建SPARQL查询。 它还在sparqlStar选项下包含对扩展的sparqlStar 。 它完全支持,包括,和。 用法 图书馆 // Parse a SPARQL query ...

    面向分布式的SPARQL查询优化算法.pdf

    SPARQL是用于查询RDF数据的查询语言,它的查询能力使得数据可以通过语义网的形式进行查询,而不仅仅是通过关键字或者属性值。MRQJ算法旨在克服现有基于Hadoop实现的RDF查询需要使用多个MapReduce任务而导致的时间...

    面向自然问句的SPARQL查询生成方法研究与实现1

    【标题】:“面向自然问句的SPARQL查询生成方法研究与实现1”涉及的知识点主要集中在知识问答系统、RDF数据集、SPARQL查询语言以及自然语言处理技术。 【1】知识问答系统(QA System):这是一种智能信息检索系统,...

    Learning SPARQL

    SPARQL(发音为“sparkle”)是用于查询和更新RDF(资源描述框架)数据的标准查询语言。RDF是一种用于描述资源和它们之间关系的模型,是构建语义网的基础技术之一。语义网旨在通过机器可以理解的方式描述信息,从而...

    SPARQL 初步 本文档实质上是阅读Jena Doc中SPARQL部分学习使用

    SPARQL(SPARQL Protocol and RDF Query Language)是一种W3C标准的查询语言,专门设计用于查询和处理Resource Description Framework (RDF)数据。RDF是一种用于表示网络数据的标准模型,它使用URI(Uniform ...

    sparql语法 英文

    SPARQL(SPARQL Protocol and RDF Query Language)是一种用于查询RDF(Resource Description Framework)数据的标准化查询语言,由万维网联盟(W3C)制定。它允许用户从语义网络和链接数据中检索信息,支持复杂的...

    HPL-SPARQL.pdf

    首先,SPARQL(SPARQL Protocol and RDF Query Language)是一种用于RDF(Resource Description Framework)数据的查询语言,它使得语义网开发者能够从大型数据集中提取信息。SPARQL语言是语义网工具箱中最新加入的...

    [SPARQL] 学习 SPARQL 第1版 (英文版)

    [奥莱理] 学习 SPARQL 第1版 (英文版) [奥莱理] Learning SPARQL 1st Edition (E-Book) ☆ 出版信息:☆ [作者信息] Bob DuCharme [出版机构] 奥莱理 [出版日期] 2011年07月23日 [图书页数] 258页 [图书语言]...

    Applicationontology构建及SPARQL查询研究

    针对当前智能手机应用安全知识等信息的共享及复用问题,...利用本体查询语言SPARQL实现基于RDF三元组的各类相关查询;在此基础上,借助本体推理机制进行了推理研究,并结合实例,验证了研究内容的可行性和实用价值。

Global site tag (gtag.js) - Google Analytics