You are on page 1of 22

102

mampu menunjukan peningkatan tahap-tahap proses perancangan secara


konprehensif.

4.3 Ontologi
4.3.1

Definisi Ontologi
Dalam sepuluh tahun terakhir, para peneliti bidang komputasi basisdata dan

basis pengetahuan telah mengusulkan berbagai pendekatan model data semantis


agar dapat mengolah basisdata dan pengetahuan secara lebih menyeluruh dan
semantis. Salah satu di antaranya adalah pendekatan model data semantis berbasis
ontologi, seperti dinyatakan oleh Back dan Vainikainen (2003) bahwa sebuah
sistem pengetahuan dapat disimpan, disajikan dan ditampilkan dalam banyak
bentuk seperti skema taxomoni, semantik, ontologi. Melalui model ontologi
diharapkan mampu mengambarkan struktur semantis dari suatu domain
pengetahuan. Dengan lain kata, pendekatan model data ontologi memungkinkan
sebuah sistem dan aplikasi dapat menangani informasi dan memanfaatkan kembali
menjadi pengetahuan bagi setiap orang sesuai dengan pola dan minat ketertarikan
tertentu yang diinginkannya (Azhari dan Wardoyo, 2005).
Definisi dan pengertian dari ontologi dapat ditemukan di dalam banyak
literatur, misalnya menurut Gruber (1993), bahwa sebuah ontologi adalah sebuah
spesifikasi eksplisit dari sebuah konsepsi. Swartout et al. (1997) mendefinisikan
ontologi adalah sekumpulan istilah terstruktur secara hirarki untuk menjelaskan
sebuah domain yang dapat digunakan sebagai kerangka dasar sebuah basis
pengetahuan. Menurut Neches et al. (1991), sebuah ontologi merupakan definisi
dari pengertian dasar dan relasi vokabulari dari suatu area pengetahuan termasuk
bagaimana aturan dari kombinasi istilah dan relasi untuk mendefinisikan
vokabulari. Kemudian Bernaras et al. (1996) menyebutkan bahwa sebuah ontologi
memberikan cara untuk menjelaskan secara eksplisit konsepsi yang terkandung
dari representasi pengetahuan suatu basis pengetahuan. Studer et al. (1998)
menyatakan bahwa sebuah ontologi adalah spesifikasi formal, dan eksplisit dari
konsepsi bersama. Selanjutnya Osterwalder dan Pigneur (2002) menjelaskan

103

bahwa ontologi adalah spesifikasi eksplisit dari konseptualisasi yang membuat


konsep lebih spesifik dengan menggunakan konsep dan role lain.
Dari pengertian-pengertian tersebut dapat dikatakan bahwa ontologi adalah
suatu konsepsi formal (dalam arti dapat dibaca oleh mesin) dari sebuah domain
pengetahuan tertentu (dapat terdiri dari konsep, relasi, fungsi, aksioma) dan
dipakai secara bersama-sama oleh kelompok orang. Penjelasan dari pengertian ini
secara skematisasi ditunjukkan pada Gambar 4.2.

Gambar 4.2 Definisi dan pengertian ontologi (Studer et al, 1998)


