Semantic Web : SPARQL
SPARQL SPARQL adalah akronim untuk Simple Protocol And RDF Query Language. Model data RDF berupa suatu statemen dalam bentuk triple yang terdiri dari subyek, predikat, dan obyek. Untuk mendapatkan informasi dari suatu graph RDF dibutuhkan suatu query. SPARQL merupakan suatu bahasa query yang dapat digunakan untuk mengakses data pada web semantik.
SPARQL Merupakan bahasa query untuk mengambil data yang ditulis menggunakan RDF atau XML. SPARQL dapat menghubungkan anatar sumber data. Di internet banyak tersedia interface untuk SPARQL seperti SNORQL. Standar SPARQL mendefinisikan protocol jaringan untuk bertukar query dan bahasa untuk mengekspresikan query. SPARQL mengadopsi sintak SQL-like untuk mengekspresikan query.
Query SPARQL SELECT qquery mengembalikan keseluruhan atau sekumpulan dari variabel yang diikat dalam pola suatu query CONSTRUCT query mengembalikan grafik RDF yang dikonstruksi oleh variabel pengganti dalam sekumpulan kerangka triple
ASK query mengembalikan boolean menunjukkan apakah pola dari query cocok atau tidak DESCRIBE query Mengembalikan keseluruhan grafik RDF yang menggambarkan sumber-sumber data yang ditemukan
Fungsi SPARQL Dengan menggunakan SPARQL memungkinkan untuk : Mengambil nilai dari data yang terstruktur maupun data yang semi terstruktur. Mengembangkan data dengan melakukan query terhadap suatu relasi yang tidak diketahui. Dapat melakukan query operasi join yang kompleks pada database yang berlainan secara lebih sederhana. Mengubah suatu data RDF menjadi vocabulary yang lain. Hasil dari query SPARQL dapat mengembalikan nilai dalam beberapa format data yang antara lain : XML, JSON, RDF, dan HTML.
Untuk menjalankan SPARQL kita dapat menggunakan beberapa tools dan APIs seperti: ARQ, Rasqal, RDF::Query, twingql, Pellet, dan KAON2. Tools tersebut memiliki API yang memampukan pemrogram untuk memanipulasi hasil query dengan berbagai aplikasi yang ada. Namun, sebagai standar kita dapat menggunakan SPARQL Query Results XML Format [Dav07] yang direkomendasikan oleh W3C.
Contoh 1 query SPARQL Berikut akan mengembalikan nama dan email dari setiap orang yang ada didunia:
Contoh 1 query SPARQL Hasil query dapat berbentuk tabel ataupun bentuk RDF-XML. Query dalam bentuk tabel disesuaikan dengan subjek, predikat dan obyek. Hasil query tersebut: Dari hasil terdapat 3 vaariabel x,y,z
Contoh 2 query SPARQL Berikut ini adalah contoh sederhana dari SPARQL : Data : Query : Hasil :
Rule Pola query dalam klausa WHERE ditentukan berdasarkan triple yang ditutup dalam tanda kurung. Tiap posisi dalam triple dapat berupa variable atau term RDF. Term RDF didefinisikan sebagai segala hal yang dapat diekspresikan dalam sumberdaya RDF, yakni referensi URI, literal atau simpul kosong. Referensi URI ditulis dalam <> untuk membedakan dengan literal, dan variable-variabel diawali dengan ?. Sembarang variable diikatkan ke term RDF selama evaluasi query. Format dari jawaban ke query didefinisikan dalam statemen SELECT
Rule Dalam kasus diinginkan jawaban yang hanya terdiri dari kata pertama yang sesuai dengan pola query digunakan (?x). Jika menginginkan keseluruhan triple yang cocok, maka ditulis SELECT *. Berbeda dengan query SQL, dalam SPARQL tidak diperlukan klausa FROM, karena knowledge base tidak distruktur menjadi table yang terpisah.
Contoh Query Contoh : query SPARQL untuk mencari judul sebuah buku dari graph data yang diberikan. Query terdiri dari dua bagian: klausa SELECT mengidentifikasi variabel untuk muncul dalam hasil query, dan WHERE memberikan pola graph dasar untuk dicocokkan dengan graph data. Pola grafik dasar dalam contoh ini terdiri dari pola triple tunggal dengan variabel tunggal (judul?) Di posisi objek.
Contoh sparql Berikut ini adalah contoh query yang menghasilkan semua ibu kota di Indonesia PREFIX abc: <http://mynamespace.com/exampleOntologie#> SELECT ?capital ?province WHERE { ?x abc:cityname ?capital. ?y abc:provincename ?province. ?x abc:isCapitalOf ?y. ?y abc:isInCountry abc:indonesia. }