Anda di halaman 1dari 23

Queri SPARQL-2

Mukhamad Nurkamid
Queri SPARQL
• Fungsi Queri SPARQL
• Struktur Queri SPARQL
• Menjalankan Queri SPARQL dengan OPTIONAL dengan
FILTER dan
• Contoh Queri SPARQL Multiple Atribut

11/17/2022 2
Fungsi Queri SPARQL

Fungsi SPARQL adalah:

• Bahasa queri untuk mengambil data yang ditulis oleh bahasa RDF/XML

• Mencocokan bentuk ‘graph’ dengan berbagai endpoint dari repositori


yang dituju

• SPARQL memungkinkan pengguna menulis queri secara global yang


jelas

11/17/2022 3
Contoh
• Menampilkan nama penulis dan judul buku yang ditulis
PREFIX
data:<http://www.semanticweb.org/asus/ontologies/2022/10/bibliografi#>

SELECT ?NamaPenulis ?JudulBuku


WHERE {

?buku data:ditulis ?penulis.


?penulis data:penulis ?NamaPenulis.
?penulis data:menulis ?buku.
?buku data:judul ?JudulBuku.

11/17/2022 4
RDF
• RDF adalah framework yang mendefinisikan
resource didalam web
• RDF memungkinkan pengembang membuat
statement terhadap resource yang ada dari
sebuah web
• Struktur RDF sederhana terdiri dari subject,
predicat dan object atau disebut dengan
triple RDF
Contoh RDF
• “Ellen Siever is author of Linux in A
Nutshell
• Subject “Ellen Siever”
• Predicate, “is author of”
• Object, “Linux in A Nutshell”
Struktur Queri SPARQL
• PREFIX, penunjuk yang membawa informasi dalam suatu
halaman web. Pada dasarnya PREFIX ini diwakili oleh
URI (Uniform Resource Identifier) untuk menyingkat
sebuah resource
• SELECT Query, mengembalikan keseluruhan atau
sekumpulan dari variabel yang diikat di dalam pola dari
suatu queri
• CONSTRUCT Query, mengembalikan grafik RDF yang
dikonstruksikan oleh variabel pengganti dalam
sekumpulan kerangka triple
• ASK Query, mengembalikan boolean menunjukkan
apakah pola dari queri cocok atau tidak
Struktur Queri SPARQL
• OPTIONAL, Statement OPTIONAL
digunakan untuk mengatasi
ketidakcocokan sturktur pola queri dengan
pola yang ada pada graf RDF
• DESCRIBE Query, mengembalikan
keseluruhan grafik RDF yang
menggambarkan sumber-sumber data
yang ditemukan
ORDER BY
• Digunakan untuk mengurutkan hasil queri
berdasarkan kriteria atribut tertentu
SELECT MULTIPLE ATTRIBUTE
VALUES dengan ORDER BY
PREFIX
data:<http://www.semanticweb.org/asus/ontologies/2022/10/bibliografi
#>
SELECT ?NamaPenulis ?JudulBuku
WHERE {
?buku data:ditulis ?penulis.
?penulis data:penulis ?NamaPenulis.
?penulis data:menulis ?buku.
?buku data:judul ?JudulBuku.
}
ORDER BY (?NamaPenulis)
11/17/2022 10
Hasil
• Buku ditampilkan urut berdasarkan Nama Penulis

11/17/2022 11
SPARQL dengan FILTER REGEX
• SPARQL menyediakan fungsi regex dalam sintaks FILTER
yang digunakan untuk memeriksa hasil string
menggunakan regular expression
• Fungsi ini memiliki kemampuan pemeriksaan hasil yang
mirip seperti pemeriksaan hasil menggunakan sintaks LIKE
pada SQL

11/17/2022 12
SPARQL dengan FILTER REGEX
PREFIX
data:<http://www.semanticweb.org/asus/ontologies/2022/10/bibliografi
#>
SELECT ?NamaPenulis ?JudulBuku
WHERE {
?buku data:ditulis ?penulis.
?penulis data:penulis ?NamaPenulis.
?penulis data:menulis ?buku.
?buku data:judul ?JudulBuku.
FILTER REGEX (?JudulBuku,"Analisa Jaringan")
}
11/17/2022 13
OPTIONAL
• Jika Buku memiliki nama penerbit dan kota
• Sedangkan Jurnal memiliki nama jurnal, volume dan
nomor
• Bagaimana SPARQL mengatur ini semua? Apakah data-
data tersebut bisa ditampilkan?

11/17/2022 PRESENTATION TITLE 14


OPTIONAL
PREFIX data:<http://www.semanticweb.org/asus/ontologies/2022/10/bibliografi#>
SELECT ?NamaPenulis ?JudulBuku ?NamaPenerbit ?KotaPenerbit ?Volume ?Nomor
WHERE {
?buku data:ditulis ?penulis.
?penulis data:penulis ?NamaPenulis.
?penulis data:menulis ?buku.
?buku data:judul ?JudulBuku.
?buku data:diterbitkan ?penerbit.
?penerbit data:penerbit ?NamaPenerbit.
OPTIONAL { ?penerbit data:kota ?KotaPenerbit.}
OPTIONAL { ?penerbit data:volume ?Volume.}
OPTIONAL {?penerbit data:nomor ?Nomor.}
11/17/2022 15
}
Hasil:
• Bibliografi dari jurnal tetap bisa ditampilkan, meskipun
referensi yang lain (buku, majalah, dsb) tidak memiliki volume dan nomor

11/17/2022 16
Operator Logika
• Menampilkan semua buku yang diterbitkan “Gava Media
dan “Informatika”
• Sehingga buku terbitan kedua penerbit yang akan
ditampilkan

11/17/2022 17
SPARQL with Operator Logika
PREFIX data:<http://www.semanticweb.org/asus/ontologies/2022/10/bibliografi#>
SELECT ?NamaPenulis ?JudulBuku ?NamaPenerbit ?KotaPenerbit ?Volume ?Nomor
WHERE {
?buku data:ditulis ?penulis.
?penulis data:penulis ?NamaPenulis.
?penulis data:menulis ?buku.
?buku data:judul ?JudulBuku.
?buku data:diterbitkan ?penerbit.
?penerbit data:penerbit ?NamaPenerbit. FILTER (?NamaPenerbit= "Informatika" ||
?NamaPenerbit="Gava Media").
OPTIONAL { ?penerbit data:kota ?KotaPenerbit.}
OPTIONAL { ?penerbit data:volume ?Volume.}
OPTIONAL {?penerbit data:nomor ?Nomor.}
11/17/2022 18
}
OPTIONAL dengan FILTER
PREFIX data:<http://www.semanticweb.org/asus/ontologies/2022/10/bibliografi#>
SELECT ?NamaPenulis ?JudulBuku ?NamaPenerbit ?KotaPenerbit ?Volume ?Nomor
WHERE {
?buku data:ditulis ?penulis.
?penulis data:penulis ?NamaPenulis.
?penulis data:menulis ?buku.
?buku data:judul ?JudulBuku.
?buku data:diterbitkan ?penerbit.
?penerbit data:penerbit ?NamaPenerbit.
OPTIONAL { ?penerbit data:kota ?KotaPenerbit. FILTER (?KotaPenerbit="Bandung")}
OPTIONAL { ?penerbit data:volume ?Volume.}
OPTIONAL {?penerbit data:nomor ?Nomor.}
}
11/17/2022 19
Hasilnya:
• Menampilkan semua buku yang diterbitkan dengan kota
penerbit “Bandung”

11/17/2022 20
Ontologi membuktikan bahwa semantik web lebih
efisien dalam pengelolaan data dan lebih sederhana.
Ontologi menjadi sangat penting karena berisi
informasi yang dimiliki dapat saling berkaitan.

11/17/2022 21
Kesimpulan

• Ontologi dirancang dengan menetapkan kelas-kelas dan atribut-


atribut yang terdapat pada kelas tersebut, hubungan antar kelas,
kemudian ditambahkan data individu

• Secara sintaks web semantik lebih sederhana saat digunakan,


dimana pada SPARQL hanya diperlukan pemanggilan nama class
kemudian pemanggilan nama atributnya

11/17/2022 22
Thank you

Anda mungkin juga menyukai