Pendefinisian yang mendekati lebih teknis ditunjukkan oleh Abugessaisa
dan Sivertun (2004), serta Serra et al. (2004) yaitu bahwa ontologi merupakan
cara merepresentasikan pengetahuan tentang makna dari suatu objek, properti dari
suatu objek, serta relasi objek tersebut yang mungkin terjadi pada domain
pengetahuan. Atau dengan lain kata, ontologi merupakan cara merepresentasikan
pengetahuan yang terkait dengan makna (secara semantis) dalam bentuk obyek,
properti dari suatu obyek, serta relasi obyek tersebut yang mungkin terjadi pada
suatu domain pengetahuan, dan dapat digunakan untuk berbagi pengetahuan.
Dalam ontologi, pengetahuan direpresentasikan dalam bentuk classes,
properties, slots, dan instans (Abugessaisa dan Sivertun, 2004; Alavi dan Leidner,

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.

Gambar 4.3 Contoh model ontologi proyek

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

Tahapan Pengembangan Ontologi


Pengembangan ontologi merupakan proses yang iteratif. Proses membangun

ontologi pada dasarnya dilakukan dengan mendefinisikan himpunan data dan


strukturnya agar dapat digunakan oleh sistem dan program aplikasi lainnya.
Ontologi terbaik yang digunakan tergantung pada aplikasi yang akan dibangun,
dan dengan pertimbangan berbagai perluasan yang harus diantisipasi. Konsepsi
yang dibentuk harus dapat mendekati dengan keadaan obyek sebenarnya (secara
fisik maupun logik) dan relasi dalam domain yang dikembangkan. Terdapat
berbagai pendapat mengenai tahapan proses pengembangan sebuah model
ontologi.
Berikut ini menurut Cristani dan Cuel (2005), Noy dan McGuinnes (2001),
Corcho et al. (2003) tahapan yang dilakukan dalam proses pengembangan suatu
ontologi adalah seperti berikut:
1. Tahap Penentuan Domain
Merupakan tahap awal proses digitalisasi pengetahuan yang dilakukan dengan
cara menjawab beberapa pertanyaan seperti: Apa yang merupakan domain
ontologi? Mengapa harus

menggunakan ontologi? Apa jenis pertanyaan

terhadap ontologi sehingga perlu menyediakan jawaban? Siapa akan


menggunakan dan memelihara ontologi?

107

2. Tahap Penggunaan Ulang


Tahap penggunaan kembali dan justifikasi dari ontologi yang telah dibangun.
Hal ini dimungkinkan karena merupakan sebuah kebutuhan saat sistem harus
berhubungan dengan aplikasi yang menyatu dengan ontologi.
3. Tahap Pendefinisian Istilah
Tahap proses menentukan istilah-istilah yang digunakan untuk membuat
pernyataan atau untuk menjelaskan hal yang sama.
4. Tahap Pendefinisian Kelas dan Hirarki Kelas
Menciptakan beberapa definisi dari konsep dalam hirarki dan kemudian
menguraikan properti dari konsep. Hirarki kelas direpresentasikan dengan
relasi is-a : setiap kelas A adalah subkelas B jika setiap instant kelas A juga
instant kelas B.
5. Tahap Pendefinisian Properti
Secara umum, ada beberapa jenis properti (sifat) obyek yang dapat menjadi slot
dalam suatu ontologi. Properti Intrinsik (hakiki), seperti rasa dari anggur.
Properti Ekstrinsik (karena keadaan luar), seperti nama anggur dan area
(regional). Properti karena hubungan dengan individu yang lain, misalnya
hubungan antara anggota individu dari suatu kelas dengan individu yang lain.
6. Tahap Pendefinisian Konstrain dan Slot
Beberapa domain pengetahuan dapat memiliki memiliki slot bersyarat
kardinalitas tunggal (satu nilai) atau dengan kardinalitas banyak (memiliki
sejumlah nilai). Kardinalitas dari N berarti suatu slot mempunyai sedikitnya N
nilai. Suatu slot juga dapat berupa string, boolean, enumerasi (simbolik), serta
instant.
7. Tahap Pembuatan Instant
Pendefinisian sebuah instant dari kelas dapat meliputi pememilihan kelas,
pembuatan individu instant dari kelas, dan pengisian nilai slot.

Thunkijjanukij et al. (2009) dan Liping et al. (2007) menuliskan bahwa


untuk merancang dan membangun ontologi juga perlu diperhatikan kriteriakriteria berikut: (1) clarity and Objectivity, ontologi harus dipersiapkan dengan

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.

4.4 Web Ontology Language


4.4.1

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.

OWL Full menurut McGuinness dan Harmelen (2004), dapat dipandang


sebagai ekstensi dari RDF, sementara OWL Lite dan OWL DL dapat dipandang
sebagai ekstensi dari keterbatasan RDF. Setiap dokumen OWL (Lite, DL, Full)
adalah sebuah dokumen RDF, dan setiap dokumen RDF adalah sebuah dokumen
OWL Full, tapi hanya beberapa dokumen RDF dapat merupakan sebuah dokumen
OWL Lite atau OWL DL. Karena itu, perlu hati-hati bila pengguna ingin
bermigrasi dari sebuah dokumen RDF ke OWL. Misalnya, bila ekspresi dari OWL
DL atau OWL Lite dianggap tepat, ada beberapa tindakan yang perlu diperhatikan
untuk memastikan bahwa dokumen RDF asli sesuai dengan kendala tambahan
dibutuhkan oleh OWL DL dan OWL Lite. Antara lain, setiap URI yang digunakan
sebagai nama kelas harus ditegaskan secara eksplisit menjadi jenis owl:Class
(termasuk untuk properti), setiap individu harus ditegaskan menjadi minimal satu

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

Struktur dan Elemen OWL


Antoniou and Harmelen (2003) serta Smith et al. (2004) memberikan

dokumentasi pedoman cukup lengkap mengenai cara penulisan dan contoh-contoh


ontologi dengan OWL. Berikut ini dipilih dan diberikan struktur dan beberapa
elemen dasar dari OWL.
1. Sintaks OWL
Ontologi OWL merupakan graf RDF yang diubah menjadi kumpulan tripletriple RDF. OWL menggunakan sintaks yang sama dengan RDF dalam
merepresentasikan triple. Misal sintaks <owl:Class rdf:ID="Continent"/>.
Sintaks tersebut memiliki arti yang sama dengan representasi sintaks RDF/XML,
misalnya diperlihatkan pada Gambar 4.4.
<rdf:Description rdf:about="#Continent">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>

Gambar 4.4 Sintaks RDF/XML

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.

Informasi dalam bentuk OWL disatukan dalam

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

Gambar 4.5 Relasi OWL dengan RDF


<owl:Class rdf:ID="Winery"/>
<owl:Class rdf:ID="Region"/>
<owl:Class rdf:ID="ConsumableThing"/>
<owl:Class rdf:ID="PotableLiquid">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
...
</owl:Class>

Gambar 4.6 Contoh class dan subclass


<owl:Thing rdf:ID="CentralCoastRegion" />
<owl:Thing rdf:about="#CentralCoastRegion">
<rdf:type rdf:resource="#Region"/>
</owl:Thing>
<owl:Class rdf:ID="WineGrape">
<rdfs:subClassOf rdf:resource="&food;Grape" />
</owl:Class>
<WineGrape rdf:ID="CabernetSauvignonGrape" />

Gambar 4.7 Contoh individuals


3. Properti OWL
OWL membedakan properti kedalam dua kategori yaitu : (a) Object
Property, yang menghubungkan individu yang satu ke individu yang lain. Properti
ini didefinisikan sebagai instance dari kelas owl:ObjectProperty; (b) Datatype
Property, yang menghubungkan individu ke nilai data. Properti ini didefinisikan
sebagai instance dari kelas owl:DatatypeProperty. Pada Tabel 4.7 diberikan

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>

Gambar 4.8 Contoh ObjectProperties dan DataProperties

114

4.4.3

SPARQL
W3C merekomendasikan SPARQL sebagai standar bahasa query yang

digunakan untuk mengambil informasi dari OWL dan pengembangan Semantic


Web. SPARQL menyediakan fasilitas untuk mengekstraksi informasi dalam
bentuk URI, blank node dan literal, mengekstraksi sub graf RDF, dan membangun
graf RDF baru berdasar pada informasi dari graf yang diinginkan. Struktur
perintah yang digunakan dalam query SPARQL adalah dengan Select-FromWhere seperti yang diperlihatkan dari sebuah contoh pada Gambar 4.9 (Dodds,
2005).
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
FROM <http://example.org/foaf/people>
WHERE {
?x foaf:name ?name .
?x foaf:mbox ?mbox .
}

Gambar 4.9 Contoh perintah SPARQL


1. PREFIX
Prefix merupakan mekanisme penentuan awalan untuk menyingkat URI.
Misalnya foaf: http://xmlns.com/foaf/0.1/ berarti URI tersebut disingkat dengan
awalan foaf. Prefix ini berupa sintatik, nama prefiks tidak mempengaruhi query,
nama prefiks juga tidak harus sama dengan prefiks yang digunakan pada
serialisasi data.
2. SELECT
Dalam statement SELECT didefinisikan sebuah daftar variabel-variabel yang
akan dikembalikan sebagai hasil dari eksekusi query. Setiap variabel didahului
dengan tanda tanya (?) dan bisa diberi nama dengan menggunakan karakter
alfanumerik yang dikombinasikan dengan garis bawah, misalnya ?name.
3. FROM
Pada statement FROM ini dispesifikasikan jalur atau URL dari dokumen RDF
yang akan di-query. Misalnya FROM <http://example.org/foaf/people>.

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.

Misalnya ?x foaf:name ?name .

SPARQL pada dasarnya menyediakan cara untuk menggabungkan pola-pola


graf sehingga satu dari beberapa pola graf alternatif akan cocok. Jika ada lebih
dari satu pola alternatif yang cocok, maka semua kemungkinan solusi pola akan
ditemukan. Pola alternatif ini dinyatakan dengan kata kunci UNION. Untuk
mendapatkan hasil query dimana nilai variabel tertentu harus memenuhi suatu
kriteria maka digunakan tambahan kata kunci FILTER yang diikuti dengan operasi
tertentu yang menyatakan kriteria tersebut. Operator yang biasa digunakan untuk
mencocokkan nilai suatu literal dengan suatu kata adalah REGEX.
Hasil query juga dapat dimodifikasi dengan menambahkan kata kunci
DISTINCT yang akan memastikan bahwa setiap kombinasi dari pengikatan

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

Perangkat Lunak Bantu OWL


Berkaitan dengan metodologi dan bahasa ontologi yang disebut pada subbab

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

membuat ontologi. Protg memfasilitasi seorang pengembang untuk membuat


model domain pada level konseptual tanpa harus mengetahui sintaks dari bahasa
tersebut secara rinci. Protg dapat digunakan untuk membuka, mengubah, dan
menyimpan ontologi ke dalam berbagai macam format seperti CLIPS, RDF,
XML, UML, OWL, dan basis data relasional. Selain itu Protg juga
menyediakan sebuah lingkungan yang bersifat plug-and-play, sehingga mampu
menjadi dasar yang fleksibel bagi pembuatan prototype dan aplikasi secara cepat.
Pengembang dapat berkonsentrasi pada konsep dan relasi dari domain
pengetahuan yang sedang dibahas dan fakta mengenai relasi-relasi tersebut yang
langsung diekspresikan dalam sintaks. Protg dapat digunakan untuk melakukan
tugas-tugas sebagai berikut :
1. Pemodelan kelas: Protg menyediakan GUI (graphical user interface)
yang memodelkan kelas-kelas (konsep mengenai suatu domain) dan
atributnya serta relasi antar kelas tersebut.
2. Mengedit instance: dari kelas-kelas ini Protg secara otomatis mengenerate bentuk interaktif yang memungkinkan pengembang untuk
memasukkan instance.
3. Pemrosesan model: Protg dilengkapi library yang berisi plug-in yang
membantu pengembang mendefinisikan semantik, memberikan query, dan
lain-lain.
4. Pertukaran model: model menghasilkan kelas dan instance yang dapat
disimpan dalam format yang bervariasi, termasuk XML, UML, OWL, dan
RDF.

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

antarmuka pengguna berbasis grafis. Beberapa layanan lainnya untuk ontologi


service adalah XML, RDF(S), OIL, FLogic, Jess, Prolog), pembangun aksioma
berbasis web (WebODE Axiom Builder, WAB), dokumentasi ontologi,
penggabungan dan evaluasi ontologi. WebODE mendukung pembangunan
ontologi pada berbagai tingkat pengetahuan, dan diterjemahkan ke dalam bahasa
ontologi yang berbeda. WAB mendukung pendefisian aksioma dalam bentuk
grafis dan dengan menggunakan bantuan (template). WebODE menyimpan hasil
ontologi dalam basisdata relasional.

