Mengenal Database Raksasa: Semantic Web


Aplikasi Web

Pada saat protokol HTTP dan HTML mulai dilempar ke dunia industri tahun 1991, mulailah suatu era penyebaran informasi yang sangat cepat dan tersebar seperti saat ini. Penyebaran ini tentu saja sangat didukung pula oleh infrastruktur jaringan Internet dan juga protokol jaringan TCP/IP yang sangat terbuka untuk diterapkan oleh semua pihak. Dengan karakteristiknya sebagai pembangun tautan antara satu sumber informasi dengan sumber informasi yang lain, maka terbentuklah suatu jejaring informasi yang sangat besar dan komplek. Jika mungkin divisualisasikan dari 631,521,198 laman (site) (sumber dari Netcraft.com, Maret 2013) yang aktif saat ini, mungkin kita akan melihat sebuah jejaring “laba-laba” yang luar biasa semrawutnya. Protokol HTTP sendiri, sebagai protokol utama pembangun jejaring informasi, sebenarnya sebuah protokol pendukung aplikasi. Dengan kekuatan protokol HTTP inilah, segala isi (content) yang dibawa olehnya dapat dengan mudah dipertukarkan dari satu tempat ke tempat yang lain. Ada baiknya jika pembaca juga menelaah artikel dari W3C tentang arsitektur WWW (http://www.w3.org/TR/webarch/). Arsitektur web ini semakin kompleks dengan berkembangnya teknologi komponen web yang diterapkan di dalamnya untuk menjawab kebutuhan pemakai.

Dengan model client/server minimal 3 lapis, menjadikan aplikasi berbasis web sangat efektif diterapkan untuk pembangunan aplikasi-aplikasi yang menitik beratkan pada banyak pemakai dan berbagi informasi. Gambar 1.a. memberikan gambaran sederhana tentang sebuah blok diagram aplikasi web yang menitik beratkan pada distribusi masukan dan keluaran tampilan informasi dari dan ke pemakai.

Gambar 1a. Blok Dasar Aplikasi Web

Oleh karena arsitektur aplikasi web memberikan layanan yang sangat baik kepada pemakai, kemudian dikembangkan arsitektur web lanjutan yang tidak menitik beratkan pada distribusi dokumen, namun lebih dititik beratkan pada penyediaan distribusi layanan aplikasi kepada pemakai. Arsitektur ini disebut sebagai Web Service. Gambar 1.b. Memberikan gambaran sederhana tentang blok diagram arsitektur aplikasi web berbasis layanan. Berbagai protokol juga telah dikembangkan untuk mendukung layanan ini, antara lain: SOAP, WSDL, RESTful, dan sebagainya.

Gambar 1b. Blok dasar aplikasi web berbasis layanan

Semantic Web

Ketika Tim Berners-Lee menyediakan piranti lunak web server dan juga web browser untuk dapat menampilkan halaman HTML, mulailah banyak pihak yang membangun titik-titik layanan HTTP dan HTML untuk menyediakan informasi tentang seputar organisasi atau pihak tertentu lainnya kepada kalayak umum. Dari setiap halaman yang dapat diakses oleh orang umum melalui jaringan Internet, dapat disediakan pula tautan ke halaman lain yang dapat merujuk ke tempat yang sama atau ke tempat lain. Dalam perkembangannya, melalui IETF dan W3C (konsorsium organisasi nirlaba dan industri), spesifikasi HTML terus mengalami perbaikan dan penambahan karakteristik, terutama untuk dapat menyediakan suatu format dokumen yang lebih dinamis dan atraktif dari setiap media yang mungkin untuk ditampilkan. Walaupun demikian, setidaknya sampai HTML 4.0.1, peran utama dari HTML adalah fokus pada format dokumen yang dapat diterjemahkan dan ditampilkan oleh web browser. Dalam hal ini sangat sulit bagi mesin, diwakili oleh aplikasi penerjemah dokumen HTML, untuk dapat menyarikan data bahkan informasi yang terdapat pada dokumen HTML. Hal ini sebagian besar disebabkan struktur elemen dokumen HTML sendiri tidak memungkinkan untuk diterjemahkan struktur informasi yang terkandung di dalamnya. Struktur elemen dokumen HTML lebih bersifat untuk mewakili struktur tampilan dari suatu dokumen. Sebagai contoh, Gambar 2 menampilkan halaman dari informasi turnamen sepak bola yang disediakan oleh FIFA. Jika hanya mengandalkan format dokumen HTML saja, maka akan sulit bagi aplikasi untuk menterjemahkan dan menyarikan informasi yang terkandung di dalam dokumen tersebut. Misalnya menyarikan turnamen untuk Pria dan Wanita apa saja.

http://www.fifa.com/tournaments/index.html

Gambar 2. Contoh halaman FIFA.com

Apa yang sudah dilakukan untuk memenuhi kebutuhan tersebut? Dimulai dengan spesifikasi XHTML oleh W3C tahun 2000 (XHTML 1.0) dan 2001 (XHTML 1.1). Dokumen XHTML lebih tegas dalam penulisan elemennya, karena XHTML dibuat sebagai sebuah aplikasi dari spesifikasi XML. Oleh karena XHTML merupakan aplikasi XML, maka aplikasi dapat melakukan parsing dan penyaringan data dengan menggunakan standarisasi XPath dan XQuery. Dengan karakteristik ini, maka berkembanglah pemrograman web sisi client yang lebih dinamis dan atraktif, baik menggunakan JavaScript ataupun script yang lain. Namun tetaplah XHTML belum dapat memberikan kesempatan penuh bagi aplikasi/mesin untuk dapat menyarikan data/informasi yang terkandung di dalam dokumen secara otomatis.

Untuk menjawab kebutuhan tersebut, Tim Berners-Lee dan tim mengembangkan konsep penambahan struktur data ke dalam infrastruktur web, yang dikenal dengan Semantic Web. Semantic Web is a Web of Data. Dengan adanya struktur ini, maka setiap web site dapat memberikan arti dan metadata yang lebih komplek yang dapat diterjemahkan oleh mesin atau aplikasi secara otomatis. Dengan adanya deklarasi struktur data terhadap sebuah web, maka jika dihubungkan satu dengan yang lain, akan terbentuk sebuah Linked Data. Gambar 3 memberikan gambaran arsitektur semantic web yang diusulkan. Jika dilihat dari arsitektur tersebut, maka yang paling dasar untuk dapat memberikan deklarasi struktur data dan arti kepada sebuah web adalah menambahkan dokumen RDF. Bentuk turunan dari penerapan RDF adalah RSS yang dapat kita peroleh dari blog, web site berita, dan sebagainya. Dengan adanya RDF, maka data/informasi dari sebuah halaman web dapat dinyatakan dengan sebuah RDF. Jika setiap web site menyediakan definisi RDF, maka dapat kita bayangkan sekarang bahwa setiap web site memiliki sebuah tabel dan atau record data. Jika semuanya disimpan dalam satu tempat, misalnya freebase.com, maka selanjutnya kita dapat melakukan query seperti halnya kita memberikan query pada suatu database yang besar. Untuk dapat melakukan query, pada arsitektur Semantic Web sudah disediakan spesifikasi bahasa yang disebut SPARQL. Selain SPARQL, ada bahasa query lain yang dapat digunakan pada tempat penyimpanan tertentu. Sebagai contoh pada freebase.org, disediakan bahasa MQL (Metaweb Query Language) yang dapat digunakan untuk mengambil data dari data-data yang tersimpan di sana.

Arsitektur Semantic Web

Gambar 3. Arsitektur Semantic Web

Data-data yang terdefinisikan dalam RDF, dapat dikelompokkan ke dalam tipe-tipe atau kelas-kelas yang terdefinisikan dalam spesifikasi RDF Schema. Beberapa skema yang sudah tersedia dan dapat langsung digunakan antara lain skema untuk wikipedia yang tersedia di dbpedia.org. Contoh lain adalah Freebase yang menyediakan repositori untuk data-data dari entitas-entitas tertentu, seperti orang, tempat, organisasi, dan sebagainya. Penulis sendiri sangat tertarik dan sangat terbantukan oleh kedua repositori ini, terlebih lagi Google telah mengakuisisi freebase.com dan menyediakan aplikasi bernama Google Refine. Contoh tampilan seperti ditunjukkan pada Gambar 4) yang dapat digunakan untuk memilih dan menyaring data dari sebuah halaman web untuk kemudian di ekspor ke freebase.com. Sangat menarik ide ini.

