SlideShare una empresa de Scribd logo
1 de 35
0 to 60 on SPARQL queries in 50 minutes
Ethan Gruber
American Numismatic Society
gruber@numismatics.org
@ewg118
Some URLs
Blog post with list of SPARQL queries in Gist (including slideshow link)
http://bit.ly/1PGneCf
Online Coins of the Roman Empire (OCRE)
http://numismatics.org/ocre/
Coinage of the Roman Republic Online (CRRO)
http://numismatics.org/crro/
Nomisma.org
http://nomisma.org/
Google Fusion Tables:
http://tables.googlelabs.com/
Denarius
Denier
Δηνάριον
http://nomisma.org/denarius
<http://nomisma.org/id/denarius> skos:prefLabel “Denarius”@en ;
rdf:type nmo:Denomination ;
skos:exactMatch <http://vocab.getty.edu/aat/300037266> .
Denarius as Triples
What is a coin type?
Material: silver
Manufacture: struck
Mint: Emerita
Denomination: Denarius
Authority: Augustus
Legend
Icononography
Defining concepts on nomisma.org
Material: http://nomisma.org/id/ar
Manufacture: http://nomisma.org/id/struck
Mint: http://nomisma.org/id/emerita
Denomination: http://nomisma.org/id/denarius
Authority: http://nomisma.org/id/augustus
Legend: “Literal”
Icononography: “Literal”
A coin type URI:
http://numismatics.org/ocre/id/ric.1(2).aug.4B
Coin: http://numismatics.org/collection/1948.19.1029
Title, collection, accession number
Physical attributes
Image URLs
Findspot
http://collection.britishmuseum.org/id/object/CGR219958
http://www.smb.museum/ikmk/object.php?id=18207658
Hoard: http://numismatics.org/chrr/id/ZAR
Title, publisher
Findspot
● Basic intro to SPARQL syntax
● Filtering/sorting
● Dealing with numbers
● OPTIONAL matches
● Merging with UNION
● Geographic queries
● Visualization with Google Fusion Tables
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ecrm: <http://erlangen-crm.org/current/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX nm: <http://nomisma.org/id/>
PREFIX nmo: <http://nomisma.org/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * WHERE {
?s ?p ?o
} LIMIT 100
http://nomisma.org/sparql
?s ?p ?o
?s = Subject
?p = Predicate (also, property)
?o = Object
SELECT ?label WHERE {
<http://nomisma.org/id/rome> <http://www.w3.org/2004/02/skos/core#prefLabel> ?label
}
Purpose: get a list of preferred labels for the concept of “Rome.” See
http://nomisma.org/id/rome for all available properties
https://gist.github.com/ewg118/a5a2de372a7734a090ad#file-rome_labels
http://nomisma.org/id/rome
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX nm: <http://nomisma.org/id/>
Prefixes: Shortcuts for expressing URIs
SELECT ?label WHERE {
nm:rome skos:prefLabel ?label
}
Increasing query complexity
SELECT ?label ?type ?field ?lat ?long WHERE {
nm:rome skos:prefLabel ?label .
nm:rome rdf:type ?type .
nm:rome dcterms:isPartOf ?field .
nm:rome geo:location ?loc .
?loc geo:lat ?lat .
?loc geo:long ?long
}
Get labels, RDF type (class), field of numismatics, latitude, and longitude
https://gist.github.com/ewg118/3c55da72510cae200f93
SELECT ?label ?type ?field ?lat ?long WHERE {
nm:rome skos:prefLabel ?label ;
rdf:type ?type ;
dcterms:isPartOf ?field ;
geo:location ?loc .
?loc geo:lat ?lat ;
geo:long ?long
}
Using semicolons to simplify queries on the same Subject
Sorting and Filtering
SELECT ?label WHERE {
nm:rome skos:prefLabel ?label
} ORDER BY ASC(xsd:string(?label))
Order by string ?label in ascending (ASC) alphabetical order (DESC for descending)
https://gist.github.com/ewg118/00be8e5671a795a147ed
SELECT ?label WHERE {
nm:rome skos:prefLabel ?label .
FILTER langMatches( lang(?label), "en" )
}
Filter only for English labels
https://gist.github.com/ewg118/8161a9e118f3b8803a97
Broadening our queries
SELECT ?mints WHERE {
?mints a nmo:Mint
}
Get all URIs that are defined as a “mint” in nomisma.org:
http://nomisma.org/ontology#Mint
Note: 'a' is equivalent to 'rdf:type'
https://gist.github.com/ewg118/5e94523486541f3d89e2
Visualizing Greek Coin Production
SELECT ?label ?lat ?long WHERE {
?mints a nmo:Mint ;
skos:prefLabel ?label ;
dcterms:isPartOf nm:greek_numismatics ;
geo:location ?loc .
?loc geo:lat ?lat ;
geo:long ?long
FILTER langMatches( lang(?label), "en" )
}
Get all mints that are part of Greek numismatics and display the English
label, latitude, and longitude
https://gist.github.com/ewg118/7eb155ed89f04219af0f
Drops right into Google Fusion Tables!
Let's add complexity:
Querying Roman Republican Coins
A Coin Type: RRC 273/1
From Michael Crawford's
Roman Republican Coinage (1974)
http://numismatics.org/crro/id/rrc-273.1
PREFIX crro:<http://numismatics.org/crro/id/>
SELECT * WHERE {
?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ;
a ?type
}
Let's get all associated URIs and their type.
nmo:hasTypeSeriesItem: a URI linking to a reference in a type corpus
https://gist.github.com/ewg118/e5be0d3b8c3f6c262432
PREFIX crro:<http://numismatics.org/crro/id/>
SELECT ?objects ?weight WHERE {
?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ;
nmo:hasWeight ?weight
}
PREFIX crro:<http://numismatics.org/crro/id/>
SELECT ?objects ?diameter ?weight WHERE {
?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ;
nmo:hasWeight ?weight ;
nmo:hasDiameter ?diameter
}
Get all of the objects of the coin type RRC 273/1 and display weight/diameter
https://gist.github.com/ewg118/55f16a2a96521d6e6768
SELECT ?objects ?title ?diameter ?weight ?depiction WHERE {
?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ;
a nmo:NumismaticObject ;
dcterms:title ?title .
OPTIONAL { ?objects nmo:hasWeight ?weight }
OPTIONAL { ?objects nmo:hasDiameter ?diameter }
OPTIONAL { ?objects foaf:depiction ?depiction }
}
Optional values
Get URIs of RRC 273/1 which are coins. Get the title and optional weight, diameter, and image
https://gist.github.com/ewg118/9fdcbc32ffa07c7a5f42
SELECT (AVG(xsd:decimal(?weight)) AS ?avgWeight) WHERE {
?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ;
nmo:hasWeight ?weight
}
Average Values
What is this doing?
1.Casts ?weight as decimal number
2.Averages these numbers
3.Calls the new variable ?avgWeight
https://gist.github.com/ewg118/c059341524d187c76185
Digging Deeper into the Graph
SELECT * WHERE {
?types nmo:hasMaterial nm:ar ;
dcterms:source nm:rrc
}
SELECT ?objects WHERE {
?types nmo:hasMaterial nm:ar ;
dcterms:source nm:rrc .
?objects nmo:hasTypeSeriesItem ?types ;
a nmo:NumismaticObject
} LIMIT 100
All silver coin types from Roman Republican Coinage
https://gist.github.com/ewg118/b7530d6f9156ea2b2f42
All silver Republican coins
https://gist.github.com/ewg118/9500a604b2117698caae
Extending Queries with UNION
SELECT ?objects WHERE {
{ ?types nmo:hasMaterial nm:ar }
UNION { ?types nmo:hasMaterial nm:av }
?types dcterms:source nm:rrc .
?objects nmo:hasTypeSeriesItem ?types ;
a nmo:NumismaticObject
} LIMIT 100
Gather all Republican types that are silver and gold and list specimens
https://gist.github.com/ewg118/8ff575266b7dd1faf114
SELECT (count(?objects) as ?count) WHERE {
?types nmo:hasMaterial nm:ar ;
dcterms:source nm:rrc .
?objects nmo:hasTypeSeriesItem ?types ;
a nmo:NumismaticObject
}
SELECT ?label (count(?mint) as ?count) WHERE {
?types nmo:hasMaterial nm:ar ;
dcterms:source nm:rrc ;
nmo:hasMint ?mint .
?mint skos:prefLabel ?label .
FILTER langMatches(lang(?label), "en")
} GROUP BY ?label ORDER by ASC(?label)
Above: a count of all silver coins. Below: a count/order by mint
Counting
https://gist.github.com/ewg118/cb603f187f065acf1535 (above)
https://gist.github.com/ewg118/c854c94c3ed8fd0af898 (below)
Doing more with geography
SELECT DISTINCT ?object ?type ?findspot ?lat ?long ?name WHERE {
?coinType nmo:hasMaterial nm:ar ;
dcterms:source nm:ric .
{ ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
nmo:hasFindspot ?findspot }
UNION { ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
dcterms:isPartOf ?hoard .
?hoard nmo:hasFindspot ?findspot }
UNION { ?contents nmo:hasTypeSeriesItem ?coinType ;
a dcmitype:Collection .
?object dcterms:tableOfContents ?contents ;
nmo:hasFindspot ?findspot }
?object a ?type .
?findspot geo:lat ?lat .
?findspot geo:long ?long .
OPTIONAL { ?findspot foaf:name ?name }
}
Gather a union of all coins with explicit findspots, findspots derived from hoards, and a list of
hoards that are connected to silver coin types. Display findspot data.
https://gist.github.com/ewg118/c1fb8ba5c5609d260205
SELECT DISTINCT ?findspot ?lat ?long ?name WHERE {
?coinType nmo:hasMaterial nm:ar ;
dcterms:source nm:ric .
{ ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
nmo:hasFindspot ?findspot }
UNION { ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
dcterms:isPartOf ?hoard .
?hoard nmo:hasFindspot ?findspot }
UNION { ?contents nmo:hasTypeSeriesItem ?coinType ;
a dcmitype:Collection .
?object dcterms:tableOfContents ?contents ;
nmo:hasFindspot ?findspot }
?object a ?type .
?findspot geo:lat ?lat .
?findspot geo:long ?long .
OPTIONAL { ?findspot foaf:name ?name }
}
Distinct Findspots Only
https://gist.github.com/ewg118/2dc16c250e77a0996e28
Filtering By Date
SELECT DISTINCT ?object ?type ?findspot ?lat ?long ?name ?closingDate WHERE {
?coinType nmo:hasDenomination nm:denarius ;
nmo:hasEndDate ?date .
FILTER ( ?date >= "-0100"^^xsd:gYear && ?date <= "-0050"^^xsd:gYear ) .
{ ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
nmo:hasFindspot ?findspot }
UNION { ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
dcterms:isPartOf ?hoard .
?hoard nmo:hasFindspot ?findspot }
UNION { ?contents nmo:hasTypeSeriesItem ?coinType ;
a dcmitype:Collection .
?object dcterms:tableOfContents ?contents ;
nmo:hasFindspot ?findspot }
?object a ?type .
?findspot geo:lat ?lat .
?findspot geo:long ?long .
OPTIONAL { ?findspot foaf:name ?name }
OPTIONAL { ?object nmo:hasClosingDate ?closingDate }
} ORDER BY ?date
https://gist.github.com/ewg118/0ce62502c1876844ca2a
SELECT DISTINCT ?findspot ?lat ?long ?name WHERE {
?coinType nmo:hasMaterial nm:ar ;
dcterms:source nm:ric .
{ ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
nmo:hasFindspot ?findspot }
UNION { ?object nmo:hasTypeSeriesItem ?coinType ;
rdf:type nmo:NumismaticObject ;
dcterms:isPartOf ?hoard .
?hoard nmo:hasFindspot ?findspot }
UNION { ?contents nmo:hasTypeSeriesItem ?coinType ;
a dcmitype:Collection .
?object dcterms:tableOfContents ?contents ;
nmo:hasFindspot ?findspot }
?object a ?type .
?findspot geo:lat ?lat .
?findspot geo:long ?long .
OPTIONAL { ?findspot foaf:name ?name }
}
Distinct Findspots Only
https://gist.github.com/ewg118/2dc16c250e77a0996e28
Filtering By Regular Expression
SELECT DISTINCT ?coinTypeLabel ?mintLabel ?lat ?long ?date ?denominationLabel
WHERE {
?coinType nmo:hasReverse ?reverse .
?reverse dcterms:description ?description FILTER regex(?description, "jupiter", "i") .
?coinType skos:prefLabel ?coinTypeLabel FILTER langMatches(lang(?
coinTypeLabel), "en") .
?coinType nmo:hasMint ?mint .
?mint geo:location ?loc ;
skos:prefLabel ?mintLabel FILTER langMatches(lang(?mintLabel), "en") .
?loc geo:lat ?lat ;
geo:long ?long .
?coinType nmo:hasEndDate ?date FILTER (?date >= "0001"^^xsd:gYear)
OPTIONAL { ?coinType nmo:hasDenomination ?denomination .
?denomination skos:prefLabel ?denominationLabel FILTER
langMatches(lang(?denominationLabel), "en") }
} ORDER BY ASC(?date)
Get the geographic distribution of coins mentioning Jupiter on the reverse, after A.D. 1
https://gist.github.com/ewg118/f5e177c30fff5a282cb2
Advanced Spatial Query
SELECT DISTINCT ?hoard ?label ?lat ?long WHERE {
?loc spatial:nearby (37.974722 23.7225 50 'km') ;
geo:lat ?lat ;
geo:long ?long .
?hoard nmo:hasFindspot ?loc ;
a nmo:Hoard
OPTIONAL { ?hoard dcterms:title ?label }
OPTIONAL { ?hoard skos:prefLabel ?label }
}
Get hoards found within 50 km of a lat and long (Athens)
https://gist.github.com/ewg118/0bbf7e3c670f7394665f

