SPARQL

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 4. elokuuta 2020 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .

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] .  

W3C-standardit

Yleiskatsaus : http://www.w3.org/standards/techs/sparql 

Yleinen kyselykaavio

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.

Edut

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 ..

Pyyntölomakkeet

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.

Avainsanat

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] .

RDF-kyselykielten vertailu

  • DQL  - perustuu XML :ään , kyselyt ja tulokset ilmaistaan ​​muodossa DAML+OIL ;
  • N3QL  - perustuu notaatioon 3 ;
  • R-LAITE ;
  • RDFQ  - perustuu XML:ään;
  • RDQ  - samanlainen kuin SQL ;
  • RDQL  - samanlainen kuin SQL;
  • SeRQL  - samanlainen kuin SQL, lähellä RDQL:ää;
  • Versa  - kompakti syntaksi (ei SQL), yksinomaan 4Suitelle ( Python-kieli ).

Versiot

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] .

Esimerkki

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 Access Point

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.

Esimerkkejä

Automaattinen kyselyn suoritus

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] .

Muistiinpanot

  1. Semantic Web Activity News  (englanniksi)  (downlink) . — Semanttiset verkkouutiset. Haettu 10. kesäkuuta 2011. Arkistoitu alkuperäisestä 2. kesäkuuta 2012.
  2. W3C Semantic Web Activity Publications  (englanniksi)  (downlink) . W3C . — Luettelo semanttisen verkkoprojektin W3C-julkaisuista. Haettu 23. marraskuuta 2009. Arkistoitu alkuperäisestä 2. kesäkuuta 2012.
  3. Berners-Lee etsii Webin suurta harppausta  (eng.)  (linkki ei ole käytettävissä) . - Tim Berners-Leen haastattelu. Haettu 10. kesäkuuta 2011. Arkistoitu alkuperäisestä 30. syyskuuta 2007.
  4. Tim Berners-Lee. Linkitetyt tiedot. Suunnitteluongelmat.  (englanniksi)  (linkki ei ole käytettävissä) . — Huomautuksia tietojen julkaisemisesta semanttisessa verkossa. Haettu 14. kesäkuuta 2011. Arkistoitu alkuperäisestä 2. kesäkuuta 2012.
  5. SPARQL-kyselyn rakenne  (eng.)  (linkki ei saatavilla) . - SPARQL-kyselyn rakenne. Haettu 10. kesäkuuta 2011. Arkistoitu alkuperäisestä 11. helmikuuta 2012.
  6. Tim Berners-Lee. Semanttisen verkon etenemissuunnitelma . - 1998. Arkistoitu 12. elokuuta 2011.
  7. SPARQL-kyselykieli RDF:lle  (  linkki ei saavutettavissa) . — SPARQL-kyselykieli RDF:lle. Haettu 28. kesäkuuta 2011. Arkistoitu alkuperäisestä 2. kesäkuuta 2012.
  8. SPARQL esimerkillä  (englanniksi)  (downlink) . SPARQL esimerkkinä. Haettu 28. kesäkuuta 2011. Arkistoitu alkuperäisestä 11. helmikuuta 2012.
  9. SPARQL-päätepiste (downlink) . Haettu 24. kesäkuuta 2011. Arkistoitu alkuperäisestä 7. heinäkuuta 2011. 
  10. SPARQL - toteutuksen kattavuusraportti  — Yleiskatsaus SPARQL-toteutusten täydellisyydestä. Haettu 23. marraskuuta 2009. Arkistoitu alkuperäisestä 2. kesäkuuta 2012. 
  11. ViziQuer  (englanniksi)  (pääsemätön linkki) . — Strukturoidun semanttisen tiedon haun apuohjelma. Haettu 10. kesäkuuta 2011. Arkistoitu alkuperäisestä 2. kesäkuuta 2012.

Linkit