Contoh tampilan Google Refine

Gambar 4. Contoh tampilan Google Refine

Bentuk lain dari contoh spesifikasi skema RDF yang juga dapat langsung digunakan, antara lain: FOAF, SIOC, ResumeRDF,  MusicBrainz, Linked Data, dan sebagainya. Intinya, agar lebih sederhana, RDF adalah record, dan RDF Schema adalah struktur tabel yang sering kita jumpai pada konsep basis data. Gambar 5 memberikan contoh gambaran hasil visualisasi dari penerapan Semantic Web untuk menggambarkan keterkaitan antar web data. Setiap web yang tercantum dalam diagram tersebut menyediakan antarmuka yang dapat diakses oleh siapapun. Struktur data yang dibagikan mengikuti standar Semantic Web yang dikeluarkan oleh W3C. Dari setiap node (lingkaran) yang ada memiliki RDF dan bahkan RDFS sendiri yang dapat diakses menggunakan bahasa SPARQL.

http://lod-cloud.net/versions/2011-09-19/lod-cloud.html

Linked Data

Dengan adanya arsitektur Semantic Web ini, kita juga dapat mengembangkan suatu sistem yang dapat melakukan inferensi atau penelusuran informasi dari sekumpulan RDF dengan mendefinisikan taksonomi dan ontologinya. Taksonomi mendefinisikan daftar struktur hirarki istilah/frase yang digunakan dalam suatu skema. Apabila taksonomi ini ditambahkan deklarasi logika nya, misalnya relasi dan kondisi dari setiap kelas entitas, maka terbentuklah suatu ontologi, yang sangat membantu untuk menuntun sistem dalam penelusuran kesimpulan.

