Základy syntaxe SPARQL
SELECT ?a ?b ?c
WHERE
{
x y ?a.
m n ?b.
?b f ?c.
}
jako například
SELECT ?budova
WHERE
{
?budova konstrukce pernikova.
?budova pocetPodlazi 1.
}
kde ?budova konstrukce pernikova. vyjadřuje sémantickou vazbu subjekt, predikát, objekt
(tzv. triple).
Tento (nebo jakýkoli jiný dotaz) se pak zadává v tzv. SPARQL endpoint jako například
https://www.foodie-cloud.org/sparql. Jedná se o URL adresu místa, kde klient může komunikovat
(dotazovat se) na server.
Základní rozhraní pro dotazy z DBpedia.org
http://dbpedia.org/snorql/
SELECT ?name ?birth ?death ?person WHERE
{ ?person dbo:birthPlace ?birthPlace .
?person dbo:birthDate ?birth .
?person foaf:name ?name .
?person dbo:deathDate ?death .
FILTER (?birth < "1900-01-01"^^xsd:date) . } ORDER BY ?name
Nápovědy:
1) Stávající syntaxe vám vypíše všechny rodáky všech měst v celém světě a narozené před rokem 1900
až po toho, kde dojde limit na délku odpovědi. Proto to chvíli trvá.
2) Konkrétní hodnoty se zapisují dvojtečkou a hodnotou.
3) Název města skládající se z více slov pojí podtržítko. Nepoužívejte diakritiku.
Následující příklad umožní ukázat pouze hudební skladatele z Brna.
SELECT ?name ?birth ?description ?person WHERE {
?person a dbo:MusicalArtist .
?person dbo:birthPlace :Brno .
?person foaf:name ?name .
?person rdfs:comment ?description .
FILTER (LANG(?description) = 'en') .
} ORDER BY ?name
Sémantických databází je dnes neuvěřitelné množství, pro připomenutí informací z přednášky se
podívejte na http://lod-cloud.net/.
V rámci těchto databází existuje také SPARQL endpoint http://linkedgeodata.org/sparql
Základní rozhraní pro prostorové dotazy
http://linkedgeodata.org/sparql
Syntaxe níže ukazuje dotaz na data z OpenStreetMap ve vzdálenosti 0,1 km od stanoveného místa (se
souřadnicemi 16.597, 49.204).
Prefix lgdo:
Prefix geom:
Prefix ogc:
Select *
From {
?s
a lgdo:Amenity ;
rdfs:label ?l ;
geom:geometry [
ogc:asWKT ?g
] .
Filter(bif:st_intersects (?g, bif:st_point (16.597, 49.204),
0.1)) .
}
Co s tím vším dál?
Google poskytuje nástroje na zpracování i validaci strukturovaných dat. Příkladem je:
https://search.google.com/structured-data/testing-tool
Po ověření validní RDF struktury se zpracovávají tzv. rich cards. Rich cards jsou možné pouze u
sémantických dat (viz Obr. 2), metadata bez sémantiky se zobrazují jako na Obr. 1.
Obr. 1. Výsledky vyhledávání Google pomocí metadat bez sémantiky.
Obr. 2. Výsledky vyhledávání na Google pomocí RDF metadat – tzv. rich cards.