Aplikasi Semantic Web

Google Search Options

Pada bulan Mei 2009, Google sebagai mesin pencari handal mengumumkan produk barunya , yaitu Search Option. Produk ini mengadopsi teknologi semantic web. Tampilan sebagai berikut :

Klik Menu +Tampilkan Opsi, disebelah kiri.  Akan muncul window baru, sebagai berikut :

Dengan teknologi ini, pengunjung dapat mencari lebih detil keterkaitan keyword yang dientrikan dengan gambar, berita, blog, buku, diskusi,dsb

Iklan

Desain Ontology e-Learning

Berikut dirancang sebuah prototype e-Learning dengan memanfaatkan ontology pada
education, khususnya pada bagian teaching. Fasilitas yang akan dicapai adalah sebagai berikut :
– meningkatkan kwalitas pembelajaran
– mengarahkan pengajar (penulis) untuk mendapatkan informasi yang relevan
– pembuktian tingkat efektivitas terhadap retrieval dari system e-Learning (waktu yang dibutuhkan untuk memperoleh informasi)
– fasilitas pendukung seperti search dan diskusi
– menerapkan kemudahan dalam mengakses ke informasi yang dibutuhkan
– improvisasi pengajaran dan atau pembelajaran oleh user
Dalam pembuatan ontology ini, langkah awal meliputi searching dan browsing web dan kemudian melakukan kategorisasi terhadap material yang ditemukan sehingga akhirnya diproses dengan identifikasi dan definisi dari main concept serta metadata content. Hasil dari kategorisasi yang dihasilkan menghasilkan domain concept untuk ontology sebagai berikut :
• Courses: mengidentifikasikan course dengan syllabus, notes, course works.
• Teaching material: mencakup Tutorial (Artikel yang menjelaskan secara detail mengenai tugastugas), Lectures (lecture notes atau slides dalam bentuk/format yang bermacam-macam), Lab material, Book (Online book), Tool (Software yang siap digunakan, Code sample, Work example, dan White paper.
• Assessments: Quizzes (Pertanyaan singkat dengan jawaban singkat, Multiple Choice
Questions (MCQ), Exams tests dengan pertanyaanterbuka, bentuk Test lainnya.
• Support Materials: Collections (Meliputi berbagai sumber, seperti homepage dan portal)
Background readings (pengetahuaan dasar), Forum, Sumber daya yang dapat mendukung pengajaran
• Experts: – mengidentifikasikan sebagaikomunitas pengajar yang berpengalaman.
• Institutions: – Termasuk didalamanya organisasi sumberdaya pengajar dan ahli dibidangnya. Termasuk juga Universitas/Perguruan Tinggi.

OntoEdu

Dalam ontoedu, ontology digunakan untuk menggambarkan konsep dari komunikasi dan
hubungan antar platform education. OntoEdu didalamnya terdapat dua macam ontology yang terlibat yaitu: content ontology dan activity ontology.
Educational ontology merupakan modul inti untuk mengatur component lainnya. Dengan ontology maka ontoedu dapat “belajar” knowledge dari education spesialist dan juga information spesialist sehingga secara otomatis dapat mengemas menjadi suatu content yang sesuai dengan yang diinginkan pengguna (user request).
Berdasarkan pada ontology dan teknologi web semantik maka akan tercipta sebuah platform arsitektur hubungan education yang fleksibel disebut dengan ontoedu arsitektur. Terdapat lima komponen dalam ontoedu ini yaitu :
– user adaptation
Menerima parameter dari user berkaitan dengan transformasi adaptasi terhadap system
– auto composition
Bertanggung jawab untuk memberikan penugasan sebagai response dari user
– education ontology
Melibatkan activity ontology dan material ontology
– service modul
Model dinamis yang digunakan meningkatkan distribusi learning.
– content modul.
Model dinamis yang digunakan meningkatkan distribusi content learning.

e-learning content berbasis semantic web

Perkembangan internet dan e-Learning dengan aplikasi dan tools baru yang menyertainya, secara cepat telah mengubah bentuk atau cara pembelajaran yang lama. Pada masa lalu secara sederhana kita mendistribusikan content e-Learning ke WWW dengan gaya semi tersturktur (dalam bentuk dokumen HTML dengan banyak links ke dokumen-dokumen lain). Sehingga prinsipnya bahwa content tersedia dan dapat diakses secara online.
Namun kenyataannya dalam memperoleh content yang sesuai (dibutuhkan) banyak menjumpai permasalahan yang disebabkan karena terbatasnya pemberian keyword pada content tersebut. Hal ini makin bertambah sulit ketika tidak dijumpainya meta data secara explisit dan informasi yang berkaitan dengan aspek pedagogik dari content
(ketergantungan content). Dengan demikian hanya yang ahli yang dapat menemukan content yang sesuai atau untuk mengorganisasikannya kedalam bentuk heterogen content yang masuk akal.
Munculnya Teknologi Web Semantic, e- Learning content dapat ditambahkan meta data(termasuk didalamnya atribut-atribut pedagogik) dan kemudian di atur/organisasikan kedalam ontology sehingga dimungkinkan memudahkan penyebaran, penemuan, dan penggunaan content dengan cara yang lebih baik. Dengan cara ini tidak hanya manusia yang dengan mudah menemukan dan mengatur content yang diperlukan namun juga agen cerdas. Agen cerdas yang ada pada aplikasi akan
menemukan dan mengelola content dari sumber content yang heterogen kemudian
mengkombinasikan menjadi customized courseware dengan kriteria spesifik dan aturan-aturan lainnya.
Customized courseware ini mengacu pada sekumpulan content (bersumber dari heterogent content) yang mana content-content saling terkait dan aturan pedagogik tetap terjaga.

Baca lebih lanjut

Search RDF data with SPARQL

SPARQL and the Jena Toolkit open up the semantic Web
Philip McCarthy (philmccarthy@gmail.com), Software development consultant, Independent
Philip McCarthy is software development consultant specializing in Java and Web technologies. He is currently working on Hewlett Packard’s Digital Media Platform project at HP Labs, Bristol. In recent years Phil has developed several rich Web clients employing asynchronous server communication and DOM scripting. He is glad we now have a name for them. You can get in touch with Phil at philmccarthy@gmail.com.

Summary: As more data is being stored in RDF formats like RSS, a need has arisen for a simple way to locate specific information. SPARQL, a powerful new query language fills that space, making it easy to find the data you need in the RDF haystack. Take a tour of SPARQL’s features and learn how to use SPARQL queries from your own Java™ applications with the Jena Semantic Web Toolkit.

The Resource Description Framework, or RDF, enables data to be decentralized and distributed. RDF models can be merged together easily, and serialized RDF can be simply exchanged over HTTP. Applications can be loosely coupled to multiple RDF data sources over the Web. At PlanetRDF.com, for example, we syndicate weblogs from authors who provide their content as RDF in a RSS 1.0 feed. The URLs of the authors’ feeds are themselves held in an RDF graph, called bloggers.rdf.

But how can you find and manipulate the data you need within RDF graphs? The SPARQL Protocol And RDF Query Language (SPARQL) is currently under discussion as a W3C Working Draft. SPARQL builds on previous RDF query languages such as rdfDB, RDQL, and SeRQL, and has several valuable new features of its own. In this article, we’ll use the three types of RDF graph that drive PlanetRDF — FOAF graphs describing contributors, their RSS 1.0 feeds, and the bloggers graph — to demonstrate some of the interesting things SPARQL queries can do with your data. Implementations of SPARQL exist for a variety of platforms and languages; this article will focus on the Jena Semantic Web Toolkit for the Java platform.

This article assumes that you have a working knowledge of RDF, and are familiar with RDF vocabularies such as Dublin Core, FOAF, and RSS 1.0. It also assumes you have some experience with the Jena Semantic Web Toolkit. To get up to speed on all of these technologies, check out the links in the Resources section below. Baca lebih lanjut

XML Tree

XML documents form a tree structure that starts at “the root” and branches to “the leaves”.

An Example XML Document

XML documents use a self-describing and simple syntax:

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

The first line is the XML declaration. It defines the XML version (1.0) and the encoding used (ISO-8859-1 = Latin-1/West European character set).

The next line describes the root element of the document (like saying: “this document is a note”):

<note>

The next 4 lines describe 4 child elements of the root (to, from, heading, and body):

<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>

And finally the last line defines the end of the root element:

</note>

You can assume, from this example, that the XML document contains a note to Tove from Jani.

Don’t you agree that XML is pretty self-descriptive?

XML Documents Form a Tree Structure

XML documents must contain a root element. This element is “the parent” of all other elements.

The elements in an XML document form a document tree. The tree starts at the root and branches to the lowest level of the tree.

All elements can have sub elements (child elements):

<root>
<child>
<subchild>…..</subchild>
</child>
</root>

The terms parent, child, and sibling are used to describe the relationships between elements. Parent elements have children. Children on the same level are called siblings (brothers or sisters).

All elements can have text content and attributes (just like in HTML).


Example:

DOM node tree

The image above represents one book in the XML below:

<bookstore>
<book category=”COOKING”>
<title lang=”en”>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category=”CHILDREN”>
<title lang=”en”>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category=”WEB”>
<title lang=”en”>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

The root element in the example is <bookstore>. All <book> elements in the document are contained within <bookstore>.

The <book> element has 4 children: <title>,< author>, <year>, <price>.

Fungsi XML

XML is used in many aspects of web development, often to simplify data storage and sharing.

XML Separates Data from HTML

If you need to display dynamic data in your HTML document it will take a lot of work to edit the HTML each time the data changes.

With XML, data can be stored in separate XML files. This way you can concentrate on using HTML for layout and display, and be sure that changes in the underlying data will not require any changes to the HTML.

With a few lines of JavaScript, you can read an external XML file and update the data content of your HTML.

XML Simplifies Data Sharing

In the real world, computer systems and databases contain data in incompatible formats.

XML data is stored in plain text format. This provides a software- and hardware-independent way of storing data.

This makes it much easier to create data that different applications can share.

XML Simplifies Data Transport

With XML, data can easily be exchanged between incompatible systems.

One of the most time-consuming challenges for developers is to exchange data between incompatible systems over the Internet.

Exchanging data as XML greatly reduces this complexity, since the data can be read by different incompatible applications.

XML Simplifies Platform Changes

Upgrading to new systems (hardware or software platforms), is always very time consuming. Large amounts of data must be converted and incompatible data is often lost.

XML data is stored in text format. This makes it easier to expand or upgrade to new operating systems, new applications, or new browsers, without losing data.

XML Makes Your Data More Available

Since XML is independent of hardware, software and application, XML can make your data more available and useful.

Different applications can access your data, not only in HTML pages, but also from XML data sources.

With XML, your data can be available to all kinds of “reading machines” (Handheld computers, voice machines, news feeds, etc), and make it more available for blind people, or people with other disabilities.

XML is Used to Create New Internet Languages

A lot of new Internet languages are created with XML.

Here are some examples:

  • XHTML the latest version of HTML
  • WSDL for describing available web services
  • WAP and WML as markup languages for handheld devices
  • RSS languages for news feeds
  • RDF and OWL for describing resources and ontology
  • SMIL for describing multimedia for the web

If Developers Have Sense

If they DO have sense, future applications will exchange their data in XML.

The future might give us word processors, spreadsheet applications and databases that can read each other’s data in a pure text format, without any conversion utilities in between.

We can only pray that all the software vendors will agree.

Pengertian semantic web

Semantic web adalah sebuah visi, ide atau pemikiran dari bagaimana memiliki data pada web yang didefinisikan dan dihubungkan dengan suatu cara dimana dapat digunakan oleh mesin tidak hanya untuk tujuan display, tetapi untuk otomatisasi, integrasi dan penggunaan kembali data diantara berbagai aplikasi.
Semantic web adalah sebuah web dari data, seperti layaknya sebuah basis data global. Pendekatan Semantic web mengembangkan bahasa untuk mengekspresikan informasi dalam bentuk yang dapat diproses oleh mesin (machine processable). Ide dasarnya adalah untuk membawa Web memiliki definisi dan link data sehingga dapat digunakan lebih efektif untuk mencari, otomasi, integrasi dan re-use informasi pada berbagai aplikasi. [W3C].

Web saat ini mendukung dokumen, halaman teks dan gambar yang dirancang untuk manusia. Semantic web menambah dukungan untuk basis data, kumpulan informasi yang besar tersusun rapi untuk diproses oleh mesin.

Semantic web dikembangkan oleh sebuah tim di World Wide Web Consortium. Hingga saat ini Semantic web masih dalam tahap pengembangan dan penyempurnaan, karena teknologi ini masih baru digunakan dan tim masih mengembangkan metode masing-masing untuk mengembangkan Semantic web.

Kemudian apakah keuntungan menggunakan Semantic web? Dengan metode tradisional data-data disimpan pada halaman web tersebut sangat beragam. Sehingga ini masih mungkin digunakan untuk skala pemakai terbatas. Tetapi jika akan digunakan dalam skala yang luas maka akan menjadi kesulitan, karena tidak ada sistem yang global yang dapat digunakan untuk merepresentasikan data dengan cara tersebut yang dapat di proses oleh setiap pemakai. Sebagai contoh ada informasi mengenai olah raga, cuaca, dan lain lain, kesemua informasi tersebut masing-masing jumlahnya jutaan dan dibuat oleh pembuat yang berbeda-beda, yang masing-masing memiliki bahasa dan metode tersendiri untuk menyimpan informasi tersebut dan kesemua informasi tersebut ditampilkan dalam halaman HTML, Hal tersebut sangat sulit dilakukan kalau menggunakan metode tradisional.

Seperti halaman web biasa yang memiliki layanan seperti mesin pencari, yang menggabungkan berbagai macam halaman kedalam satu koleksi yang sama. Semantic web juga memiliki hal yang sama, perbedaanya terletak pada metode pencarian halaman web yang diinginkan. Jika pada halaman web biasa hanya hanya dapat mencari halaman web yang memiliki sebuah atau beberapa kata yang menjadi bahan pencarian, sedangkan dalam Semantic web dapat melakukan pencarian dengan lebih terstruktur, pertanyaan yang spesifik (selama hal tersebut di tulis kedalam bentuk yang dimengerti oleh mesin).

Semantic web tidak hanya tentang bagaimana mengajarkan mesin untuk dapat mengerti bahasa manusia atau memproses bahasa alami dan juga tidak semata-mata untuk membuat sebuah kecerdasan buatan, tetapi tujuan utama adalah untuk mempermudah mengumpulkan data-data, lebih diutamakan untuk data yang besar.

Membangun aplikasi semantic web

Untuk membangun aplikasi semantic web, hal pertama yang harus dipahami adalah:

– Pengertian ontology
– RDF/OWL

Setelah memahami kedua hal tersebut, kemudian dibuat ontologynya.  Tools yang dapat  digunakan untuk mengelola ontology , diantaranya :
–  JENA
– Sesame (openrdf.org)

Sedangkan bahasa untuk query ontology adalah :
– SPARQL

Setelah memahami dan mampu mempraktekkan beberapa hal diatas, saatnya membuat peng-koding-an. Program yang digunakan diantaranya PHP atau Java untuk membuat aplikasinya, tentunya berbasis web.