Selain arsitektur Semantic Web yang diusulkan secara resmi oleh W3C ini, berkembang juga beberapa model pendefinisian metadata yang dapat ditambahkan ke dalam web, terutama blog. Sebagai contoh adalah folksonomy atau tag yang diberikan pada setiap artikel dalam sebuah blog.

RDFS menyediakan sebuah skema logika dasar yang mengikuti struktur logika Subjek Predikat Objek. Untuk setiap Subjek atau Objek merupakan sebuah instansiasi dari skema class yang didefinisikan dalam RDFS. Sedangkanu untuk Predikat dinyatakan sebagai instansiasi atau turunan dari Property. RDFS hanya menyediakan struktur keterkaitan tersebut, tidak menyediakan bentuk formal untuk penerapan logika aturan atau batasan yang biasanya dapat dinyatakan menggunakan notasi formal Propotional Logic, First Order Logic, ataupun Description Logic. Jika dibutuhkan sebuah bentuk definisi logika yang lebih detil dengan memasukan aturan atau batasan, maka kita dapat menerapkan ontology web yang distandarisasi olwh W3C sebagai OWL (Ontology Web Language).

Penutup

Inti dari semua teknologi semantic di atas adalah mencoba untuk menjadikan infrastruktur informasi yang tersebar pada web, dapat lebih mudah untuk digabungkan dari seluruh data yang ada di Internet, agar kemudian dapat dikembangkan berbagai aplikasi analisis yang dapat semakin memberikan bermanfaat kepada para pemakai. Di sisi lain, munculnya HTML 5 dan CSS 3 juga telah mendorong untuk bangkitnya generasi web baru, yaitu Web 3.0, setelah sebelumnya terminologi Web 2.0 menjadi patokan untuk pembangunan aplikasi web berbasis pada interaksi dengan pemakai. Pada akhirnya, dari kaca mata penulis melihat akan terjadi konvergensi antara sebuah aplikasi web yang sangat interaktif dengan dukungan HTML 5+CSS3 dalam rangka untuk menyediakan interaksi dan visualisasi yang lebih baik kepada pemakai berdasar data-data web yang disediakan melalui infrastruktur Semantic web. Inilah masa depan dunia web.