Más contenido relacionado

La actualidad más candente

Robb broome rubyconf x presentation for publication
Robb broome rubyconf x presentation for publicationRobb broome rubyconf x presentation for publication
Robb broome rubyconf x presentation for publicationRobb Broome
 
Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)Mark Baker
 
Building fast interpreters in Rust
Building fast interpreters in RustBuilding fast interpreters in Rust
Building fast interpreters in RustIngvar Stepanyan
 
Haskell in the Real World
Haskell in the Real WorldHaskell in the Real World
Haskell in the Real Worldosfameron
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門Hiromi Ishii
 
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, ItalyPHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, ItalyPatrick Allaert
 
PHP 7 – What changed internally?
PHP 7 – What changed internally?PHP 7 – What changed internally?
PHP 7 – What changed internally?Nikita Popov
 
Metaprogramming in Haskell
Metaprogramming in HaskellMetaprogramming in Haskell
Metaprogramming in HaskellHiromi Ishii
 
From android/java to swift (3)
From android/java to swift (3)From android/java to swift (3)
From android/java to swift (3)allanh0526
 
Search Engine-Building with Lucene and Solr
Search Engine-Building with Lucene and SolrSearch Engine-Building with Lucene and Solr
Search Engine-Building with Lucene and SolrKai Chan
 
