SPARQL

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. augusztus 4-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

A SPARQL ( a SPARQL protokoll és az RDF lekérdezési nyelv rekurzív mozaikszója ) az RDF -modell által képviselt adatok lekérdezési nyelve , valamint az ilyen lekérdezések továbbítására és megválaszolására szolgáló protokoll . A SPARQL a W3C [1] és az egyik szemantikus web technológia [2] [3] ajánlása . A SPARQL-végpontok ( angolul SPARQL-endpoint ) biztosítása ajánlott gyakorlat az adatok világhálón való közzétételekor [4] .   

W3C szabványok

Áttekintés : http://www.w3.org/standards/techs/sparql 

Általános lekérdezési séma

Az SQL -hez hasonlóan a SPARQL nemcsak olvasást, hanem adatkezelést is deklarál. A SPARQL Update szabvány leírja az INSERT és DELETE parancsokat a hármasok hozzáadásához és eltávolításához. Azonban mindkét parancs valamilyen kijelölésen működik, így a SPARQL alapja a SELECT parancs.

A SPARQL SELECT lekérdezés általános sémája így néz ki [5] :

A PREFIX # előtag deklarációi a kérésben használt # URI rövidítések megadására szolgálnak. FROM ... # lekérdezési források - határozza meg, mely RDF grafikonokat kéri. SELECT ... # eredmény összetétele - meghatározza a visszaadott adatelemeket. WHERE {...} # lekérdezési sablon - meghatározza, hogy mit kell lekérdezni az adatkészletből. ORDER BY ... # lekérdezésmódosítók - a lekérdezés eredményeinek korlátozása, sorrendje, átalakítása.

Előnyök

A SPARQL lehetővé teszi a felhasználók számára, hogy globálisan egyedi lekérdezéseket írjanak. Például a következő lekérdezés a világon minden ember nevét és e-mail címét adja vissza:

PREFIX foaf : <http://xmlns.com/foaf/0.1/> SELECT ?name ?email WHERE { ?person a foaf : Person . ? personfoaf : név ?név . ? personfoaf : mbox ?email . }

A megadott paraméterek a FOAF -ban szereplő személy leírására szolgálnak . Ez a szemantikus web egyetlen hatalmas adatbázisként való elképzelését szemlélteti [6] . A SPARQL minden azonosítója, egy URI, globálisan egyedi, ellentétben az SQL-ben általánosan használt "e-mail" vagy "e-mail" azonosítókkal.

Ez a lekérdezés elosztható több SPARQL-végponton, különböző gépeken, és az eredmények összegyűjtése az összevont keresés néven ismert eljárással történik..

Igénylőlapok

A SPARQL nyelv négy különböző lekérdezési lehetőséget határoz meg különböző célokra:

SELECT lekérdezés

Nyers értékeket kér le egy SPARQL hozzáférési pontról, és az eredményeket táblázatos formátumban adja vissza.

CONSTRUCT lekérdezés

Kivonja az információkat egy SPARQL hozzáférési pontból RDF formátumban , és az eredményeket egy adott űrlapra konvertálja.

ASK kérés

Igaz/hamis lekérdezést generál.

A kérés LEÍRÁSA

Lekéri az RDF erőforrás leírását. A DESCRIBE lekérdezések viselkedésének megvalósítása a SPARQL hozzáférési pont fejlesztőjén múlik.

Mindegyik kérési űrlap tartalmaz egy WHERE blokkot a megszorítások meghatározásához, bár ez a blokk nem kötelező DESCRIBE kérés esetén.

Kulcsszavak

Az alábbiakban a SPARQL lekérdezésekben használt kulcsszavak egy része látható, a teljes lista a hivatalos dokumentációban található .

PREFIX  – Az URI lerövidítésére szolgál.

OPCIONÁLIS  – opcionális mintát jelöl.

GRAPH  – sablont alkalmaz elnevezett grafikonokra.

DISTINCT  - biztosítja a megoldások egyediségét a kérésre adott válaszban.

LIMIT  – beállítja a kimeneti eredmények maximális számát.

OFFSET  – Kihagyja az első n megoldást az eredményből.

ORDER BY  - lehetővé teszi az eredmény növekvő ( ASC()) vagy csökkenő ( DESC()) szerinti rendezését [7] .

RDF lekérdezési nyelvek összehasonlítása

  • DQL  - XML ​​alapú , a lekérdezések és az eredmények DAML+OIL -ban vannak kifejezve ;
  • N3QL  - a 3. jelölés alapján ;
  • R-DEVICE ;
  • RDFQ  - XML ​​alapú;
  • RDQ  - hasonló az SQL -hez ;
  • RDQL  - hasonló az SQL-hez;
  • SeRQL  - hasonló az SQL-hez, közel az RDQL-hez;
  • Versa  – kompakt szintaxis (nem SQL), kizárólag a 4Suite -hoz ( Python nyelv ).

Verziók

