SPARQL ( rekursiivinen lyhenne SPARQL- protokollalle ja RDF-kyselykielelle ) on RDF -mallin edustamien tietojen kyselykieli sekä protokolla näiden kyselyiden lähettämiseen ja niihin vastaamiseen. SPARQL on W3C:n [1] suositus ja yksi semanttisen webin teknologioista [2] [3] . SPARQL-päätepisteiden ( englanniksi SPARQL-endpoint ) tarjoaminen on suositeltua käytäntöä julkaistaessa tietoja World Wide Webissä [4] .
Yleiskatsaus : http://www.w3.org/standards/techs/sparql
Kuten SQL :ssä , SPARQL ilmoittaa paitsi lukemisen myös tietojen käsittelyn. SPARQL-päivitysstandardi kuvaa INSERT- ja DELETE-komennot, joilla lisätään ja poistetaan tallennustilassa olevia triplettejä. Molemmat komennot toimivat kuitenkin jonkinlaisella valinnalla, joten SPARQL:n perusta on SELECT-komento.
SPARQL SELECT -kyselyn yleinen skeema näyttää tältä [5] :
PREFIX # -etuliitemäärityksiä käytetään määrittämään pyynnössä käytetyt URI-lyhenteet #. FROM ... # kyselylähdettä - määritä, mitä RDF-kaavioita pyydetään. SELECT ... # tuloskokoonpano - määrittää palautetut tietoelementit. WHERE {...} # kyselymalli - määrittää, mitä tietojoukosta haetaan. ORDER BY ... # kyselyn muokkaajat - rajoita, järjestä, muunna kyselyn tuloksia.SPARQL:n avulla käyttäjät voivat kirjoittaa maailmanlaajuisesti ainutlaatuisia kyselyitä. Esimerkiksi seuraava kysely palauttaa kaikkien maailmassa olevien ihmisten nimet ja sähköpostiosoitteet:
PREFIX foaf : <http://xmlns.com/foaf/0.1/> VALITSE ?nimi ?sähköposti WHERE { ?person a foaf : Henkilö . ? personfoaf : nimi ?nimi . ? personfoaf : mbox ?email . }Annettuja parametreja käytetään kuvaamaan FOAF :iin kuuluvaa henkilöä . Tämä havainnollistaa näkemystä semanttisesta webistä yhtenä valtavana tietokantana [6] . Jokainen SPARQL:n tunniste, URI, on maailmanlaajuisesti ainutlaatuinen, toisin kuin SQL:ssä yleisesti käytetty "email" tai "e-mail".
Tämä kysely voidaan jakaa useille SPARQL-päätepisteille, eri koneille, ja tulosten kerääminen tapahtuu prosessilla, joka tunnetaan nimellä Federated Search ..
SPARQL-kieli määrittelee neljä erilaista kyselyvaihtoehtoa eri tarkoituksiin:
VALITSE kysely
Hakee raaka-arvot SPARQL-tukipisteestä ja palauttaa tulokset taulukkomuodossa.RAKENTA-kysely
Poimii tiedot SPARQL-tukipisteestä RDF -muodossa ja muuntaa tulokset tiettyyn muotoon.KYSY pyyntö
Luo tosi/epätosi-kyselyn.KUVAUS pyyntö
Saa kuvauksen RDF-resurssista. DESCRIBE-kyselyiden käyttäytymisen toteuttaminen on SPARQL-tukiaseman kehittäjän vastuulla.Jokainen näistä pyyntölomakkeista sisältää WHERE-lohkon rajoitusten määrittämiseksi, vaikka tämä lohko on valinnainen DESCRIBE-pyynnön tapauksessa.
Alla on osa SPARQL-kyselyissä käytetyistä avainsanoista, täydellinen luettelo on saatavilla virallisessa dokumentaatiossa .
PREFIX - Käytetään URI:n lyhentämiseen.
VALINNAINEN - osoittaa valinnaisen kuvion.
GRAPH - käyttää mallia nimettyihin kaavioihin.
DISTINCT - varmistaa ratkaisujen ainutlaatuisuuden vastauksessa pyyntöön.
RAJA - määrittää tulostettujen tulosten enimmäismäärän.
OFFSET - Jättää pois tuloksesta ensimmäiset n ratkaisua.
ORDER BY - voit lajitella tuloksen nousevaan ( ASC()) tai laskevaan ( DESC()) [7] .
SPARQL 1.0 :sta tuli standardi tammikuussa 2008 ja se sisälsi:
SPARQL 1.0 -kyselykieli; SPARQL 1.0 -protokolla; SPARQL XML -tulosmuoto.SPARQL 1.1 on nykyinen versio ja sisältää:
SPARQL-kyselykieli ja protokolla päivitetty versioon 1.1; SPARQL 1.1 -päivitykset; SPARQL 1.1 HTTP-protokolla RDF-kaavioiden hallintaan; SPARQL 1.1 Palvelukuvaukset; SPARQL 1.1 Entailments; SPARQL 1.1 -ydinkyselyt [8] .Toinen esimerkki SPARQL-kyselyistä: "Etsi julkaisupäivät kaikille The Sopranosin vuodenajoille ":
PREFIX dbpo : <nowiki><http://dbpedia.org/ontology/></nowiki> SELECT * WHERE { ?e dbpo : series <http://dbpedia.org/resource/The_Sopranos> . ?e dbpo : releaseDate ?date . ?e dbpo : episodeNumber ?numero . ?e dbpo : seasonNumber ?season . } TILAA ALANNE ( ?päivämäärä )Muuttujat on merkitty etuliitteellä "?" tai "$".
Jotta kyselyt olisivat ytimekkäitä, SPARQL sallii etuliitteiden ja perus - URI :iden määrittämisen kilpikonnan tapaan . Tässä kyselyssä "dbpo"-etuliite tarkoittaa "http://dbpedia.org/ontology/".
SPARQL-tukiasema on palvelu, joka tukee SPARQL-kyselyprotokollaa. Tukiaseman avulla käyttäjä voi tehdä kyselyjä tietokannasta. Palvelin käsittelee pyynnön ja palauttaa vastauksen jossain, yleensä koneellisesti luettavassa muodossa. Näin ollen SPARQL-tukiasemat ovat ensisijaisesti API :ita tietokantoihin, ja tulosten esittäminen on toteutettava soittajan ohjelmistolla [9] .
Tukiasemia on kahdenlaisia: yleiskäyttöisiä ja paikallisia .
Yleiskäyttöiset tukiasemat voivat tehdä kyselyitä kaikista määritetyistä RDF-dokumenteista, jotka ovat verkossa. Ja paikalliset tukiasemat voivat vastaanottaa tietoja vain yhdestä resurssista.
Tällä hetkellä useille ohjelmointikielille on mahdollista kutsua SPARQL-kyselyitä [10] , on olemassa työkaluja, joiden avulla voit yhdistää ja puoliautomaattisesti rakentaa SPARQL-kyselyitä SPARQL-tukiasemalle, esimerkiksi ViziQuer [11] .
![]() |
---|
Kyselykielet | |
---|---|
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tuotteet ja standardit |
| ||||||||||||||
Organisaatiot |
| ||||||||||||||
PÄÄLLÄ |
| ||||||||||||||
Konferenssit |
|
semanttinen verkko | |
---|---|
Perusasiat | |
alajaksot |
|
Sovellukset |
|
liittyvät aiheet | |
Standardit |
|