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] .
Áttekintés : http://www.w3.org/standards/techs/sparql
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.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..
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.
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] .
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] .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.
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.
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] .
![]() |
---|
Lekérdezési nyelvek | |
---|---|
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Termékek és szabványok |
| ||||||||||||||
Szervezetek |
| ||||||||||||||
TOVÁBB |
| ||||||||||||||
Konferenciák |
|
szemantikus web | |
---|---|
Alapok | |
alszakaszok |
|
Alkalmazások |
|
Kapcsolódó témák | |
Szabványok |
|