A SPARQL 1.0 2008 januárjában vált szabványossá, és a következőket tartalmazza:

SPARQL 1.0 lekérdezési nyelv; SPARQL 1.0 protokoll; SPARQL XML eredményformátum.

A SPARQL 1.1 a jelenlegi verzió, és a következőket tartalmazza:

A SPARQL lekérdezési nyelve és protokollja 1.1-re frissítve; SPARQL 1.1 frissítések; SPARQL 1.1 HTTP protokoll RDF grafikonok kezelésére; SPARQL 1.1 szolgáltatásleírások; SPARQL 1.1 Entailments; SPARQL 1.1 Core Federated Queries [8] .

Példa

Egy másik példa a SPARQL-lekérdezésekre: " A Sopranos minden évadának megjelenési dátumainak keresése ":

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 ?szám . ?e dbpo : szezonNumber ?szezon . } RENDEZÉS LEJÁRÁS SZERINT ( ?dátum )

A változókat a "?" előtag jelöli. vagy "$".

A lekérdezések tömörebbé tétele érdekében a SPARQL lehetővé teszi az előtagok és az alap URI -k Turtle - szerű módon történő meghatározását . Ebben a lekérdezésben a „dbpo” előtag a „http://dbpedia.org/ontology/” rövidítése.

SPARQL Access Point

A SPARQL Access Point egy olyan szolgáltatás, amely támogatja a SPARQL Query Protocolt. A hozzáférési pont lehetővé teszi a felhasználó számára, hogy lekérdezze a tudásbázist. A szerver feldolgozza a kérést, és valamilyen, általában géppel olvasható formátumban ad vissza választ. A SPARQL hozzáférési pontok tehát elsősorban tudásbázisok API -jai, és az eredmények bemutatását a hívó szoftvernek kell megvalósítania [9] .

Kétféle hozzáférési pont létezik: általános célú és helyi .

Az általános célú hozzáférési pontok bármely megadott RDF dokumentumot lekérdezhetnek a weben. A helyi hozzáférési pontok pedig csak egy erőforrásból képesek adatokat fogadni.

Példák

Automatikus lekérdezés végrehajtása

Jelenleg számos programozási nyelv esetében lehetséges a SPARQL lekérdezések [10] meghívása , léteznek olyan eszközök, amelyek lehetővé teszik SPARQL lekérdezések csatlakoztatását és félautomatikus felépítését egy SPARQL hozzáférési ponthoz, például ViziQuer [11] .

Jegyzetek

  1. Szemantikus webes tevékenységgel kapcsolatos hírek  (angolul)  (lefelé mutató link) . — Szemantikus webhírek. Letöltve: 2011. június 10. Az eredetiből archiválva : 2012. június 2.
  2. W3C szemantikus webes tevékenység kiadványai  (angol nyelven)  (lefelé hivatkozás) . W3C . — A Semantic Web Project W3C-kiadványainak listája. Letöltve: 2009. november 23. Az eredetiből archiválva : 2012. június 2.
  3. Berners-Lee a Web nagy ugrását keresi  (eng.)  (hivatkozás nem érhető el) . – Tim Berners-Lee interjú. Letöltve: 2011. június 10. Az eredetiből archiválva : 2007. szeptember 30..
  4. Tim Berners-Lee. Kapcsolt adatok. Tervezési kérdések.  (angol)  (elérhetetlen link) . — Megjegyzések az adatok szemantikus weben való közzétételéhez. Letöltve: 2011. június 14. Az eredetiből archiválva : 2012. június 2.
  5. A SPARQL lekérdezés szerkezete  (eng.)  (hivatkozás nem érhető el) . - A SPARQL lekérdezés szerkezete. Letöltve: 2011. június 10. Az eredetiből archiválva : 2012. február 11..
  6. Tim Berners-Lee. Szemantikus webes ütemterv . - 1998. Archiválva : 2011. augusztus 12.
  7. SPARQL lekérdezési nyelv az RDF-hez  (  elérhetetlen hivatkozás) . — SPARQL lekérdezési nyelv RDF-hez. Letöltve: 2011. június 28. Az eredetiből archiválva : 2012. június 2.
  8. SPARQL példán keresztül  (angol)  (lefelé irányuló kapcsolat) . SPARQL például. Letöltve: 2011. június 28. Az eredetiből archiválva : 2012. február 11..
  9. SPARQL-végpont (lefelé irányuló kapcsolat) . Letöltve: 2011. június 24. Az eredetiből archiválva : 2011. július 7.. 
  10. SPARQL megvalósítási lefedettségi jelentés  — A SPARQL megvalósítások teljességének áttekintése. Letöltve: 2009. november 23. Az eredetiből archiválva : 2012. június 2. 
  11. ViziQuer  (angol)  (elérhetetlen link) . — Segédprogram strukturált szemantikai adatok lekéréséhez. Letöltve: 2011. június 10. Az eredetiből archiválva : 2012. június 2.

Linkek