ITT 2015 - Saul Mora - Object Oriented Function Programming
ITT 2015 - Saul Mora - Object Oriented Function ProgrammingITT 2015 - Saul Mora - Object Oriented Function Programming
ITT 2015 - Saul Mora - Object Oriented Function ProgrammingIstanbul Tech Talks
 
Functional Algebra: Monoids Applied
Functional Algebra: Monoids AppliedFunctional Algebra: Monoids Applied
Functional Algebra: Monoids AppliedSusan Potter
 
Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...
Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...
Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...adrianoalmeida7
 
2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Wsloffenauer
 
Apache Commons ソースリーディングの会:Codec
Apache Commons ソースリーディングの会:CodecApache Commons ソースリーディングの会:Codec
Apache Commons ソースリーディングの会:Codecmoai kids
 
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたスマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたTaro Matsuzawa
 
The Ring programming language version 1.4.1 book - Part 13 of 31
The Ring programming language version 1.4.1 book - Part 13 of 31The Ring programming language version 1.4.1 book - Part 13 of 31
The Ring programming language version 1.4.1 book - Part 13 of 31Mahmoud Samir Fayed
 

La actualidad más candente (20)

Robb broome rubyconf x presentation for publication
Robb broome rubyconf x presentation for publicationRobb broome rubyconf x presentation for publication
Robb broome rubyconf x presentation for publication
 
Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)Php data structures – beyond spl (online version)
Php data structures – beyond spl (online version)
 
Building fast interpreters in Rust
Building fast interpreters in RustBuilding fast interpreters in Rust
Building fast interpreters in Rust
 
Haskell in the Real World
Haskell in the Real WorldHaskell in the Real World
Haskell in the Real World
 