OE: Ontology editor in Hozo


"Hozo" adalah suatu perangkat lunak terpadu untuk membangun tugas dan
domain ontologi dengan berdasarkan teori dasar ontologi (Kozaki et al., 2002).
"Hozo" terdiri dari " Editor Ontologi ", "Onto-Studio" dan " Server Ontologi ".
Hasil dan model ontologi disimpan dalam format yang berbeda (Lisp, Teks,
XML/DTD, DAML + OIL) yang portabel dan reusable. Salah satu fitur utama
dari Hozo adalah memperlakukan konsep Role. Dalam Hozo, memperkenalkan
tiga kelas yang berbeda untuk menangani dengan memperkenalkan konsep Role.
Yaitu Role concept, Basic concept, dan Role holder (Gambar 4.10).

Role-concept: A concept representing a role dependent on a context(e.g., teacher role)


Basic concept: A concept which does not need other concepts for being defined(e.g., human)
Role holder: An entity of a basic concept which is holding the role(e.g., teacher)

Gambar 4.10 Role pada OE Hozo


Konsep dasar yang digunakan adalah class constraint. Jika sebuah instan
memenuhi class constraint dan memegang suatu peran maka termasuk sebuah role
holder. Hozo mendukung untuk menetapkan suatu konsep role sebagai konsep

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

