SPARQL
Sottoklassi ta' | series |
---|---|
Isem uffiċjali | SPARQL Protocol and RDF Query Language |
Short name | SPARQL |
Suġġett prinċipali | Semantic Web, linked data page |
Has edition or translation | SPARQL 1.0, SPARQL 1.1, SPARQL 1.1 Query Language |
Meta beda | 12 Ottubru 2004 |
Inspired by | SQL |
Programming paradigm | declarative programming |
Żviluppatur | Carlos Buil Aranda, Eric G. Prud'hommeaux |
Software version identifier | 1.1 |
Described at URL | https://www.w3.org/TR/sparql11-overview/ |
Standards body | World Wide Web Consortium |
Used by | Wikidata |
Stack Exchange tag | https://stackoverflow.com/tags/sparql, https://opendata.stackexchange.com/tags/sparql |
SPARQL (pronunzjata "sparkle" /ˈspɑːkəl/, akronimu rikorsiv[1] għal SPARQL Protocol and RDF Query Language) hija lingwa tat-tfittix RDF — jiġifieri, lingwa tat-tfittix semantika għal database — li kapaċi tirkupra u jimmanipula dejta maħżuna fil-format tal-Qafas tad-Deskrizzjoni tar-Riżorsi (RDF).[2][3] Sar standard mill-Grupp ta' Ħidma dwar l-Aċċess tad-Dejta RDF (DAWG) tal-World Wide Web Consortium, u huwa rikonoxxut bħala waħda mit-teknoloġiji ewlenin tal-web semantiku. Fil-15 ta' Jannar 2008, SPARQL 1.0 ġie rikonoxxut mill-W3C bħala rakkomandazzjoni uffiċjali,[4][5] u SPARQL 1.1 f'Marzu, 2013.[6]
SPARQL jippermetti li mistoqsija (għal tfittixa) tikkonsisti minn mudelli tripli, konġunzjonijiet, disġunzjonijiet, u mudelli opzjonali.[7]
Jeżistu implimentazzjonijiet għal diversi lingwi tal-ipprogrammar.[8] Jeżistu wkoll għodod biex jgħinu fil-kostruzzjoni ta' mistoqsijiet bl-iSPARQL, pereżempju ViziQuer.[9] Barra minn hekk, jeżistu għodod biex jittraduċu mistoqsijiet bl-iSPARQL għal lingwi ta' mistoqsijiet oħra, bħal SQL[10] u XQuery.[11]
Formi ta' mistoqsijiet
[immodifika | immodifika s-sors]Fil-każ ta' mistoqsijiet li jaqraw dejta mid-database, il-lingwa SPARQL tispeċifika erba' varjazzjonijiet ta' mistoqsijiet differenti għal skopijiet differenti.
mistoqsija SELECT
- Użata biex jiġu estratti valuri mhux ipproċessati. Ir-riżultati jintbagħtu lura f'forma ta' tabella.
- mistoqsija
CONSTRUCT
- Użata biex tiġi estratta informazzjoni u tittrasforma r-riżultati f'RDF validu.
- mistoqsija
ASK
- Użata biex tipprovdi riżultat li jista' jkun veru jew falz.
- mistoqsija
DESCRIBE
- Użata biex jiġi estratt graff RDF.
Kull waħda minn dawn il-forom ta' mistoqsijiet jieħdu blokka WHERE
biex tirrestrinġi l-mistoqsija, għalkemm, fil-każ tal-mistoqsija DESCRIBE
, l-WHERE
hija opzjonali.
SPARQL 1.1 jispeċifika lingwa għall-aġġornament tad-database b'diversi forom ġodda ta' mistoqsijiet.[12]
Eżempju
[immodifika | immodifika s-sors]Dan huwa eżempju ta' mistoqsija SPARQL li jimmudella l-mistoqsija "X'inhuma l-kapitali tal-pajjiżi kollha fl-Afrika?" :
PREFIX ex: <http://example.com/exampleOntology#>
SELECT ?capital
?country
WHERE
{
?x ex:cityname ?capital ;
ex:isCapitalOf ?y .
?y ex:countryname ?country ;
ex:isInContinent ex:Africa .
}
Varjabbli huma indikati bil-prefiss ?
jew $
. ?capital
u ?country
se jiġu rritornati. Meta trippla tispiċċa b'punt u virgola (;), is-suġġett ta' din it-tripla se jintuża bħala suġġett fit-tripla li jmiss (fejn it-tripla li jmiss tkun biss par għax tkun bla suġġett). Pereżempju ?x ex:cityname ?capital; ex:isCapitalOf ?y
huwa taqsira għal ?x ex:cityname ?capital.
?x ex:isCapitalOf ?y.
.
Il-proċessur tal-mistoqsijiet SPARQL se jfittex settijiet ta' trippli li jaqblu ma' dawn l-erba' mudelli tripli, u jorbot il-varjabbli fil-mistoqsija mal-partijiet korrispondenti ta' kull tripla. Importanti li wieħed jinnota hawnhekk hija l-"orjentazzjoni tal-proprjetà" (it-taqbiliet tal-klassi jistgħu jsiru biss permezz ta' attributi tal-klassi jew proprjetajiet – ara Duck typing).
Biex tagħmel il-mistoqsijiet konċiżi, SPARQL jippermetti d-definizzjoni ta' prefissi u URIs b'mod simili għal Turtle. F'din il-mistoqsija, il-prefiss "ex
" jirrappreżenta "http://example.com/exampleOntology#".
Ara ukoll
[immodifika | immodifika s-sors]- Integrazzjoni Semantika
- Format XML tar-Riżultati tal-Mistoqsija SPARQL
- SPARQL Espressjonijiet tas-Sintassi
- Wikidata
Referenzi
[immodifika | immodifika s-sors]- ^ Beckett, Dave (2011-10-06). "What does SPARQL stand for?". [email protected].
- ^ Jim Rapoza (2 May 2006). "SPARQL Will Make the Web Shine". eWeek. Miġbur 2007-01-17.
- ^ Segaran, Toby; Evans, Colin; Taylor, Jamie (2009). Programming the Semantic Web. O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. p. 84. ISBN 978-0-596-15381-6.
- ^ "W3C Semantic Web Activity News – SPARQL is a Recommendation". W3.org. 2008-01-15. Miġbur 2009-10-01.
- ^ "XML and Semantic Web W3C Standards Timeline" (PDF). 2012-02-04. Miġbur 2013-11-27.
- ^ "Eleven SPARQL 1.1 Specifications are W3C Recommendations". w3.org. 2013-03-21. Miġbur 2013-04-25.
- ^ "XML and Web Services in the News". xml.org. 6 October 2006. Miġbur 2007-01-17.
- ^ "SparqlImplementations – ESW Wiki". Esw.w3.org. Miġbur 2009-10-01.
- ^ "ViziQuer a tool to construct SPARQL queries automatically". lumii.lv. Miġbur 2011-02-25.
- ^ "D2R Server". Miġbur 2012-02-04.
- ^ "SPARQL2XQuery Framework". Miġbur 2012-02-04.
- ^ Yu, Liyang (2014). A Developer’s Guide to the Semantic Web. Springer. p. 308. ISBN 9783662437964.