Pemrograman
Smart Web
(Lab)
BAHASA ATURAN
06
Fakultas Ilmu Teknik Informatika W151700009 Winarsih, S.Si., MMSI
Komputer
Abstract Kompetensi
Bahasa Aturan Memahami datalog, RuleMI, SWRL, dan
TRIPLE
Bahasa Aturan
SEMANTIC WEB RULE BASE
Model Ontologi
Ontologi adalah suatu konseptual yang formal dari sebuah domain tertentu yang dipakai
bersama oleh kelompok orang. Ontologi merupakan teori tentang makna dari suatu
obyek, properti dari suatu obyek, serta relasi obyek tersebut yang mungkin terjadi pada
suatu domain pengetahuan. Ontologi sangat penting karena dapat digunakan
menerangkan tentang struktur suatu disiplin ilmu. Secara teknis sebuah ontologi
direpresentasikan dalam bentuk classes, properties, slots, dan instans.
1) Class, menerangkan konsep (atau makna) suatu domain. Class adalah kumpulan dari
elemen dengan properti yang sama. Suatu class dapat mempunyai turunan subclass
yang menerangkan konsep yang lebih spesifik.
2) Properti, menerangkan konsep nilai-nilai, status, terukur yang mungkin ada untuk
domain.
3) Slot, merupakan representasi dari kerangka pengetahuan atau relasi yang
menerangkan properti dari kelas dan instant.
4) Instant, adalah individu yang telah dibuat (diciptakan). Instant dari sebuah subclass
merupakan instant dari suatu superclass.
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
2 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
Web Ontology Language (OWL) memperluas RDFs dengan menambahkan konsep yang
lebih canggih untuk mendeskripsikan semantic dari statemen RDFs. Ini memungkinkan
untuk menambahkan sebuah constraint, seperti cardinality, batasan nilai, karakteristik dari
property seperti transitive. Ini didasarkan pada logika sehingga memberikan kekuatan
reasoning pada semantic web.
SPARQL adalah sebuah bahasa query RDF, ini dapat digunakan untuk query banyak data
RDF(termasuk pernyataan RDF dan OWL). Bahasa query diperlukan untuk merujuk untuk
informasi dari aplikasi web semantic.
Keuntungan Teknologi Web Semantic :
RIF atau SWRL dapat mendukung adanya rule. Ini penting, misalnya memungkinkan untuk
mendeskripsikan relasi yang tidak dapat dideskripsikan secara logika pada OWL.
Cryptography, penting untuk memastikan dan memverifikasi bahwa pernyataan semantic
web berasal dari sumber yang terpercaya. Ini dapat dicapai denga tepat menggunakan
“digital signature” dari pernyataan RDF.
User Interface, merupakan layer terakhir yang memungkinkan manusia untuk
menggunakan aplikasi semantic web.
Reasoning
Reasoning adalah sebuah proses kognitif dalam pencarian sebuah kepercayaan,
kesimpulan, tindakan, atau perasaan. Kita menggunakan rule untuk melakukan
proses reasoning dengan mencocokkan kenyataan dalam ontology. Rule adalah bentuk
sebuah implikasi antara body dan head. Body adalah pernyataan/pattern sebelum →,
kondisi disesuaikan dengan rule yang spesifik. Headadalah
pernyataan/pattern, pernyataan yang mungkin diperkirakan, dinamakan sisi tangan
kanan rule atau Right Hand Side(RHS).
Dalam bentuk lain, rule dari sebuah rule-based system disebut sebagai pernyataan “IF-
THEN”. Jika semua kondisi sesuai, selanjutnya RHS akan dijalankan. Ada dua jenis tipe
reasoning, yaitu ontology reasoning dan rule-based reasoning. OWL reasoning
mempunyai kemampuan menduga melalui karakteristik dari properti seperti simetri,
invers, dan transitif.
Rule-based reasoning menduga knowledge baru berdasarkan rule. Rule-based
reasoning menarik kesimpulan dari objek property seperti “pengunjung pindah menuju
kamar 336” ketika ada dua fakta bahwa sensor mendeteksi perpindahan menuju ruang
336 dan pengunjung membawa sensor tersebut.
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
3 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
Ada beberapa bahasa rule untuk membuat sebuah rule yang menyimpulkan
sebuah knowledge, antara lain Semantic Web Rule Language (SWRL), JESS rule, Jena
rule, dan Semantic Query-enhanced Web Rule Language (SQWRL).
Semantik web rule language adalah suatu bahasa yang menggabungkan antara OWL DL
dan OWL Lite, yaitu sub bahasa pada OWL dan Unary atau Binary Datalog RuleML yaitu
sub bahasa pada Rule MarkUp language. SWRL merupakan perluasan dari OWL dengan
menambahkan aturan berbasis Horn. Hal ini memungkinkan suatu basis pengetahuan
yang dibuat dalam OWL dilengkapi dengan aturan (Horrocks,2004).
Aturan dalam SWRL dibangun dari aplikasi antara anteseden (body) dan konsekuen
(head), atau bisa dikatakan bahwa apapun antaseden yang ada, harus ada konsekuen.
antecedent ⇒ consequent
Anteseden maupun konsekuen harus mengandung minimal nol atau lebih pernyataan.
Anteseden kosong berarti konsekuen selalu bernilai true. Sebaliknya, konsekuen kosong
berarti konsekuen selalu bernilai false, akibatnya anteseden juga akan bernilai false.
Lee, et al. (2007) mendekripsikan mengenai Semantik Web Rule ini dapat ditulis sebagai
sebuah a1 ∧ … ∧, dimana variabel ditandai menggunakan konvensi standar prefix dengan
tanda tanya (misalnya,? x). Dengan menggunakan sintaks ini dapat diperlihatkan contoh
aturan dalam Gambar 1 ditulis sebagai berikut:
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
4 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
hasParent(?personA,?personB) ∧ hasBrother(?personB,?personC)
⇒ hasUncle(?personA,?personC).
x dan y : berupa variabel, individu OWL atau nilai data dari OWL
Handayani (2009), mendekripsikan mengenai SWRL dan penulisan dari SQWRL untuk
sistem pariwisata, dimana SWRL merupakan anjuran rule language untuk semantic web,
mengkombinasikan OWL DL dan Lite dengan rule markup language (RuleML). RuleML
adalah markup language yang dikembangkan untuk mempercepat kedua
rule forward (bottom-up) dan backward (top-down) dalam XML untuk pengambilan
kesimpulan, penulisan ulang dan kegiatan inferential-transformational yang lebih jauh.
Berikut adalah contoh dari syntax SWRL untuk menyimpulkan lokasi “visitor”.
Penjelasan dari syntax SWRL diatas : (?visitor ?sensor dan ?location adalah nama
variabel. Setiap variabel dalam SWRL dimulai dengan (“?”), representedBy, isMovingTo,
isLocatedIn adalah nama dari property . ^ merepresentasikan AND. → dibaca sebagai
THEN. Dari rule di atas, kita dapat mengatakan bahwa jika “visitor”direpresentasikan oleh
sensor dan sensor pindah lokasi, maka kita dapat menyimpulkan sebuah knowledge baru
bahwa “visitor”berada di sebuah lokasi. Kemudian untuk melakukan query digunakan
SQWRL (dibaca squirrel). SQWRL adalah SWRL berbasis query language yang dapat
digunakan untuk query ontology OWL. SQWRL menyediakan operasi-operasi seperti SQL
untukmemformat knowledge dari ontologyOWL. SWRL.
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
5 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
Semantik Web Rule Language (SWRL)
Setelah Semantik Web berkembang sampai saat ini, yang dibutuhkan selanjutnya adalah
sebuah rule language. Rule language dan query adalah dua hal yang sangat erat
kaitannya. Semantik Web dibangun berdasarkan struktur yang telah dibuat. OWL
dibangun di atas dasar RDF, RDF dibangun di atas XML, dan XML dibangun di atas
Unicode text. Rule language untuk semantik web, tentu saja harus dibangun diatas dasar-
dasar yang telah dibuat, sehingga perkembangan semantic web tetap konsisten. Karena
itula, dibutuhkan sebuah rule yang berdiri di atas dasar yang telah ada. Untuk itu
Semantik web rule language dikembangkan (Parsia dkk, 2005).
Semantic Web Rule language (SWRL) adalah suatu bahasa yang mengabungkan antara
OWL DL dan OWL Lite: yaitu sub bahasa pada OWL, dan Unary atau binary Datalog
RuleML, yaitu sub bahasa pada Rule Markup Language. SWRL merupakan perluasan
dari OWL dengan menambahkan aturan berbasis Horn. Hal ini memungkinkan suatu
basis pengetahuan yang dibuat dalam OWL dilengkapi dengan aturan (Horrocks dkk,
2004).
Aturan dalam SWRL dibangun dari implikasi antara anteseden (body) dan konsekuen
(head). Anteseden maupun konsekuen harus mengandung minimal nol atau lebih
pernyataan. Anteseden kosong berarti konsekuen selalu bernilai true, sebaliknya,
konsekuen kosong berarti konsekuen selalu bernilai false, akibatnya anteseden juga akan
selalu bernilai false. Aturan yang mengandung banyak pernyataan dianggap sebagai
konjugasi Boolean and. Untuk konsekuen yang mengandung konjugasi, dapat dipecah
menjadi beberapa aturan dengan satu konjugasi, menggunakan trasformasi Lloyd-Topor
pada saat diproses (Horrocks dkk, 2004).
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
6 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
SWRL didesain sebagai rule language pada web semantik suatu bahasa yang
mengabungkan antara OWL DL dan OWL Lite yaitu sub bahasa pada OWL, dan Unary
atau binary Datalog RuleML, yaitu sub bahasa pada Rule Markup Language. SWRL
merupakan perluasan dari OWL dengan menam-bahkan aturan berbasis Horn. Hal
ini memungkinkan suatu basis pengetahuan yang dibuat dalam OWL dilengkapi
dengan aturan. SWRL dapat digunakan untuk menginferensi pengetahuan baru dari
OWL knowledge yang sudah ada[8]. Rule SWRL melaukan penalaran pada
individual OWL, khu-susnya pada OWL class dan property. Contoh dari rule SWRL
seperti dibawah ini :
Staff(?x) ?hasPosition(?x, ?y) ?UniversityLeader(?y) ? Rector(?x)
Pada SWRL, rule dibagi menjadi 2 bagian, bagian sebelah kiri sebelum tanda ? disebut
sebagai an-teseden dan setelah tanda ? disebut konsekuen. Anteseden kosong
berarti konsekuen selalu bernilai true, sebaliknya, konsekuen kosong berarti
konsekuen selalu bernilai false, akibatnya anteseden juga akan selalu bernilai false.
Pada contoh rule diatas, dapat dijelaskan individual ?x yang bertipe Staff memiliki posisi
hasPosition?y, dimana ?y merupakan posisi UniversityLeader, maka indi-vidual tersebut
dapat disimpulkan menduduki posisi sebagai seorang rektor.
SWRL didesain sebagai rule language pada web semantik suatu bahasa yang
mengabungkan antara OWL DL dan OWL Lite yaitu sub bahasa pada OWL, dan Unary
atau binary Datalog RuleML, yaitu sub bahasa pada Rule Markup Language. SWRL
merupakan perluasan dari OWL dengan menam-bahkan aturan berbasis Horn. Hal
ini memungkinkan suatu basis pengetahuan yang dibuat dalam OWL dilengkapi
dengan aturan. SWRL dapat digunakan untuk menginferensi pengetahuan baru dari
OWL knowledge yang sudah ada[8]. Rule SWRL melaukan penalaran pada
individual OWL, khu-susnya pada OWL class dan property. Contoh dari rule SWRL
seperti dibawah ini :
Staff(?x) ?hasPosition(?x, ?y) ?UniversityLeader(?y) ? Rector(?x)
Pada SWRL, rule dibagi menjadi 2 bagian, bagian sebelah kiri sebelum tanda ? disebut
sebagai an-teseden dan setelah tanda ? disebut konsekuen. Anteseden kosong
berarti konsekuen selalu bernilai true, sebaliknya, konsekuen kosong berarti
konsekuen selalu bernilai false, akibatnya anteseden juga akan selalu bernilai false.
Pada contoh rule diatas, dapat dijelaskan individual ?x yang bertipe Staff memiliki posisi
hasPosition?y, dimana ?y merupakan posisi UniversityLeader, maka indi-vidual tersebut
dapat disimpulkan menduduki posisi sebagai seorang rector.
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
7 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
SWRL didesain sebagai rule language pada web semantik suatu bahasa yang
mengabungkan antara OWL DL dan OWL Lite yaitu sub bahasa pada OWL, dan Unary
atau binary Datalog RuleML, yaitu sub bahasa pada Rule Markup Language. SWRL
merupakan perluasan dari OWL dengan menam-bahkan aturan berbasis Horn. Hal
ini memungkinkan suatu basis pengetahuan yang dibuat dalam OWL dilengkapi
dengan aturan. SWRL dapat digunakan untuk menginferensi pengetahuan baru dari
OWL knowledge yang sudah ada[8]. Rule SWRL melaukan penalaran pada
individual OWL, khu-susnya pada OWL class dan property. Contoh dari rule SWRL
seperti dibawah ini :
Staff(?x) ?hasPosition(?x, ?y) ?UniversityLeader(?y) ? Rector(?x)
Pada SWRL, rule dibagi menjadi 2 bagian, bagian sebelah kiri sebelum tanda ? disebut
sebagai an-teseden dan setelah tanda ? disebut konsekuen. Anteseden kosong
berarti konsekuen selalu bernilai true, sebaliknya, konsekuen kosong berarti
konsekuen selalu bernilai false, akibatnya anteseden juga akan selalu bernilai false.
Pada contoh rule diatas, dapat dijelaskan individual ?x yang bertipe Staff memiliki posisi
hasPosition?y, dimana ?y merupakan posisi UniversityLeader, maka indi-vidual tersebut
dapat disimpulkan menduduki posisi sebagai seorang rector.
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
8 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id
Latihan
Buat tampilan halaman depan untuk project kalian yang memenuhi kriteria sebagai smart
web !
Daftar Pustaka
1. T. Gruber. Towards Principles for the Design of Ontologies for Knowledge Sharing.
International Journal of Human Computer Studies 43(5/6), pages 907–928, 1995.
2. Guarino, N. (1998). Formal Ontology and Information Systems. In Proceedings of the First
International Conference on Formal Ontologies in Information Systems (FOIS), 3-15.
3. Tamma, V. & Bench-Capon, T. (2002). An Ontology Model to Facilitate Knowledge-Sharing
in Multi-agent Systems. The Knowledge Engineering Review, 17(1), 41-60.
4. Burcu Yildiz, Silvia Miksch. (2005) Ontology-Driven Information Systems: Challenges and
Requirements.
5. Ding, L., Finin, T., Joshi, A., Pan, R., Cost, R.S., Peng, Y., Reddivari, P., Doshi, V.C., Sachs,
J.: Swoogle: A search and metadata engine for the semantic web. In: CIKM’04, 2004.
6. Fonseca, F. and J. Martin (2007) “Learning the Differences Between Ontologies and
Conceptual Schemas Through Ontology-Driven Information Systems,” JAIS – Journal of the
Association for Information Systems – Special Issue on Ontologies in the Context of IS
Volume 8, Issue 2, Article 3, pp. 129–142, February 2007
7. Boris Wyssusek. Ontology and Ontologies in Information Systems Analysis and Design: A
Critique. Proceedings of the Tenth Americas Conference on Information Systems, New York,
New York, August 2004
8. https://oguds.wordpress.com/2008/04/01/ontologi-dalam-sistem-informasi/
9. https://yuhana.wordpress.com/2008/05/29/sekilas-tentang-web-ontology-language-owl/
2018 Pemrograman Smart Web (Lab) Pusat Bahan Ajar dan eLearning
9 Winarsih, S.Si., MMSI http://www.mercubuana.ac.id