antarmuka adalah is-a hierarchy browser yang menampilkan semua struktur


relasi antara kelas-kelas. Kolaborasi pengembangan ontologi juga didukung dalam
Editor ontologi. Pada tingkat primitif, ontologi server yang memungkinkan
pengguna untuk membaca dan menyalin semua ontologi dan kejadian. Kemudian
Editor ontologi memungkinkan pengguna untuk membagi suatu ontologi menjadi
beberapa komponen ontologi dan mengelola ketergantungan di antaranya.

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

sintaks sesuai dengan aturan

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 :
-

ARP, yaitu parser RDF/XML. RDF API untuk manipulasi RDF.

Jena2 ontology API untuk bekerja dengan data ontologi yang berbasis
RDF yaitu OWL, DAML+OIL, dan RDFS.

SPARQL, yaitu bahasa query untuk RDF yang diimplementasikan pada


query engine Jena yaitu ARQ.

Reasoner (penguji validitas).

Penyimpanan secara persistent maupun dalam memori.

Protege-OWL API (Knublauch, 2009) adalah sebuah Java library untuk


manipulasi OWL dan RDF (S). Dalam OWL API ini menyediakan sekumpulan
kelas dan metode untuk membuka dan menyimpan file OWL, dan melakukan

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

BAB IV. MANAJEMEN PENGETAHUAN DAN ONTOLOGI .........................87


