down and dirty with rdf and sparql (part 2) and dirty with rdf and spa… · star wars. harrison...
TRANSCRIPT
![Page 1: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/1.jpg)
Down and Dirty with RDF and SPARQL (Part 2)
Erich BremerStony Brook Semantic Web Meetup
April 15, 2015
![Page 2: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/2.jpg)
SPARQLselect, construct, ask, and describe
![Page 3: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/3.jpg)
Directors and actorslinked through movies
http://dbpedia.org/sparql
![Page 4: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/4.jpg)
Star Wars
Harrison Ford
George Lucas
Ender’s Game
Gavin Hood X-Men Origins: Wolverine
Hugh Jackman
Rise of the Guardians
Peter Ramsey
Eye in the Sky
Alan Rickman
Harry Potter
![Page 5: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/5.jpg)
![Page 6: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/6.jpg)
The Anatomy of a SPARQL query
<prefixes><command> <results clause> where {<triple pattern>}<optional query modifier>
“where” is optional
![Page 7: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/7.jpg)
select SPARQL queryselect * where {
?film <http://dbpedia.org/ontology/director> ?director .?film a <http://dbpedia.org/ontology/Film> .?film <http://dbpedia.org/ontology/starring> ?actor
} limit 100
![Page 8: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/8.jpg)
results
![Page 9: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/9.jpg)
prefix dbp: <http://dbpedia.org/ontology/>select * where {
?film dbp:director ?director .?film a dbp:Film .?film dbp:starring ?actor
}limit 100
adding prefix name spaces
![Page 10: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/10.jpg)
prefix dbp: <http://dbpedia.org/ontology/>select * where {?film dbp:director ?director;
a dbp:Film;dbp:starring ?actor
} limit 100
using predicate lists
![Page 11: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/11.jpg)
prefix : <http://dbpedia.org/ontology/>select * where {?film :director ?director;
a :Film;:starring ?actor
} limit 100
using default name space “:”
![Page 12: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/12.jpg)
prefix : <http://dbpedia.org/ontology/>select ?film ?director ?actor where {?film :director ?director;
a :Film;:starring ?actor
} limit 100
specifying variables in select clause
![Page 13: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/13.jpg)
prefix : <http://dbpedia.org/ontology/>prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>select ?title ?film ?director ?actor where {?film :director ?director;
a :Film;:starring ?actor;rdfs:label ?title
} limit 100
adding additional predicates
![Page 14: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/14.jpg)
prefix : <http://dbpedia.org/ontology/>prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>select ?title ?film ?director ?actor where {?film :director ?director;
a :Film;:starring ?actor .optional {?film rdfs:label ?title}
} limit 100
optional clause
![Page 15: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/15.jpg)
prefix : <http://dbpedia.org/ontology/>prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>select ?title ?film ?director ?actor where {?film :director ?director;
a :Film;:starring ?actor;rdfs:label ?titlefilter(lang(?title)="en")
} limit 100
adding a language filter
![Page 16: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/16.jpg)
prefix : <http://dbpedia.org/ontology/>prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?title ?film ?director ?actor where {?film :director ?director;
a :Film;:starring ?actor;rdfs:label ?titlefilter(lang(?title)="en")
}order by asc(?title)limit 100
ordering the results
![Page 17: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/17.jpg)
results
![Page 18: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/18.jpg)
prefix : <http://dbpedia.org/ontology/>prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>construct {?film rdfs:label ?title} where {?film :director ?director;
a :Film;:starring ?actor;rdfs:label ?titlefilter(lang(?title)="en")
} limit 10
construct SPARQL query
![Page 19: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/19.jpg)
results
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .<http://dbpedia.org/resource/Alraune_(1918_film)> rdfs:label "Alraune (1918 film)"@en .<http://dbpedia.org/resource/Alraune_(1928_film)> rdfs:label "Alraune (1928 film)"@en .<http://dbpedia.org/resource/April_Love_(film)> rdfs:label "April Love (film)"@en .<http://dbpedia.org/resource/Ascendancy_(film)> rdfs:label "Ascendancy (film)"@en .<http://dbpedia.org/resource/Chervona_Ruta_(film)> rdfs:label "Chervona Ruta (film)"@en .
![Page 20: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/20.jpg)
prefix : <http://dbpedia.org/ontology/>prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>ask where {?film :director ?director;
a :Film;:starring ?actor;rdfs:label ?titlefilter(lang(?title)="en")
}
ask SPARQL query
Does the pattern exist true or false?
![Page 21: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/21.jpg)
describe <http://dbpedia.org/resource/Star_Wars_(film)>
describe SPARQL query<http://dbpedia.org/resource/Star_Wars_(film)>
select * where {<http://dbpedia.org/resource/Star_Wars_(film)> ?p ?o
}
Kind of a short hand for:
![Page 22: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/22.jpg)
“A free and open source Java framework for building Semantic Web and Linked Data applications.”
https://jena.apache.org/
Jena – Core RDF API Library
ARQ – SPARQL engineTDB – Native Quad/triple storeFuseki – implements http SPARQL protocol on TDB and provide SPARQL Endpoint
Ontology API – Web Ontology Language (OWL)Inference API – RDF reasoning
Apache Jena<http://dbpedia.org/resource/Star_Wars_(film)>
![Page 23: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/23.jpg)
ParameterizedSparqlString pss = new ParameterizedSparqlString("prefix : <http://dbpedia.org/ontology/>\n " + "prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +"select ?title ?film ?director ?actor where {\n" +
"?film :director ?director; a :Film; :starring ?actor; rdfs:label ?title\n" +"filter(lang(?title)=\"en\") order by asc(?title) limit 100");
QueryExecution qe = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", pss.asQuery(), "http://dbpedia.org");
ResultSet rs = qe.execSelect();while (rs.hasNext()) {
QuerySolution qs = rs.next();
String film = qs.getResource("film").toString();String title = qs.getLiteral("title").toString();System.out.println(film+" "+title);
}
Apache Jena – Select Example<http://dbpedia.org/resource/Star_Wars_(film)>
![Page 24: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/24.jpg)
ParameterizedSparqlString pss = new ParameterizedSparqlString("prefix : <http://dbpedia.org/ontology/>\n" +"prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
"construct {?film rdfs:label ?title} where {\n" +"?film :director ?director;\n" +" a :Film;\n" +
" :starring ?actor;\n" +" rdfs:label ?title\n" +" filter(lang(?title)=\"en\")} limit 100");
QueryExecution qe = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", pss.asQuery(), "http://dbpedia.org");
Model m = qe.execConstruct();System.out.println("Triples loaded : "+m.size());
m.write(System.out,null,"TTL");
Apache Jena – Construct Example<http://dbpedia.org/resource/Star_Wars_(film)>
![Page 25: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/25.jpg)
ParameterizedSparqlString pss = new ParameterizedSparqlString("prefix : <http://dbpedia.org/ontology/>\n" +"prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
"ask where {\n" +"?film :director ?director;\n" +" a :Film;\n" +
" :starring ?actor;\n" +" rdfs:label ?title\n" +" filter(lang(?title)=\"en\")\n" +
"}");QueryExecution qe = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", pss.asQuery(),
"http://dbpedia.org");boolean answer = qe.execAsk();
System.out.println(answer);
Apache Jena – Ask Example<http://dbpedia.org/resource/Star_Wars_(film)>
![Page 26: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/26.jpg)
ParameterizedSparqlString pss = new ParameterizedSparqlString("describe <http://dbpedia.org>");QueryExecution qe = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", pss.asQuery(),
"http://dbpedia.org");
Model m = qe.execDescribe();System.out.println("Triples loaded : "+m.size());m.write(System.out,null,"TTL");
Apache Jena – Ask Example<http://dbpedia.org/resource/Star_Wars_(film)>
![Page 27: Down and Dirty with RDF and SPARQL (Part 2) and Dirty with RDF and SPA… · Star Wars. Harrison Ford. George Lucas. Ender’s Game. Gavin Hood. X-Men Origins: Wolverine. Hugh Jackman](https://reader036.vdocuments.mx/reader036/viewer/2022071021/5fd560060982697534135b38/html5/thumbnails/27.jpg)
Any questions?
To be continued next month…Part 3