Preface |
|
xi | |
|
1 Jumping Right In: Some Data and Some Queries |
|
|
1 | (18) |
|
|
2 | (1) |
|
|
3 | (4) |
|
More Realistic Data and Matching on Multiple Triples |
|
|
7 | (5) |
|
|
12 | (1) |
|
|
13 | (1) |
|
Querying a Public Data Source |
|
|
13 | (4) |
|
|
17 | (2) |
|
2 The Semantic Web, RDF, and Linked Data (and SPARQL) |
|
|
19 | (26) |
|
What Exactly Is the "Semantic Web"? |
|
|
19 | (2) |
|
URLs, URIs, IRIs, and Namespaces |
|
|
21 | (3) |
|
The Resource Description Format (RDF) |
|
|
24 | (11) |
|
|
24 | (5) |
|
|
29 | (1) |
|
|
30 | (1) |
|
Making RDF More Readable with Language Tags and Labels |
|
|
31 | (2) |
|
Blank Nodes and Why They're Useful |
|
|
33 | (2) |
|
|
35 | (1) |
|
Reusing and Creating Vocabularies: RDF Schema and OWL |
|
|
35 | (6) |
|
|
41 | (1) |
|
SPARQL's Past, Present, and Future |
|
|
42 | (1) |
|
The SPARQL Specifications |
|
|
43 | (1) |
|
|
44 | (1) |
|
3 SPARQL Queries: A Deeper Dive |
|
|
45 | (58) |
|
More Readable Query Results |
|
|
46 | (7) |
|
Using the Labels Provided by DBpedia |
|
|
48 | (3) |
|
Getting Labels from Schemas and Ontologies |
|
|
51 | (2) |
|
Data That Might Not Be There |
|
|
53 | (4) |
|
Finding Data That Doesn't Meet Certain Conditions |
|
|
57 | (2) |
|
Searching Further in the Data |
|
|
59 | (7) |
|
Searching with Blank Nodes |
|
|
66 | (1) |
|
Eliminating Redundant Output |
|
|
67 | (3) |
|
Combining Different Search Conditions |
|
|
70 | (3) |
|
FILTERing Data Based on Conditions |
|
|
73 | (3) |
|
Retrieving a Specific Number of Results |
|
|
76 | (2) |
|
|
78 | (7) |
|
|
85 | (1) |
|
Combining Values and Assigning Values to Variables |
|
|
86 | (2) |
|
Sorting, Aggregating, Finding the Biggest and Smallest and... |
|
|
88 | (7) |
|
|
89 | (2) |
|
Finding the Smallest, the Biggest, the Count, the Average... |
|
|
91 | (2) |
|
Grouping Data and Finding Aggregate Values within Groups |
|
|
93 | (2) |
|
Querying a Remote SPARQL Service |
|
|
95 | (3) |
|
Federated Queries: Searching Multiple Datasets with One Query |
|
|
98 | (2) |
|
|
100 | (3) |
|
4 Copying, Creating, and Converting Data (and Finding Bad Data) |
|
|
103 | (26) |
|
Query Forms: SELECT, DESCRIBE, ASK, and CONSTRUCT |
|
|
104 | (1) |
|
|
105 | (4) |
|
|
109 | (5) |
|
|
114 | (3) |
|
|
117 | (10) |
|
Defining Rules with SPARQL |
|
|
118 | (3) |
|
Generating Data About Broken Rules |
|
|
121 | (4) |
|
Using Existing SPARQL Rules Vocabularies |
|
|
125 | (2) |
|
Asking for a Description of a Resource |
|
|
127 | (1) |
|
|
128 | (1) |
|
5 Datatypes and Functions |
|
|
129 | (48) |
|
|
129 | (10) |
|
|
134 | (2) |
|
Comparing Values and Doing Arithmetic |
|
|
136 | (3) |
|
|
139 | (36) |
|
|
140 | (4) |
|
Node Type and Datatype Checking Functions |
|
|
144 | (2) |
|
Node Type Conversion Functions |
|
|
146 | (5) |
|
|
151 | (6) |
|
Checking, Adding, and Removing Spoken Language Tags |
|
|
157 | (7) |
|
|
164 | (4) |
|
|
168 | (2) |
|
|
170 | (2) |
|
|
172 | (3) |
|
|
175 | (1) |
|
|
176 | (1) |
|
6 Updating Data with SPARQL |
|
|
177 | (30) |
|
Getting Started with Fuseki |
|
|
178 | (2) |
|
|
180 | (6) |
|
|
186 | (2) |
|
|
188 | (5) |
|
|
193 | (12) |
|
|
196 | (2) |
|
Named Graph Syntax Shortcuts: WITH and USING |
|
|
198 | (2) |
|
Deleting and Replacing Triples in Named Graphs |
|
|
200 | (5) |
|
|
205 | (2) |
|
7 Building Applications with SPARQL: A Brief Tour |
|
|
207 | (18) |
|
SPARQL and Web Application Development |
|
|
208 | (9) |
|
SPARQL Query Results XML Format |
|
|
217 | (4) |
|
|
221 | (3) |
|
|
221 | (1) |
|
Triplestore SPARQL Support |
|
|
221 | (1) |
|
Middleware SPARQL Support |
|
|
222 | (2) |
|
Public Endpoints, Private Endpoints |
|
|
224 | (1) |
|
|
224 | (1) |
Glossary |
|
225 | (6) |
Index |
|
231 | |