4.1 Rekayasa Pengetahuan .................................................................................87
4.1.1 Informasi dan Pengetahuan ..............................................................87
4.1.2 Pengetahuan Eksplisit dan Tasit ......................................................89
4.2 Manajemen Pengetahuan ..............................................................................92
4.2.1 Sistem Manajemen Pengetahuan......................................................92
4.2.2 Manajemen Pengetahuan Perusahaan ..............................................99
4.3 Ontologi ......................................................................................................102
4.3.1 Definisi Ontologi............................................................................102
4.3.2 Tahapan Pengembangan Ontologi .................................................106
4.4 Web Ontology Language ............................................................................108
4.4.1 OWL...............................................................................................108
4.4.2 Struktur dan Elemen OWL.............................................................110
4.4.3 SPARQL ........................................................................................114
4.4.4 Perangkat Lunak Bantu OWL ........................................................115
4.4.5 OWL API .......................................................................................119

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

Hubungan data, informasi, pengetahuan (Cooper, 2007) .............88


Definisi dan pengertian ontologi (Studer et al, 1998) ................103
Contoh model ontologi proyek ...................................................105
Sintaks RDF/XML .....................................................................110
Relasi OWL dengan RDF ...........................................................112
Contoh class dan subclass ..........................................................112
Contoh individuals .....................................................................112
Contoh ObjectProperties dan DataProperties ...........................113
Contoh perintah SPARQL ..........................................................114
Role pada OE Hozo ....................................................................117

123

Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4
Tabel 4.5
Tabel 4.6
Tabel 4.7

Perbedaan pengetahuan eksplisit dengan pengetahuan tasit ........91


Kelebihan dan kekurangan dari pengetahuan eksplisit dan tasit ..92
Manajemen pengetahuan pada bidang ilmu (Putzhuber, 2003) ...94
Perspektif sistem manajemen pengetahuan ..................................97
Tahapan sistem manajemen pengetahuan (Tiwana, 1999) ...........98
Beberapa kelas OWL..................................................................111
Beberapa properti OWL .............................................................113

You might also like