Invertible-syntax 入門
Invertible-syntax 入門Invertible-syntax 入門
Invertible-syntax 入門
 
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, ItalyPHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
PHP data structures (and the impact of php 7 on them), phpDay Verona 2015, Italy
 
Regular expression for everyone
Regular expression for everyoneRegular expression for everyone
Regular expression for everyone
 
PHP 7 – What changed internally?
PHP 7 – What changed internally?PHP 7 – What changed internally?
PHP 7 – What changed internally?
 
Software Exploits
Software ExploitsSoftware Exploits
Software Exploits
 
Metaprogramming in Haskell
Metaprogramming in HaskellMetaprogramming in Haskell
Metaprogramming in Haskell
 
.Net (F # ) Records, lists
.Net (F # ) Records, lists.Net (F # ) Records, lists
.Net (F # ) Records, lists
 
From android/java to swift (3)
From android/java to swift (3)From android/java to swift (3)
From android/java to swift (3)
 
Search Engine-Building with Lucene and Solr
Search Engine-Building with Lucene and SolrSearch Engine-Building with Lucene and Solr
Search Engine-Building with Lucene and Solr
 
ITT 2015 - Saul Mora - Object Oriented Function Programming
ITT 2015 - Saul Mora - Object Oriented Function ProgrammingITT 2015 - Saul Mora - Object Oriented Function Programming
ITT 2015 - Saul Mora - Object Oriented Function Programming
 
Functional Algebra: Monoids Applied
Functional Algebra: Monoids AppliedFunctional Algebra: Monoids Applied
Functional Algebra: Monoids Applied
 
Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...
Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...
Cypher inside out: Como a linguagem de pesquisas em grafo do Neo4j foi constr...
 
2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws2007 09 10 Fzi Training Groovy Grails V Ws
2007 09 10 Fzi Training Groovy Grails V Ws
 
Apache Commons ソースリーディングの会:Codec
Apache Commons ソースリーディングの会:CodecApache Commons ソースリーディングの会:Codec
Apache Commons ソースリーディングの会:Codec
 
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみたスマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
スマートフォン勉強会@関東 #11 どう考えてもdisconなものをiPhoneに移植してみた
 
The Ring programming language version 1.4.1 book - Part 13 of 31
The Ring programming language version 1.4.1 book - Part 13 of 31The Ring programming language version 1.4.1 book - Part 13 of 31
The Ring programming language version 1.4.1 book - Part 13 of 31
 

Destacado

20150504 introduction2 digitalepigraphy-visible-words_final
20150504 introduction2 digitalepigraphy-visible-words_final20150504 introduction2 digitalepigraphy-visible-words_final
20150504 introduction2 digitalepigraphy-visible-words_finalEmmanuelle Morlock
 
2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...
2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...
2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...Emmanuelle Morlock
 
Projets d'Humanités numérique et collaboration de différents métiers
Projets d'Humanités numérique et collaboration de différents métiersProjets d'Humanités numérique et collaboration de différents métiers
Projets d'Humanités numérique et collaboration de différents métiersEmmanuelle Morlock
 
Ergonomie web et mobile en bibliothèque
Ergonomie web et mobile en bibliothèqueErgonomie web et mobile en bibliothèque
Ergonomie web et mobile en bibliothèqueJulien Sicot
 
Donnez vie à vos supports avec le Screencasting
Donnez vie à vos supports avec le ScreencastingDonnez vie à vos supports avec le Screencasting
Donnez vie à vos supports avec le ScreencastingJulien Sicot
 
Koha dans les bibliothèques de l'université Rennes 2
Koha dans les bibliothèques de l'université Rennes 2Koha dans les bibliothèques de l'université Rennes 2
Koha dans les bibliothèques de l'université Rennes 2Julien Sicot
 
Utiliser les API/webservices de l'Abes
Utiliser les API/webservices de l'AbesUtiliser les API/webservices de l'Abes
Utiliser les API/webservices de l'AbesJulien Sicot
 
Une application mobile avec les webservices Koha
Une application mobile avec les webservices KohaUne application mobile avec les webservices Koha
Une application mobile avec les webservices KohaJulien Sicot
 
Concevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec OmekaConcevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec OmekaJulien Sicot
 
Exploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseXExploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseXEmmanuelle Morlock
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygenEmmanuelle Morlock
 
18 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-2015
18 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-201518 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-2015
18 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-2015Emmanuelle Morlock
 
2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma
2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma
2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisomaEmmanuelle Morlock
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destacado (16)

20150504 introduction2 digitalepigraphy-visible-words_final
20150504 introduction2 digitalepigraphy-visible-words_final20150504 introduction2 digitalepigraphy-visible-words_final
20150504 introduction2 digitalepigraphy-visible-words_final
 
2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...
2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...
2010 09 06_construire-edition-electronqiue-vol-2-bouvard-et-pecuchet-colloque...
 
Projets d'Humanités numérique et collaboration de différents métiers
Projets d'Humanités numérique et collaboration de différents métiersProjets d'Humanités numérique et collaboration de différents métiers
Projets d'Humanités numérique et collaboration de différents métiers
 
Ergonomie web et mobile en bibliothèque
Ergonomie web et mobile en bibliothèqueErgonomie web et mobile en bibliothèque
Ergonomie web et mobile en bibliothèque
 
Donnez vie à vos supports avec le Screencasting
Donnez vie à vos supports avec le ScreencastingDonnez vie à vos supports avec le Screencasting
Donnez vie à vos supports avec le Screencasting
 
Koha dans les bibliothèques de l'université Rennes 2
Koha dans les bibliothèques de l'université Rennes 2Koha dans les bibliothèques de l'université Rennes 2
Koha dans les bibliothèques de l'université Rennes 2
 
Utiliser les API/webservices de l'Abes
Utiliser les API/webservices de l'AbesUtiliser les API/webservices de l'Abes
Utiliser les API/webservices de l'Abes
 
2010 10 08_angd_aussois_cdcf
2010 10 08_angd_aussois_cdcf2010 10 08_angd_aussois_cdcf
2010 10 08_angd_aussois_cdcf
 
Une application mobile avec les webservices Koha
Une application mobile avec les webservices KohaUne application mobile avec les webservices Koha
Une application mobile avec les webservices Koha
 
Concevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec OmekaConcevoir une bibliothèque numérique avec Omeka
Concevoir une bibliothèque numérique avec Omeka
 
Exploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseXExploration et visualisation de fichiers XML avec BaseX
Exploration et visualisation de fichiers XML avec BaseX
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
 
18 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-2015
18 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-201518 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-2015
18 02-2015 atelier-pratique-xml-tei-stage-d-ecdotique-2015
 
2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma
2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma
2014 03 atelier-xml-tei-stage-ecdotique-institut-sources-chretiennes-hisoma
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar a From 0 to 60 in SPARQL in 50 Minutes

NOSQL and Cassandra
NOSQL and CassandraNOSQL and Cassandra
NOSQL and Cassandrarantav
 
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic WebESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Webeswcsummerschool
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticwebAneta Tu
 
Solr and Lucene at Etsy - By Gregg Donovan
Solr and Lucene at Etsy - By Gregg DonovanSolr and Lucene at Etsy - By Gregg Donovan
Solr and Lucene at Etsy - By Gregg Donovanlucenerevolution
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic WebSteffen Staab
 
Test-driven development: a case study
Test-driven development: a case studyTest-driven development: a case study
Test-driven development: a case studyMaciej Pasternacki
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchPedro Franceschi
 
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...Jean-Paul Calbimonte
 
MongoDB Advanced Topics
MongoDB Advanced TopicsMongoDB Advanced Topics
MongoDB Advanced TopicsCésar Rodas
 
The Ring programming language version 1.2 book - Part 80 of 84
The Ring programming language version 1.2 book - Part 80 of 84The Ring programming language version 1.2 book - Part 80 of 84
The Ring programming language version 1.2 book - Part 80 of 84Mahmoud Samir Fayed
 
Hands On Spring Data
Hands On Spring DataHands On Spring Data
Hands On Spring DataEric Bottard
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By DesignAll Things Open
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphsandyseaborne
 
GraphConnect Europe 2016 - Importing Data - Mark Needham, Michael Hunger
GraphConnect Europe 2016 - Importing Data - Mark Needham, Michael HungerGraphConnect Europe 2016 - Importing Data - Mark Needham, Michael Hunger
GraphConnect Europe 2016 - Importing Data - Mark Needham, Michael HungerNeo4j
 
2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locatorAlberto Paro
 
2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locatorAlberto Paro
 

Similar a From 0 to 60 in SPARQL in 50 Minutes (20)

NOSQL and Cassandra
NOSQL and CassandraNOSQL and Cassandra
NOSQL and Cassandra
 
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic WebESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticweb
 
Solr & Lucene at Etsy
Solr & Lucene at EtsySolr & Lucene at Etsy
Solr & Lucene at Etsy
 
Solr and Lucene at Etsy - By Gregg Donovan
Solr and Lucene at Etsy - By Gregg DonovanSolr and Lucene at Etsy - By Gregg Donovan
Solr and Lucene at Etsy - By Gregg Donovan
 
Programming the Semantic Web
Programming the Semantic WebProgramming the Semantic Web
Programming the Semantic Web
 
Test-driven development: a case study
Test-driven development: a case studyTest-driven development: a case study
Test-driven development: a case study
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearch
 
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
Tutorial ESWC2011 Building Semantic Sensor Web - 04 - Querying_semantic_strea...
 
MongoDB Advanced Topics
MongoDB Advanced TopicsMongoDB Advanced Topics
MongoDB Advanced Topics
 
The Ring programming language version 1.2 book - Part 80 of 84
The Ring programming language version 1.2 book - Part 80 of 84The Ring programming language version 1.2 book - Part 80 of 84
The Ring programming language version 1.2 book - Part 80 of 84
 
Profiling Ruby
Profiling RubyProfiling Ruby
Profiling Ruby
 
Hands On Spring Data
Hands On Spring DataHands On Spring Data
Hands On Spring Data
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By Design
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
 
GraphConnect Europe 2016 - Importing Data - Mark Needham, Michael Hunger
GraphConnect Europe 2016 - Importing Data - Mark Needham, Michael HungerGraphConnect Europe 2016 - Importing Data - Mark Needham, Michael Hunger
GraphConnect Europe 2016 - Importing Data - Mark Needham, Michael Hunger
 
JSON and the APInauts
JSON and the APInautsJSON and the APInauts
JSON and the APInauts
 
Angular2 for Beginners
Angular2 for BeginnersAngular2 for Beginners
Angular2 for Beginners
 
2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator
 
2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator2017 02-07 - elastic & spark. building a search geo locator
2017 02-07 - elastic & spark. building a search geo locator
 

Más de ewg118

LOD for Numismatic LAM Integration
LOD for Numismatic LAM IntegrationLOD for Numismatic LAM Integration
LOD for Numismatic LAM Integrationewg118
 
Integrating Geographic Linked Data
Integrating Geographic Linked DataIntegrating Geographic Linked Data
Integrating Geographic Linked Dataewg118
 
XForms workshop slides
XForms workshop slidesXForms workshop slides
XForms workshop slidesewg118
 
Linking Lives, Linking Data
Linking Lives, Linking DataLinking Lives, Linking Data
Linking Lives, Linking Dataewg118
 
xEAC: XForms for EAC-CPF
xEAC: XForms for EAC-CPFxEAC: XForms for EAC-CPF
xEAC: XForms for EAC-CPFewg118
 
Linked Open Pottery
Linked Open PotteryLinked Open Pottery
Linked Open Potteryewg118
 
Roman Imperial Social Network and other things
Roman Imperial Social Network and other thingsRoman Imperial Social Network and other things
Roman Imperial Social Network and other thingsewg118
 
Roman Republican Coinage Online: How does it work?
Roman Republican Coinage Online: How does it work?Roman Republican Coinage Online: How does it work?
Roman Republican Coinage Online: How does it work?ewg118
 
Numismatic Linked Open Data and Geographic Analysis
Numismatic Linked Open Data and Geographic AnalysisNumismatic Linked Open Data and Geographic Analysis
Numismatic Linked Open Data and Geographic Analysisewg118
 
Building Interlinked Prosopographies: A New Approach
Building Interlinked Prosopographies: A New ApproachBuilding Interlinked Prosopographies: A New Approach
Building Interlinked Prosopographies: A New Approachewg118
 
Linking Roman Coins: CAA2012
Linking Roman Coins: CAA2012Linking Roman Coins: CAA2012
Linking Roman Coins: CAA2012ewg118
 

Más de ewg118 (11)

LOD for Numismatic LAM Integration
LOD for Numismatic LAM IntegrationLOD for Numismatic LAM Integration
LOD for Numismatic LAM Integration
 
Integrating Geographic Linked Data
Integrating Geographic Linked DataIntegrating Geographic Linked Data
Integrating Geographic Linked Data
 
XForms workshop slides
XForms workshop slidesXForms workshop slides
XForms workshop slides
 
Linking Lives, Linking Data
Linking Lives, Linking DataLinking Lives, Linking Data
Linking Lives, Linking Data
 
xEAC: XForms for EAC-CPF
xEAC: XForms for EAC-CPFxEAC: XForms for EAC-CPF
xEAC: XForms for EAC-CPF
 
Linked Open Pottery
Linked Open PotteryLinked Open Pottery
Linked Open Pottery
 
Roman Imperial Social Network and other things
Roman Imperial Social Network and other thingsRoman Imperial Social Network and other things
Roman Imperial Social Network and other things
 
Roman Republican Coinage Online: How does it work?
Roman Republican Coinage Online: How does it work?Roman Republican Coinage Online: How does it work?
Roman Republican Coinage Online: How does it work?
 
Numismatic Linked Open Data and Geographic Analysis
Numismatic Linked Open Data and Geographic AnalysisNumismatic Linked Open Data and Geographic Analysis
Numismatic Linked Open Data and Geographic Analysis
 
Building Interlinked Prosopographies: A New Approach
Building Interlinked Prosopographies: A New ApproachBuilding Interlinked Prosopographies: A New Approach
Building Interlinked Prosopographies: A New Approach
 
Linking Roman Coins: CAA2012
Linking Roman Coins: CAA2012Linking Roman Coins: CAA2012
Linking Roman Coins: CAA2012
 

Último

Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...amitlee9823
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...amitlee9823
 

Último (20)

Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 

From 0 to 60 in SPARQL in 50 Minutes

  • 1. 0 to 60 on SPARQL queries in 50 minutes Ethan Gruber American Numismatic Society gruber@numismatics.org @ewg118
  • 2. Some URLs Blog post with list of SPARQL queries in Gist (including slideshow link) http://bit.ly/1PGneCf Online Coins of the Roman Empire (OCRE) http://numismatics.org/ocre/ Coinage of the Roman Republic Online (CRRO) http://numismatics.org/crro/ Nomisma.org http://nomisma.org/ Google Fusion Tables: http://tables.googlelabs.com/
  • 4. <http://nomisma.org/id/denarius> skos:prefLabel “Denarius”@en ; rdf:type nmo:Denomination ; skos:exactMatch <http://vocab.getty.edu/aat/300037266> . Denarius as Triples
  • 5.
  • 6. What is a coin type? Material: silver Manufacture: struck Mint: Emerita Denomination: Denarius Authority: Augustus Legend Icononography
  • 7. Defining concepts on nomisma.org Material: http://nomisma.org/id/ar Manufacture: http://nomisma.org/id/struck Mint: http://nomisma.org/id/emerita Denomination: http://nomisma.org/id/denarius Authority: http://nomisma.org/id/augustus Legend: “Literal” Icononography: “Literal”
  • 8. A coin type URI: http://numismatics.org/ocre/id/ric.1(2).aug.4B Coin: http://numismatics.org/collection/1948.19.1029 Title, collection, accession number Physical attributes Image URLs Findspot http://collection.britishmuseum.org/id/object/CGR219958 http://www.smb.museum/ikmk/object.php?id=18207658 Hoard: http://numismatics.org/chrr/id/ZAR Title, publisher Findspot
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. ● Basic intro to SPARQL syntax ● Filtering/sorting ● Dealing with numbers ● OPTIONAL matches ● Merging with UNION ● Geographic queries ● Visualization with Google Fusion Tables
  • 14. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX ecrm: <http://erlangen-crm.org/current/> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX nm: <http://nomisma.org/id/> PREFIX nmo: <http://nomisma.org/ontology#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT * WHERE { ?s ?p ?o } LIMIT 100 http://nomisma.org/sparql
  • 15. ?s ?p ?o ?s = Subject ?p = Predicate (also, property) ?o = Object SELECT ?label WHERE { <http://nomisma.org/id/rome> <http://www.w3.org/2004/02/skos/core#prefLabel> ?label } Purpose: get a list of preferred labels for the concept of “Rome.” See http://nomisma.org/id/rome for all available properties https://gist.github.com/ewg118/a5a2de372a7734a090ad#file-rome_labels
  • 17. PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX nm: <http://nomisma.org/id/> Prefixes: Shortcuts for expressing URIs SELECT ?label WHERE { nm:rome skos:prefLabel ?label }
  • 18. Increasing query complexity SELECT ?label ?type ?field ?lat ?long WHERE { nm:rome skos:prefLabel ?label . nm:rome rdf:type ?type . nm:rome dcterms:isPartOf ?field . nm:rome geo:location ?loc . ?loc geo:lat ?lat . ?loc geo:long ?long } Get labels, RDF type (class), field of numismatics, latitude, and longitude https://gist.github.com/ewg118/3c55da72510cae200f93 SELECT ?label ?type ?field ?lat ?long WHERE { nm:rome skos:prefLabel ?label ; rdf:type ?type ; dcterms:isPartOf ?field ; geo:location ?loc . ?loc geo:lat ?lat ; geo:long ?long } Using semicolons to simplify queries on the same Subject
  • 19. Sorting and Filtering SELECT ?label WHERE { nm:rome skos:prefLabel ?label } ORDER BY ASC(xsd:string(?label)) Order by string ?label in ascending (ASC) alphabetical order (DESC for descending) https://gist.github.com/ewg118/00be8e5671a795a147ed SELECT ?label WHERE { nm:rome skos:prefLabel ?label . FILTER langMatches( lang(?label), "en" ) } Filter only for English labels https://gist.github.com/ewg118/8161a9e118f3b8803a97
  • 20. Broadening our queries SELECT ?mints WHERE { ?mints a nmo:Mint } Get all URIs that are defined as a “mint” in nomisma.org: http://nomisma.org/ontology#Mint Note: 'a' is equivalent to 'rdf:type' https://gist.github.com/ewg118/5e94523486541f3d89e2
  • 21. Visualizing Greek Coin Production SELECT ?label ?lat ?long WHERE { ?mints a nmo:Mint ; skos:prefLabel ?label ; dcterms:isPartOf nm:greek_numismatics ; geo:location ?loc . ?loc geo:lat ?lat ; geo:long ?long FILTER langMatches( lang(?label), "en" ) } Get all mints that are part of Greek numismatics and display the English label, latitude, and longitude https://gist.github.com/ewg118/7eb155ed89f04219af0f Drops right into Google Fusion Tables!
  • 22. Let's add complexity: Querying Roman Republican Coins A Coin Type: RRC 273/1 From Michael Crawford's Roman Republican Coinage (1974) http://numismatics.org/crro/id/rrc-273.1
  • 23. PREFIX crro:<http://numismatics.org/crro/id/> SELECT * WHERE { ?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ; a ?type } Let's get all associated URIs and their type. nmo:hasTypeSeriesItem: a URI linking to a reference in a type corpus https://gist.github.com/ewg118/e5be0d3b8c3f6c262432
  • 24. PREFIX crro:<http://numismatics.org/crro/id/> SELECT ?objects ?weight WHERE { ?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ; nmo:hasWeight ?weight } PREFIX crro:<http://numismatics.org/crro/id/> SELECT ?objects ?diameter ?weight WHERE { ?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ; nmo:hasWeight ?weight ; nmo:hasDiameter ?diameter } Get all of the objects of the coin type RRC 273/1 and display weight/diameter https://gist.github.com/ewg118/55f16a2a96521d6e6768
  • 25. SELECT ?objects ?title ?diameter ?weight ?depiction WHERE { ?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ; a nmo:NumismaticObject ; dcterms:title ?title . OPTIONAL { ?objects nmo:hasWeight ?weight } OPTIONAL { ?objects nmo:hasDiameter ?diameter } OPTIONAL { ?objects foaf:depiction ?depiction } } Optional values Get URIs of RRC 273/1 which are coins. Get the title and optional weight, diameter, and image https://gist.github.com/ewg118/9fdcbc32ffa07c7a5f42
  • 26. SELECT (AVG(xsd:decimal(?weight)) AS ?avgWeight) WHERE { ?objects nmo:hasTypeSeriesItem crro:rrc-273.1 ; nmo:hasWeight ?weight } Average Values What is this doing? 1.Casts ?weight as decimal number 2.Averages these numbers 3.Calls the new variable ?avgWeight https://gist.github.com/ewg118/c059341524d187c76185
  • 27. Digging Deeper into the Graph SELECT * WHERE { ?types nmo:hasMaterial nm:ar ; dcterms:source nm:rrc } SELECT ?objects WHERE { ?types nmo:hasMaterial nm:ar ; dcterms:source nm:rrc . ?objects nmo:hasTypeSeriesItem ?types ; a nmo:NumismaticObject } LIMIT 100 All silver coin types from Roman Republican Coinage https://gist.github.com/ewg118/b7530d6f9156ea2b2f42 All silver Republican coins https://gist.github.com/ewg118/9500a604b2117698caae
  • 28. Extending Queries with UNION SELECT ?objects WHERE { { ?types nmo:hasMaterial nm:ar } UNION { ?types nmo:hasMaterial nm:av } ?types dcterms:source nm:rrc . ?objects nmo:hasTypeSeriesItem ?types ; a nmo:NumismaticObject } LIMIT 100 Gather all Republican types that are silver and gold and list specimens https://gist.github.com/ewg118/8ff575266b7dd1faf114
  • 29. SELECT (count(?objects) as ?count) WHERE { ?types nmo:hasMaterial nm:ar ; dcterms:source nm:rrc . ?objects nmo:hasTypeSeriesItem ?types ; a nmo:NumismaticObject } SELECT ?label (count(?mint) as ?count) WHERE { ?types nmo:hasMaterial nm:ar ; dcterms:source nm:rrc ; nmo:hasMint ?mint . ?mint skos:prefLabel ?label . FILTER langMatches(lang(?label), "en") } GROUP BY ?label ORDER by ASC(?label) Above: a count of all silver coins. Below: a count/order by mint Counting https://gist.github.com/ewg118/cb603f187f065acf1535 (above) https://gist.github.com/ewg118/c854c94c3ed8fd0af898 (below)
  • 30. Doing more with geography SELECT DISTINCT ?object ?type ?findspot ?lat ?long ?name WHERE { ?coinType nmo:hasMaterial nm:ar ; dcterms:source nm:ric . { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; nmo:hasFindspot ?findspot } UNION { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; dcterms:isPartOf ?hoard . ?hoard nmo:hasFindspot ?findspot } UNION { ?contents nmo:hasTypeSeriesItem ?coinType ; a dcmitype:Collection . ?object dcterms:tableOfContents ?contents ; nmo:hasFindspot ?findspot } ?object a ?type . ?findspot geo:lat ?lat . ?findspot geo:long ?long . OPTIONAL { ?findspot foaf:name ?name } } Gather a union of all coins with explicit findspots, findspots derived from hoards, and a list of hoards that are connected to silver coin types. Display findspot data. https://gist.github.com/ewg118/c1fb8ba5c5609d260205
  • 31. SELECT DISTINCT ?findspot ?lat ?long ?name WHERE { ?coinType nmo:hasMaterial nm:ar ; dcterms:source nm:ric . { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; nmo:hasFindspot ?findspot } UNION { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; dcterms:isPartOf ?hoard . ?hoard nmo:hasFindspot ?findspot } UNION { ?contents nmo:hasTypeSeriesItem ?coinType ; a dcmitype:Collection . ?object dcterms:tableOfContents ?contents ; nmo:hasFindspot ?findspot } ?object a ?type . ?findspot geo:lat ?lat . ?findspot geo:long ?long . OPTIONAL { ?findspot foaf:name ?name } } Distinct Findspots Only https://gist.github.com/ewg118/2dc16c250e77a0996e28
  • 32. Filtering By Date SELECT DISTINCT ?object ?type ?findspot ?lat ?long ?name ?closingDate WHERE { ?coinType nmo:hasDenomination nm:denarius ; nmo:hasEndDate ?date . FILTER ( ?date >= "-0100"^^xsd:gYear && ?date <= "-0050"^^xsd:gYear ) . { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; nmo:hasFindspot ?findspot } UNION { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; dcterms:isPartOf ?hoard . ?hoard nmo:hasFindspot ?findspot } UNION { ?contents nmo:hasTypeSeriesItem ?coinType ; a dcmitype:Collection . ?object dcterms:tableOfContents ?contents ; nmo:hasFindspot ?findspot } ?object a ?type . ?findspot geo:lat ?lat . ?findspot geo:long ?long . OPTIONAL { ?findspot foaf:name ?name } OPTIONAL { ?object nmo:hasClosingDate ?closingDate } } ORDER BY ?date https://gist.github.com/ewg118/0ce62502c1876844ca2a
  • 33. SELECT DISTINCT ?findspot ?lat ?long ?name WHERE { ?coinType nmo:hasMaterial nm:ar ; dcterms:source nm:ric . { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; nmo:hasFindspot ?findspot } UNION { ?object nmo:hasTypeSeriesItem ?coinType ; rdf:type nmo:NumismaticObject ; dcterms:isPartOf ?hoard . ?hoard nmo:hasFindspot ?findspot } UNION { ?contents nmo:hasTypeSeriesItem ?coinType ; a dcmitype:Collection . ?object dcterms:tableOfContents ?contents ; nmo:hasFindspot ?findspot } ?object a ?type . ?findspot geo:lat ?lat . ?findspot geo:long ?long . OPTIONAL { ?findspot foaf:name ?name } } Distinct Findspots Only https://gist.github.com/ewg118/2dc16c250e77a0996e28
  • 34. Filtering By Regular Expression SELECT DISTINCT ?coinTypeLabel ?mintLabel ?lat ?long ?date ?denominationLabel WHERE { ?coinType nmo:hasReverse ?reverse . ?reverse dcterms:description ?description FILTER regex(?description, "jupiter", "i") . ?coinType skos:prefLabel ?coinTypeLabel FILTER langMatches(lang(? coinTypeLabel), "en") . ?coinType nmo:hasMint ?mint . ?mint geo:location ?loc ; skos:prefLabel ?mintLabel FILTER langMatches(lang(?mintLabel), "en") . ?loc geo:lat ?lat ; geo:long ?long . ?coinType nmo:hasEndDate ?date FILTER (?date >= "0001"^^xsd:gYear) OPTIONAL { ?coinType nmo:hasDenomination ?denomination . ?denomination skos:prefLabel ?denominationLabel FILTER langMatches(lang(?denominationLabel), "en") } } ORDER BY ASC(?date) Get the geographic distribution of coins mentioning Jupiter on the reverse, after A.D. 1 https://gist.github.com/ewg118/f5e177c30fff5a282cb2
  • 35. Advanced Spatial Query SELECT DISTINCT ?hoard ?label ?lat ?long WHERE { ?loc spatial:nearby (37.974722 23.7225 50 'km') ; geo:lat ?lat ; geo:long ?long . ?hoard nmo:hasFindspot ?loc ; a nmo:Hoard OPTIONAL { ?hoard dcterms:title ?label } OPTIONAL { ?hoard skos:prefLabel ?label } } Get hoards found within 50 km of a lat and long (Athens) https://gist.github.com/ewg118/0bbf7e3c670f7394665f