Semantic Web merujuk kepada kemampuan aplikasi komputer untuk lebih memahami bahasa manusia, bukan hanya bahasa yang baku dari para penggunanya tetapi juga bahasa yang lebih kompleks, seperti dalam bahasa percakapan sehingga memudahkan penggunanya untuk berkomunikasi dengan mesin. Semantic Web dapat mengolah bahasa dan mengenali homonim, sinonim, atau atribut yang berbeda pada suatu database.
Semantic Web adalah
teknologi yang dikembangkan dengan berbasis RDF format. Basis data dapat
dijadikan acuan untuk pembuatan metadata, namun BibTex file dapat juga
dijadikan acuan untuk pembuatan Semantic Web. Dengan menggunakan format XML
yang merupakan dasar pembentukan metadata (RDF), maka berdasarkan format
tersebut metadata dapat didistribusikan atau di simpan dalam domain yang
beragam, data yang tersimpan berupa BibTex file di konversi ke format RDF,
selanjutnya dengan menggunakan sesame metadata di load pada file index, SeRQL
selanjutnya melakukan query terhadap metadata yang telah di load untuk
ditampilkan di browser.
Istilah Semantic Web itu
sendiri diperkenalkan oleh Tim Berners-Lee, penemu World Wide Web. Sekarang,
prinsip Semantic Web disebut-sebut akan muncul pada Web 3.0, generasi ketiga
dari World Wide Web. Bahkan Web 3.0 itu sendiri sering disamakan dengan Semantic
Web. Semantic Web menggunakan XML, XMLS (XML Schema), RDF, RDFS (Resources
Description Framework Schema) dan OWL.
Ontology
Ontology merupakan suatu
teori tentang makna dari suatu obyek, properti dari suatu obyek, serta relasi
obyek tersebut yang mungkin terjadi pada suatu domain pengetahuan. Ontology
merupakan penjelasan sebuah konsep dan memiliki hubungan atau kaitan dari ilmu
tertentu. Ontology dalam semantic web adalah sebuah katalog dimana skemanya
menggunakan ontology. Pengertian tentang ontology memiliki banyak pengertian
seperti yang dijelaskan pada berbagai sumber, termasuk yang dikemukakan oleh
beberapa ilmuan.
- Neches dan rekannya memberikan definisi awal tentang ontology yaitu ”Sebuah ontology merupakan definisi dari pengertian dasar dan relasi vokabulari dari sebuah area sebagaimana aturan dari kombinasi istilah dan relasi untuk mendefinisikan vokabulari”.
- Gruber mendefinisikan yang sering digunakan oleh beberapa orang, definisi tersebut adalah ”Ontology merupakan sebuah spesifikasi eksplisit dari konseptualisme”.
- Berdasarkan definisi Gruber tersebut banyak orang yang mengemukakan definisi tentang ontology diantaranya Guarino dan Giaretta yang pada tahun 1995 mengumpulkan hingga tujuh definisi yang berkoresponden dengan syntactic dan semantic interpretasi.
- Pada tahun 1997, Borst melakukan penambahan dari definisi Gruber dengan mengatakan “Sebuah ontology adalah spesifikasi formal dari sebuah konseptual yang diterima (share)”.
- Studer mencoba mengemukakan definisi tentang ontology yang mengambil acuan dari definisi yang dikemukakan oleh Gruber dan Borst, definisi tersebut adalah : “Konseptualisasi mengacu kepada sebuah model abstrak dari beberapa fenomena di dunia dengan memiliki identifikasi konsep yang relevan dari fenomena tersebut“.
- Ada buku yang memberikan definisi tentang Ontology, salah satunya adalah “The Semantic web” , definisi dari Ontology adalah :
- Salah satu cabang metafisika yang terfokus pada alam dan hubungan antara mahluk hidup.
- Teori tentang sifat alami mahluk hidup. Ontology merupakan suatu teori tentang makna dari suatu obyek, property dari suatu obyek, serta relasi obyek tersebut yang mungkin terjadi pada suatu domain pengetahuan. Pada tinjauan filsafat, ontology adalah studi tentang sesuatu yang ada. Selain itu ontology adalah sebuah konsep yang secara sistematik menjelaskan tentang segala sesuatu yang ada atau nyata.
- Barnaras pada proyek KACTUS memberikan definisi ontology yang berdasarkan pada pengembangan ontology. Definisi yang diberikan adalah : “Sebuah ontology memberikan pengertian untuk penjelasan secara eksplisit dari konsep terhadap representasi pengetahuan pada sebuah basis pengetahuan”.
- Proyek SENSUS juga memberikan definisi : “Sebuah ontology adalah sebuah struktur hirarki dari istilah untuk menjelaskan sebuah domain yang dapat digunakan sebagai landasan untuk sebuah basis pengetahuan”.
Dalam bidang Artificial Intelligence (AI) ontology
memiliki dua pengertian yang berkaitan. Pertama ontology merupakan kosakata
representasi yang sering dikhususkan untuk domain atau subyek pembahasan
tertentu. Kedua, sebagai suatu body of knowledge untuk menjelaskan suatu
bahasan tertentu. Secara umum, ontology
digunakan pada Artificial Intelligence (AI) dan persentasi pengetahuan. Segala
bidang ilmu yang ada di dunia, dapat menggunakan metode ontology untuk dapat
berhubungan dan saling berkomunikasi dalam hal pertukaran informasi antara
sistem-sistem yang berbeda.
Untuk dapat digunakan,
sebuah ontology harus diekspresikan dalam notasi yang nyata. Sebuah bahasa
ontology adalah sebuah bahasa formal dari sebuah pembuatan ontology. Beberapa
komponen yang menjadi struktur ontology, antara lain :
- XML Menyediakan sintaksis untuk output dokumen terstruktur, tetapi belum dipaksakan untuk dokumen XML menggunakan semantic constrains.
- XML Schema Bahasa untuk pembatasan struktur dari dokumen XML.
- RDF Model data untuk objek (’resources’) dan relasi diantaranya, menyediakan semantic yang sederhana untuk model data tersebut, dan data model ini dapat disajikan dalam sintaks XML.
- RDF Schema Adalah kosa kata untuk menjelaskan properties dan classes dari sumber RDF, dengan sebuah semantics untuk hirarki penyamarataan dari properties dan classes.
- OWL Manambahkan beberapa kosa kata untuk menjelaskan properties dan Classes, antara lain : relasi antara classes (misalkan disjointness), kardinalitas (misalkan ’tepat satu’), equality, berbagai tipe dari properties, karakteristik dari properties (misalkan symmetry), menyebutkan satu persatu classes.
Berbagai bahasa yang
menyusun ontology, seperti yang telah dijelaskan di atas memiliki kedudukan
tertentu dalam struktur ontology. Setiap layer akan memiliki fungsi tambahan
dan kompleksitas tambahan dari layer sebelumnya. Pengguna atau User yang
memiliki fungsi pemrosesan layer paling rendah dapat memahami walaupun tidak
seluruh ontology yang terletak di layer atasnya.
Dalam setiap layer tersebut, masing-masing bagian
memiliki fungsi masing-masing :
- XML memiliki fungsi menyimpan isi halaman web
- RDF adalah layer untuk merepresentasikan semantik dari isi halaman tersebut
- Ontology layer untuk menjelaskan vocabulary dari domain
- Logic Layer memungkinkan untuk mengambil data yang diinginkan
Dapat diambil kesimpulan, ontology adalah
sebuah uraian formal yang menjelaskan tentang sebuah konsep dalam sebuah domain
tertentu (class,
terkadang disebut konsep), properti-properti dari masing-masing konsep
menjelaskan bermacam-macam corak dan atribut dari sebuah konsep (slots, terkadang
disebut roles atau properti-properti),
dan batasan-batasan (facets, terkadang disebut role restrictions). Sebuah ontology bersama
dengan beberapa set instances dari class membentuk sebuah presentasi pengetahuan.
Secara umum, ontology digunakan pada kecerdasan buatan dan
persentasi pengetahuan. Segala bidang ilmu yang ada di dunia, dapat menggunakan
metode ontology untuk dapat berhubungan dan saling
berkomunikasi dalam hal pertukaran informasi antara sistem-sistem yang berbeda.
Resource Description Framework (RDF) dan RDF Schema
Resources Description
Framework (RDF) sebagai sebuah bahasa formal yang berbasiskan XML, URI dan
unicode. RDF adalah sebuah dasar untuk pemrosesan metadata, dimana metadata
dalam web dapat di kodekan, dipertukaranan dan dipergunakan. RDF terdiri dari
tiga jenis bagian (triple) subyek predikat obyek, dimana bisa disebut juga
sebagai:
- Resources, adalah bagian dari sumber informasi, dalam era Internet di representasikan dalam alamat web atau URL, ini disebut subyek atau obyek.
- Property, adalah sebuah karakteristik dari atribut atau relasi untuk menjelaskan sumber, ini disebut juga predikat.
RDF bukanlah
melakukan pendifinisian semantik secara langsung dari setiap sumber, tetapi
lebih
melakukan penjelasan
untuk lebih dapat dipahami oleh mesin, sehingga memudahkan untuk
pertukaran data.
RDF Schema (RDFS)
adalah sebuah lapisan diatas RDF, dan merupakan sebuah set standard sederhana
dari sumber RDF yang memungkinkan untuk membuat vokabulari RDF sendiri. Model
dari RDFS memiliki kemiripan dengan yang digunakan oleh object oriented, yaitu
dengan memiliki class, relation, property dan instance. Class adalah kumpulan
dari obyek yang memiliki kesamaan karakter. Relation adalah sifat hubungan
antar kelas. Property adalah karakter dari sebuah kelas. Instances adalah
sebuah obyek yang sesungguhnya. ‘arti’ kata menerangkan dalam RDF atau RDFS
tergantung oleh beberapa faktor, termasuk peraturan sosial, bahasa natural atau
penghubung ke dokumen lain. Banyak diantara arti-arti tersebut tidak dapat
diakses oleh mesin.
Dalam RDF, jika kita ingin
mengekspresikan kalimat Judul berita pada link http://www.detik.com/news/100107 adalah adam air maka untuk
menyesuaikan dengan struktur RDF, kalimat bisa kita ubah menjadi http://www.detik.com/news/100107
mempunyai judul berita Adam Air. Dari kalimat tersebut kita dapatkan http://www.detik.com/news/100107 sebagai
subjek, “judul” sebagai predikat dan “Adam Air” sebagai objeknya. Berikut
representasi pernyataan dalam bentuk grafik:
Bentuk elipse digambarkan sebagai
subjek, panah sebagai predikat dan kotak sebagai objek. Contoh implementasi RDF
dalam bentuk XML adalah sebagai berikut:
Pada kode diatas, RDF menggunakan
prefiks rdf dan berita untuk menyingkat alamat penuh URI. Kata rdf merupakan
nama namespace yang mengacu pada syntax RDF sedangkan berita untuk elemen
elemen berita. Kedua prefiks tersebut dinamakan juga dengan namespace. Dalam
namespace, walaupun kita merujuk ke alamat URI sebuah schema, kenyataannya alamat
tersebut tidak harus selalu ada. Tidak ada aktifitas validasi dilakukan
terhadap alamat tersebut. Hal ini dilakukan lebih untuk menghindari terjadinya
penggunaan elemen yang ambigu. Caranya yaitu dengan membuat prefiks yang yang
berlainan. Prefiks namespace merupakan bagian dari XML qualified name (Qname)
yang digunakan untuk memudahkan penulisan RDF. Qname terdiri dari prefiks dan
nama lokal. Misalnya teks berita:judul, kata berita merupakan nama pendek dari
URI http://berita.org/elements/
sedangkan kata judul adalah elemen dari berita seperti pada link http://berita.org/elements/judul.
RDF mempunyai bentuk dan kode yang
bervariasi. Variasi ini tergantung dari kalimat yang akan dideskripsikan.
Variasi ditandai dengan penggunaan tag yang mempunyai fungsi yang berbeda satu
sama lain. Berikut adalah beberapa variasi bentuk RDF:
- RDF Anonim, Sumber daya anonim tanpa URI digunakan untuk menghubungkan banyak elemen (predikat dan objek) dengan subjek. Elemen objek dan predikat dapat berjumlah lebih dari satu namun saling berkaitan dengan subjek asalnya.
- RDF Container, Suatu saat kita ingin mendefinisikan pernyataan tentang sebuah buku yang ditulis oleh beberapa penulis atau software yang dirancang oleh beberapa analis. Hal tersebut dapat dilakukan dengan menggunakan RDF Container. Container merupakan sumber daya yang dapat menampung banyak elemen. Elemen yang tergabung dapat terdiri dari sumber daya, literal ataupun sumber daya anonim (node kosong). RDF Container mempunyai tiga tipe yaitu rdf:bag, rdf:seq dan rdf:alt. Rdf:bag menyimpan banyak nilai tanpa memperhatikan urutan dan duplikasinya. rdf:seq meyimpan nilai secara terurut berdasarkan alfabet tanpa memperhatikan duplikasi nilainya sedangkan rdf:alt menyimpan nilai alternatif dari nilai yang sudah ada, sebagai contoh rdf:alt digunakan untuk mendefinisikan statement alternatif bahasa dari judul sebuah buku.
- RDF Collection, RDF Collection merupakan grup yang dapat menyimpan kumpulan sumber daya dalam bentuk list yang terstruktur. List ini dibentuk dengan menggunakan tipe rdf:list, sumber daya rdf:nil dan property rdf:first dan rdf:rest. Berbeda dengan RDF:Container, pada RDF Collection kita mendefinisikan anggota sebuah grup secara lengkap dan spesifik.
- RDF Reification, RDF mempunyai kosa kata internal yang digunakan untuk mendeskripsikan pernyataan-pernyataan yang ada pada RDF. Pendeskripsian ini disebut Reification. Kosa kata reification terdiri dari tipe rdf:statement dan properti rdf:subject, rdf:predicate dan rdf:object. Penggunaan reification diharapkan dapat memperjelas informasi dari suatu pernyataan.
Ontology
Web Ontology Language
(OWL) adalah suatu bahasa yang dapat digunakan oleh aplikasi-aplikasi yang
bukan sekedar menampilkan informasi tersebut pada manusia, melainkan juga yang
perlu memproses isi informasi isi. Ontology sendiri dapat didefinisikan sebagai
suatu cara untuk mendeskripsikan arti dan relasi dari istilah-istilah.
Deskripsi tersebut berisi classes, properties, dan instances. Deskripsi ini
dapat membantu sistem computer dalam menggunakan istilah-istilah tersebut
cengan cara yang lebih mudah. Dengan menggunakan OWL, kita dapat menambah
vocabulary tambahan disamping semantiks formal yang telah dibuat sebelumnya
menggunakan XML, RDF, dan RDF Schema. Hal ini sangat membantu
penginterpretasian mesin yang lebih baik terhadap isi Web. Untuk mendeskripsikan
properties dan classes, OWL menambahkan vocabulary seperti:
- “among others”
- Relasi antar classes (misalnya: “disjointness”)
- Kardinalitas (misalnya: “exactly one”)
- Kesamaan (equality)
- Karakteristik property (misalnya: “symmetry”)
- Enumerated classes
OWL menyediakan tiga
buah subbahasa yang dirancang untuk digunakan oleh para pengguna tertentu,
yaitu:
- OWL Lite, digunakan oleh pengguna yang membutuhkan suatu hirarki pengklasifikasian dan berbagai constraints sederhana.
- OWL DL, digunakan oleh pengguna yang menginginkan tingkat ekpresi maksimal dan semua konklusi yang dihasilkan dapat dihitung dalam waktu yang terbatas (finite)
- OWL Full, digunakan oleh pengguna yang menginginkan tingkat ekpresi maksimal dan kebebasan sintaks dari RDF tanpa mempertimbangkan komputasi yang dibutuhkan.
Berikutnya, akan
didiskripsikan syntax OWL dan ilustrasi membangun ontology menggunakan OWL.
Header
Elemen pertama dalam OWL adalah elemen rtf:RDF yang menspesifikasikan suatu set deklarasi namespace XML yang
menyajikan identifier yang tidak diinterpertasikan dengan ambigu dan membuat
penyaian ontology berikutnya lebih mudah untuk dipahami.
Contoh:
Sebuah namespace terdiri
dari reserved XML attribute xmlns, sebuah prefix yang mengidentifikasikan
namespace dan nilainya.
Information Version
Setelah deklarasi namespace, dokumen OWL menspesifikasi
kumpulan pernyataan (assertions) yang dikelompokkan dibawah suatu OWL:
- owl:versionInfo : Memberikan informasi tentang versi ontology ini.
- owl:priorVersion : Mengindikasikan versi awal dari ontology ini.
- owl:backwardCompatibleWith : Berisikan referensi versi ontology sebelumnya yang masih kompatibel.
- owl:incompatibleWith : Mengindikasikan versi ontology sebelumnya yang tidak kompatibel.
- owl:imports : hanya assertation ini yang memiliki makna formal terhadap ontology dan merepresentasikan set ontology lain yang dianggap menjadi bagian dari ontology saat ini. Perlu diperhatikan bahwa owl:import adalah property transitif karena juka ontology A mengimport ontology B, dan ontology B mengimport ontology C, maka ontology A juga mengimport ontology C.
Berikut ini adalah contoh singkat:
Class Element
Class adalah kumpulan individual, suatu cara untuk
mendeskripsikan bagian dari dunia. Mereka di definiskan pada dokumen OWL dengan
owl:classElement. Contohnya, untuk
class “Teacher” dapat didefinisikan
seperti:
Perlu diketahui bahwa elemen rdf:ID merupakan nama class. Jika kita ingin membuat reference ke
klass kita menggunakan rdf:resource element. Ontology OWL dapat menyajikan
hirarki antara kelas menggunakan elemen owl:subClassOf.
Sebagai contoh: kelas “Teacher” adalah subclass dari “Person”. Diantara dua kelas dimungkinkan untuk membentuk relasi
menggunakan elemen owl:equivalentClass dan owl:disjoinWith.
Pernyataan owl:equivalentClass ketika
diaplikasikan ke dua kelas A dan B, direpresentasikan bahwa kelas A memiliki
individual yang sama dengan kelas B. Contohnya, kelas “faculty” ekuivalen dengan kelas “academicStaffMember”:
Elemen Owl:disjoinWith
diaplikasikan kedalam dua kelas A dan B yang menganjurkan bahwa klas A dan B
disjoin, jika ada suatu instance adalah anggota kelas A maka tidak mungkin
menjadi instance kelas B. Contohnya “Full
Professor” tidak dapat menjadi “Associate
Proffessor” di waktu yang sama.
Complex Class
Cara lain untuk membuat
kelas didalam OWL adalah mengkombinasikan simple class menggunakan operator
boolean (union, intersection, dan complement) dan membuat complex class. Anggota-anggota dari
kelas dispesifikasikan seluruhnya menggunakan operator boolean. Elemen owl:unionOf diaplikasikan ke kelas A dan
B menghasilkan kelas baru yang berisikan semua anggota kelas A dan B. Sebagai
contoh, kombinasi dari kelas “staff
members” dan kelas “student”
membuat kelas baru “peopleAtUni”.
Elemen owl:intersectionOf membuat kelas baru
dari dua kelas A dan B dimana kelas tersebut memiliki anggota dari kelas A dan
B.
Individual dari kelas baru
yang dihasilkan dari contoh ini adalah individu anggota kedua kelas “faculty” dan kelas anonim yang dibuat
dari pembatasan property “belongTo”.
Elemen owl:complementOf memilih semua
individual dari domain yang tidak menjadi anggota suatu kelas tertentu.
Pada contoh ini, kelas
“course” memiliki anggota semua individual yang tidak tergabung dalam kelas “staffmember”.
Property
Property mendeskripsikan jenis relasi antar anggota kelas. Pada
dokumen OWL, dua jenis property dibedakan:
- Object Properties, merelasikan objek satu ke yang lain, contoh instance kelas yang satu dengan instance kelas yang lain. Pada contoh berikutnya, property objek “isTaughtBy” merelasikan kelas “course” dengan kelas “academicStaffMember”. Artinya “course” “isTaughtBy” sebuah instance kelas “academicStaffMember”.
- Property Datatype yang merelasikan objek ke suatu nilai data type. OWL tidak memiliki predefined data type, namun mengijinkan untuk menggunakan tipe data dari XML Schema. Pada contoh ini, tahun dimana tourist lahir dispesifikasi menggunakan data type http://www.w3.org/2001/XLMSchema#nonNegativeInteger dari XML schema.
Perlu diperhatikan bahwa kedua jenis property dapat menggunakan elemen
rdfs:domain dan elemen rdfs:range untuk membatasi relasi.
untuk penggunaan ontology terdapat permasalahan heterogenitas.
BalasHapushttp://hanf_aff.staff.ipb.ac.id/2016/10/17/permasalahan-heterogenitas-pada-ontology/
Untuk Hubungan RDFS dengan OWL itu bagai mana.
BalasHapus