Arsitektur Semantic Web


Sebagai sebuah arsitektur software, standarisasi Semantic Web juga mengandung berbagai metode, komponen, dan teknologi yang tersusun sedemikian rupa untuk menyediakan berbagai macam fungsi agar mesin komputer dapat menterjemahkan dan “memahami” informasi yang terkandung dalam suatu objek informasi, seperti halaman web, web service, atau objek layanan lain. Seperti yang didefinsikan oleh L. Bass, et.al. dalam bukunya Software Architecture in Practice (2003), sebuah arsitektur software adalah sebuah struktur sistem yang tersusun dari elemen-elemen software, properti-properti dari elemen tersebut, serta hubungan antar elemen. Berangkat dari definisi tersebut, maka dalam memahami lebih dalam tentang elemen-elemen dalam Semantic Web akan lebih baik jika memahami arsitektur yang menyusun sebuah infrastruktur semantic web itu sendiri.

Berdasar publikasi materi presentasi oleh Tim Berners-Lee (2000) pada situs w3.org, diperoleh sebuah gambaran skema arsitektur Semantic Web sebagai sebuah arsitektur software berlapis (layer).  Berikut adalah skema arsitektur tersebut:

Arsitektur Semantic Web

Dari arsitektur tersebut terlihat jelas bahwa hal yang paling mendasar adalah setiap resource atau objek yang ada harus memiliki identitas unik dengan menggunakan format URI (Uniform Resource Identifier). Sebagai contoh kita dapat mengidentifikasikan Indonesia dengan menggunakan URI “http://dbpedia.org/resource/Indonesia“. Jika kita mengunjungi URI tersebut dari browser, maka secara otomatis akan ditampilkan dalam format HTMLoleh dbpedia.org dengan URL “http://dbpedia.org/page/Indonesia“. Pada halaman tersebut, kita juga diberikan alternatif untuk menghasilkan format output lainnya, seperti CSV, JSON, RDF, dan sebagainya. Informasi yang diberikan dari dbpedia.org didasarkan pada bagian InfoBox yang kita temukan pada halaman Wikipedia.org tentang Indonesia sekaligus beserta beberapa kaitannya dengan URI objek informasi lain. Perlu dicatat bahwa sebuah URI dapat merujuk ke berbagai domain objek informasi, seperti web (URL, PRN), Buku (ISBN, ISSN), atau juga objek digital lain (DOI – Digital Object Identifier). Bagian Unicode menjadi sangat penting dalam representasi data, mengingat bahwa sebuah objek informasi dapat ditulis dalam berbagai bahasa yang kesemuanya harus menggunakan standarisasi himpunan karakter Unicode.

Elemen mendasar kedua adalah XML Namespace dan XML Schema. Keduanya penting untuk digunakan dalam infrastruktur Semantic Web untuk memastikan bahwa sifat local authority terhadap setiap nama elemen XML dan atributnya dapat tetap terjamin serta dapat juga digunakan untuk mengidentifikasikan ruang lingkup dari elemen dan atribut yang dapat digunakan dalam sebuah dokumen XML. Standarisasi XML menjadi sebuah patokan penting dalam membangun Semantic Web karena sifatnya yang fleksibel dan dinamis untuk menampung berbagai macam bentuk objek informasi.

Terkait dengan lapisan RDF dan Ontology, keduanya merupakan jenjang bentuk representasi pengetahuan. Level objek yang ditunjuk oleh URI didefinisikan dalam suatu XML Schema yang menyebutkan tentang struktur dan format objek data yang digunakan. Selanjutnya dari berbagai macam objek data berdasar XML Schema, dapat dibuat sebuah struktur class, property, dan relasinya dalam spesifikasi RDF dan RDF Schema. Jika dicocokan dengan class diagram, RDF Schema merupakan representasi dari struktur class, sedangkan RDF merupakan wujud dari objek instan suatu class. Pada dasarnya RDF Schema hanya mampu digunakan untuk mendeskripsikan struktur class, property, dan relasinya. Terdapat berbagai macam format yang dapat digunakan untuk merepresentasikan pengetahuan menggunakan RDF, yaitu: N3, N-Triples, Turtle, RDF/XML. Contoh aplikasi RDF Schema yang banyak digunakan antara lain: FOAF (Friend of a Friend). Untuk dapat mendefinisikan sebuah aturan yang lebih komplek, maka kita harus menggunakan format OWL (Ontology Web Language) dan Rules. Aturan yang dapat dituliskan dalam OWL menggunakan dasar-dasar notasi matematika logika, yaitu Propositional Logic, First Order Logic, dan Description Logic.

Lapisan Logic merujuk pada spesifikasi bahasa logika yang mudah digunakan oleh manusia dalam menelusuri objek-objek data berdasar aturan yang disediakan. Lapisan Proof adalah sebuah lapisan yang dapat digunakan oleh para pengembang logic untuk memastikan bahwa apa yang dikembangkan sudah benar dan dapat dibuktikan. Lapisan Trust sangat bermanfaat untuk memberikan kepastian bahwa sumber data yang disediakan dapat dipercaya. Hal ini penting ketika sebuah sistem Semantic Web yang kita kembangkan menggunakan definisi RDF Schema atau Ontology dari sumber lainnya.