Professional Documents
Culture Documents
4.3 Ontologi
4.3.1
Definisi Ontologi
Dalam sepuluh tahun terakhir, para peneliti bidang komputasi basisdata dan
103
104
2001; Marwick, 2001). Kishore et al. (2003) lebih menegaskan lagi bahwa
ontologi dapat dianggap sebagai deskripsi formal dari suatu domain wacana
pengetahuan tertentu (atau sebagai konsep), dan direpresentasikan sebagai class
yang menggambarkan karakteristik umum individual, property individual
menentukan fitur dan atribut umum dari konsep slot/role, dan batasan pada slot
disebut facet (role restriction). Menurut Bertino dan Catania (2001), model
ontologi yaitu teori mengenai keberadaan segala jenis entitas yang didefinisikan
dalam suatu ranah dan dinyatakan dalam jaringan graf semantik yang terdiri atas
hierarki class, slot, dan instance yang diharapkan dapat membantu perekayasa
pengetahuan (knowledge engineer) dalam membangun sistem manajemen
pengetahuan. Guarino (1998), Noy dan McGuinness (2001) dengan kata yang
sama juga menyatakan bahwa suatu ontologi tersusun atas beberapa komponen
penting yaitu classes (concepts), attributes (properties), relationships (slot) dan
individuals (instances).
Classes (concepts)
Suatu kelas menjelaskan konsep-konsep yang ada dalam suatu domain
sehingga dapat pula merupakan penjelasan dari tugas, fungsi, aksi, strategi, dan
sebagainya. Biasanya sebuah kelas merupakan sekumpulan dari obyek-obyek
dengan properti yang sama. Sebuah kelas juga bisa memiliki subkelas yang mana
subkelas ini akan merepresentasikan konsep yang lebih spesifik daripada
superkelasnya, seperti diperlihatkan pada Gambar 4.3. Dalam kelas juga dikenal
istilah partisi, yaitu sekumpulan konsep yang saling berhubungan dimana aturanaturan tertentu dapat diciptakan dan diterapkan. Jenis partisi yang paling umum
digunakan adalah partisi disjoint, yaitu partisi yang digunakan untuk memastikan
bahwa tidak ada instance yang menjadi instance dari kelas-kelas yang saling
disjoint (Horridge et al., 2004).
Atribut (properties)
Obyek-obyek yang berada dalam ontologi bisa dideskripsikan dengan
memberi tambahan atribut (properties). Setiap atribut memiliki paling tidak
sebuah nama yang digunakan untuk menyimpan informasi, nilai, status yang
terukur secara spesifik tentang obyek yang diberi atribut tersebut.
105
Relationship (slot)
Suatu relationships atau disebut juga dengan slot, menjadi penting dalam
sebuah ontologi, karena merepresentasikan kerangka dari pengetahuan atau harus
mendeskripsikan relasi antara obyek-obyek dari kelas dan individu yang ada.
Kumpulan dari relasi secara menyeluruh akan mendeskripsikan semantik atau arti
dari sebuah entitas.
Individu (instances)
Instances dari sebuah ontologi bisa berupa obyek nyata, atau individu yang
telah diciptakan. Seperti mahasiswa, kucing, molekul, buku atau juga bisa berupa
obyek abstrak seperti bilangan dan huruf. Seperti yang telah disebutkan tujuan
utama dari ontologi adalah menjelaskan arti dalam pengklasifikasian individu
sebagai kerangka pengetahuan meskipun individu tersebut secara eksplisit bukan
bagian dari ontologi. Instant dari sebuah subklas juga merupakan instant dari
suatu superklas.
Pada Gambar 4.3 diperlihatkan sebuah ontologi yang merepresentasikan
pengetahuan dari proyek yang disimpan dalam skema ontologi. Slot atau relasi
yand dibuat adalah works-in (person dengan project); knows (person dengan
topic); cooperate-with (person dengan person), has-member (project dengan
person); dan is-about (project dengan topic). Dari aksioma ontologi ini, terlihat
bahwa jika sesorang bekerja dalam suatu proyek maka orang tersebut mengetahui
topik dan informasi dari proyek tersebut.
106
Dari contoh sederhana model ontologi proyek ini, semakin jelas terlihat
bahwa ontologi merupakan suatu teori tentang makna dari suatu objek, properti
dari suatu objek serta relasi objek tersebut yang mungkin terjadi pada suatu
lingkup domain pengetahuan (Chandrasekaran, 1999). Dengan demikian menurut
keyakinan Noy dan McGuinness (2001) ontologi telah menjadi sangat penting
karena dapat digunakan menerangkan tentang struktur suatu disiplin ilmu.
Ontologi membuka kemungkinan untuk berpindah dari pandangan berorientasi
dokumen ke arah pengetahuan yang saling terkait, dikombinasikan dan untuk
digunakan.
4.3.2
107
108
arti yang merupakan definisi istilah sebagai definisi tujuan (objective) dalam
sebuah dokumentasi, (2) completeness, definisi dinyatakan dalam istilah yang
penting dan memadai, (3) coherence, konsistensi dalam pemberian definisi, (4)
consistency, memungkinkan melakukan pengecekan silang dengan hal yang
kontradiksi dari definisi yang valid, (5) meminimalkan jarak semantik dengan
konsep sibling, (6) memaksimumkan extendible dari definisi, (7) meminimalkan
komitmen ontologi, dan (8) standarisasi nama jika ini memungkinkan.
OWL
Web Ontologi Language (OWL) adalah serangkaian bahasa markup yang
dirancang untuk digunakan oleh aplikasi untuk memproses isi informasi, bukan
hanya sekedar menyajikan informasi kepada penggunanya. OWL menjelaskan
hirarki secara terorganisasir suatu ide, pengetahuan dari suatu suatu domain,
dengan cara yang dapat dipecah dan dipahami oleh perangkat lunak. Seperti yang
dituliskan oleh McGuinness dan Harmelen (2004), OWL dirancang untuk
digunakan oleh aplikasi untuk memproses isi informasi, dalam arti bukan hanya
menyajikan informasi. OWL dapat memfasilitasi mesin menginterpretasikan dari
isi halaman web dengan dukungan XML, RDF, RDF dan Skema (RDF-S) karena
menyediakan tambahan kosa kata secara semantik formal. Antoniou dan
Harmelen (2003), OWL dapat dibedakan tiga varian subbahasa berdasarkan
tingkat ekspresinya: OWL Full, OWL DL dan OWL Lite.
a. OWL-Full
OWL Full diperuntukan bagi user yang menginginkan sub bahasa yang
sangat ekspresif dan secara sintaks lepas dari RDF tanpa jaminan komputasional.
Misalnya, dalam OWL Full, suatu kelas boleh dianggap sebagai kumpulan dari
individu dan sekaligus menjadi individu bagi dirinya sendiri. OWL Full
memungkinkan suatu ontologi untuk merubah arti dari kosakata yang sudah
didefinisikan (misalnya kosakata milik RDF atau OWL). Hal ini merupakan
109
kelemahan dari OWL Full yaitu menyebabkan OWL Full tidak mendukung
reasoning yang lengkap.
b. OWL-DL (Description Logic)
OWL-DL merupakan sub-languange dari OWL-Full. OWL-DL jauh lebih
ekspresif dibanding OWL-Lite. Kelebihan dari OWL-DL adalah di mana proses
komputasi di OWL-DL sangat lengkap sehingga semua kesimpulan dijamin dapat
dihitung dan bisa diputuskan (semua komputasi akan selesai dalam waktu yang
tertentu). OWL-DL dapat menghasilkan hierarki klasifikasi secara otomatis dan
mampu mengecek konsistensi dalam suatu ontologi karena OWL-DL mendukung
reasoning.
c. OWL-Lite
Dilihat dari sintaksnya, OWL-Lite paling sederhana. Jenis ini digunakan jika
pengguna hanya membutuhkan hierarki kelas yang sederhana dengan batasan
yang sederhana pula. OWL-Lite menyediakan cara yang cepat untuk berpindah
dari thesaurus dan hierarki sederhana yang sudah ada. Kelebihan dari OWL jenis
ini adalah lebih mudah dipahami bagi user dan kemudahannya dalam
pengimplementasiannya dalam suatu tool. Sebagai contoh jika menggunakan
batasan kardinalitas, ia hanya mengijinkan nilai kardinalitas 0 dan 1.
110
kelas (meskipun hanya owl:Thing), URI digunakan untuk kelas, properti dan
individu harus saling terpisahkan.
World Wide Web Consortium (W3C) merekomendasikan OWL sebagai
bahasa ontologi. OWL dapat digunakan untuk merepresentasikan arti dari istilahistilah suatu domain pengetahuan secara eksplisit serta relasi antara istilah tersebut
yang tidak dapat dipisahkan dengan dokumen dan aplikasi web. OWL
dikembangkan dari teknologi yang direkomendasikan dan sesuai standar oleh
W3C, yaitu XML/S dan RDF/S. OWL menambahkan kosakata untuk
menggambarkan kelas dan properti, yaitu antara lain: relasi antar kelas (misalnya
disjoint), kardinalitas, equality, tipe properti yang lebih luas, karakteristik properti
(misalnya simetri), dan kelas enumerasi. Dengan demikian OWL memiliki
fasilitas lebih dibanding XML dan RDF/S dalam mengekspresikan arti dan
semantik. OWL juga melebihi bahasa-bahasa di atas dalam kemampuan
merepresentasikan isi dokumen web yang machine-interpreted (McGuinness dan
Harmelen, 2004).
4.4.2
111
OWL merupakan perluasan dari kosakata RDF. Setiap graf RDF dapat
membentuk ontologi OWL. Arti sebuah graf RDF sama dengan arti yang
diberikan oleh graf OWL.
ontologi, yang dapat disimpan sebagai dokumen web. Kosakata OWL berasal dari
http://www.w3.org/2002/07/owl# dengan namespace owl:.
2. Kelas OWL
Kelas OWL menyediakan mekanisme untuk mengklasifikasikan sejumlah
resource dengan karakteristik tertentu. Seperti konsep kelas dalam RDF, setiap
kelas OWL berhubungan dengan sejumlah individu yang disebut perluasan kelas
(class extension). Individu-individu dalam perluasan kelas disebut instance.
Sebuah kelas memiliki konsep khusus yang dapat berelasi namun tidak sama
dengan kelas yang menjadi perluasannya. Oleh karena itu, dua kelas mungkin
memiliki perluasan kelas yang sama, namun tetap merupakan kelas yang berbeda.
Tabel 4.6 diberikan beberapa sintaks kelas owl, Gambar 4.5 skema relasi
struktur dari class, properties, objectproperties, datatypeproperties, dan Gambar
4.6 diberikan contoh owl kelas dan subkelas, serta Gambar 4.7 contoh individu.
Tabel 4.6 Beberapa kelas OWL
Kosakata
owl:AnnotationProperty
owl:Class
owl:DataRange
owl:DatatypeProperty
owl:ObjectProperty
owl:Ontology
Keterangan
Kelas yang anggotanya berupa properti yang dipakai
untuk menyatakan keterangan.
Menyatakan deklarasi sebuah kelas dalam OWL.
Kelas yang anggotanya adalah range suatu properti,
bila range merupakan kumpulan nilai (List, gabungan
sejumlah kelas).
Kelas yang anggotanya adalah properti-properti yang
menghubungkan individu ke nilai data (range dari
properti adalah suatu nilai tertentu, bukan individu)
Kelas yang anggotanya adalah properti-properti yang
menghubungkan individu yang satu ke individu yang
lain (range-nya berupa individu).
Menggambarkan bahwa sebuah dokumen merupakan
dokumen ontologi.
112
113
beberapa sintaks properties kelas owl, dan Gambar 4.8 diberikan contoh bagian
pembuatan owl properties.
Tabel 4.7 Beberapa properti OWL
Kosakata
owl:cardinality
owl:differentFrom
owl:disjointWith
owl:hasValue
owl:sameAs
Keterangan
Menggambarkan kelas dari individu yang mempunyai tepat N
nilai semantik yang berbeda (individu atau nilai data) untuk
properti tersebut.
Untuk menyatakan dua referensi URI yang menunjuk individu
yang berbeda.
Untuk menyatakan bahwa kelas-kelas yang disebutkan tidak
memiliki satu anggota pun sebagai irisannya.
Properti yang menghubungkan batasan suatu kelas dengan
suatu nilai V, yang dapat berupa individu maupun nilai data.
Perluasan kelas yang memiliki properti ini beranggotakan
individu-individu yang memiliki nilai properti yang disebutkan
(dibatasi) minimal satu yang secara semantik ekuivalen V.
Menyatakan dua individu yang secara semantik adalah sama
<owl:ObjectProperty rdf:ID="madeFromGrape">
<rdfs:domain rdf:resource="#Wine"/>
<rdfs:range rdf:resource="#WineGrape"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="course">
<rdfs:domain rdf:resource="#Meal" />
<rdfs:range rdf:resource="#MealCourse" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasWineDescriptor">
<rdfs:domain rdf:resource="#Wine" />
<rdfs:range rdf:resource="#WineDescriptor" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasColor">
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineColor" />
...
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="age">
<rdfs:range rdf:resource="http://www.w3.org/2001/XLMSchema
#nonNegativeInteger"/>
</owl:DatatypeProperty>
114
4.4.3
SPARQL
W3C merekomendasikan SPARQL sebagai standar bahasa query yang
115
4. WHERE
Dalam statement WHERE didefisinikan sederetan triple pattern yang harus
dimiliki oleh setiap hasil query yang valid. Seluruh pola yang merepresentasikan
suatu kalimat RDF harus memiliki bentuk sesuai dengan RDF triples yang terdiri
dari subject, predicate, dan object. Ketiga RDF triples tersebut dapat berupa
<URIref> atau sebuah ?variable. Object juga dapat berupa Literal.
variabel pada sederetan hasil query adalah unik. Selain itu, hasil query juga dapat
diurutkan menurut aturan tertentu dengan menambahkan klausa ORDER BY.
4.4.4
4.3.2 dan 4.4.1 telah banyak pula dikembangkan perangkat lunak bantu untuk
memudahkan pembuatan dan pengeditan ontologi, beberapa di antaranya adalah
Protg, WebODE, OE Hozo, dan Alvota SemanticWorks (Corcho et al., 2003;
Mizoguchi, 2003).
Protg
Protg (Gennari et al., 2003) merupakan tool grafis berbasis Java yang
bersifat open source yang dikembangkan oleh Universitas Stanford untuk
116
WebODE
WebODE (Corcho et al., 2002) dikembangkan oleh Lab Artificial
Intelligence, Technical University of Madrid (UPM). WebODE digunakan
sebagai sebuah web server dengan antarmuka web. Inti perangkat lunak bantu ini
adalah layanan akses (services), semua layanan dan aplikasi dipasang ke server,
dan secara khusus adalah WebODE Ontology Editor. Editor WebODE
memungkinkan membangun ontologi secara kolaborasi dengan bantuan
117
dasar.
Seperti pada editor ontologi lainnya, Editor ontologi Hozo juga
menyediakan pengguna dengan antarmuka grafis yang memudahkan melihat dan
memodifikasi ontologi. Pengguna tidak perlu khawatir tentang translasi menjadi
kode ekspresi ontologi, karena dilakukan otomatis. Salah satu bagian penting pada
118
Altova SemanticWork
Altova SemanticWork yang dibuat oleh perusahaan pembuat software
Altova. Dengan menggunakan Altova SemanticWork, pengembangan ontologi
dilakukan secara visual dengan skema, gambar, dan diagram. Beberapa fungsi
yang tersedia dalam Altova Semantic Work, antara lain (Alvota, 2009):
1. Pembuatan dan perubahan secara visual dari RDF, RDFS, OWL.
2. Pemeriksaan sintaksis untuk menyesuaikan kemampuan dengan spesifikasi
RDF/XML.
3. Auto Generated RDF/XML dan format N-triples berdasarkan rancangan
RDF/OWL.
4. Mencetak desain RDF/OWL yang berbentuk gambar untuk membuat
dokumentasi web semantic.
RDF dokumen dapat dibuat dan diedit dengan SemanticWorks dalam bentuk
grafis dari RDF/OWL secara visual. Sebuah RDF ditetapkan secara grafis
dikaitkan dengan predikat sebagai objek atau nilai literal. Sumber daya yang
tersedia dalam pilihan untuk GUI referensi oleh sebuah ontologi. Dokumen RDF
dapat diedit secara langsung dalam bentuk teks, baik menggunakan dalam notasi
RDF/XML atau notasi N-Triples. Sebuah dokumen RDF, skema RDF, OWL Lite,
OWL DL, atau OWL Full dapat diuji secara
spesifikasi. Di samping itu, dokumen OWL Lite dan OWL DL dapat diperiksa
kebenarannya secara semantik (sesuai dengan aturan OWL Lite dan OWL DL,
masing-masing)
119
4.4.5
OWL API
Untuk membangun aplikasi yang dapat memproses ontologi dibutuhkan API
library agar dapat mengakses dan memanipulasi secara langsung sebuah ontologi
yang ditulis dalam OWL. Di antaranya adalah Jena Ontology API dan ProtegeOWL API.
Jena Ontology API (Dickinson, 2009) merupakan Java API library yang
berguna untuk membuat dan memanipulasi graf-graf RDF. Jena adalah sebuah
framework berbasis Java untuk membangun aplikasi Semantic Web dan
dikembangkan oleh HP Labs Semantic Web Programme untuk memanipulasi
metadata dalam aplikasi Java. Jena menyediakan sekumpulan kelas java untuk
membantu pemrograman dan pengolahan ontologi untuk RDF, RDFS, dan OWL,
termasuk mesin inferensi berdasar aturan.
Sebagai contoh, dalam Jena terdapat kelas objek yang merepresentasikan
graf, reources (sumber daya), properti dan literal. Java interface yang menyajikan
resource, properti dan literal disebut berturut-turut dengan Resource, Properti dan
Literal. Sebuah graf disebut juga sebuah model dan direpresentasikan oleh java
interface Model.
Secara singkat kumpulan kelas-kelas java library dari Framework Jena
meliputi :
-
Jena2 ontology API untuk bekerja dengan data ontologi yang berbasis
RDF yaitu OWL, DAML+OIL, dan RDFS.
120
query dan memanipulasi model data OWL, serta untuk melakukan penalaran
berdasarkan mesin Deskripsi Logic.
Protege-OWL API difokuskan pada sekumpulan Jawa interface dari model
package. Interface java ini menyediakan akses terhadap model OWL dan elemen
seperti kelas, properti, dan individu. Pengembang aplikasi tidak harus mengakses
interface ini secara langsung (seperti DefaultRDFIndividual), tetapi cukup
memanggil method dari interface. Interface yang paling penting adalah interface
model OWLModel, yang menyediakan akses hingga ke kontainer resource dari
ontologi. Interface OWLModel dapat digunakan untuk menciptakan, query, dan
menghapus resource dari berbagai jenis dan kemudian menggunakan hasilnya
oleh OWLModel untuk diolah lebih lanjut.
121
122
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
123
Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4
Tabel 4.5
Tabel 4.6
Tabel 4.7