1
Semantic Web
2
Pembahasan
• Arsitektur Dasar Semantic Web: URI
• Pengantar RDF
• Microdata
• Bagaimana Google memanfaatkan Semantic
Web di mesin pencarinya?
• Tugas terkait dengan menambahkan dokumen
ke index Google!
3
Arsitektur Dasar Semantic Web
4
Dengan menerapkan URI.
5
Apakah ini?
6
Apa bedanya?
7
Semiotic Triangle
Konsep
merujuk ke
simbolisasi
Simbol Objek
berarti untuk
“Apel”
8
Semiotic Triangle
konsep yang dianut
Konsep
merujuk ke
simbolisasi
Simbol Objek
berarti untuk
“Apel”
9
Penanda pada Web
semua tipe-tipe pengenal
Uniform! resource yang berbeda
tersusun berdasar suatu
skema yang seragam.
Resource!
apapun dapat dikenali
melalui URI
Identifier! untuk membedakan antara
satu resource dari lainnya.
10
Uniform Resource Identifier
A Uniform Resource Identifier (URI) defines a simple and
extensible schema for worldwide unique identification of abstract or
physical resources (RFC 3986).
• Resource dapat berupa setiap objek dengan pengenal
yang jelas (berdasar pada kontek aplikasi)
▫ contoh: halaman web, buku, lokasi, orang, relasi antar objek,
konsep abstrak, dsb.
• Konsep dari URI telah ditetapkan dalam berbagai
domain, antara lain:
▫ web (URL, PRN, pURL)
▫ Buku dan publikasi (ISBN, ISSN)
▫ Digital Object Identifier (DOI)
11
URI, Resource, dan
Representation
URI
[Link]
menandakan
representasi
Metadata:
Content-type: text/html
Data:
<!DOCTYPE html>
<html lang="id" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" /><title>Candi Prambanan
- Wikipedia bahasa Indonesia, ensiklopedia bebas</
title>
...
</html> mewakili
12
Representasi dan Presentasi
Metadata:
Content-type: text/html
Data:
<!DOCTYPE html>
<html lang="id" dir="ltr" class="client-nojs">
<head> mendefinisikan
<meta charset="UTF-8" /><title>Candi Prambanan -
Wikipedia bahasa Indonesia, ensiklopedia bebas</title>
...
</html> Presentasi
Representasi
13
HTTP Request/Response
GET [Link] HTTP/1.1
Host: [Link]
Accept: text/html
14
HTTP Request/Response
GET [Link] HTTP/1.1
Host: [Link]
Accept: text/html
Web Server
memproses request
Web Server mengirim HTTP Response
HTTP/1.1 200 OK
Content-Length: 6168 Web Server
Content-Type: text/html;charset=UTF-8 [Link]
<!DOCTYPE html>
<html>
<head>
<title>SInTA Universitas Kristen Duta
Wacana</title>
...
</html>
Browser menterjemahkan representasi
dan menampilkan presentasi
15
Designator dan Designatum
Designatum
Designator
Laman web mendeskripsikan
Candi Prambanan dideskripsikan
(designates) Candi Prambanan
(designated) oleh laman web
16
Designator dan Designatum
The distinguishing characteristic of [information]
resources is that all of their essential characteristics and
can be conveyed in a message.
W3C: Architecture of the World Wide Web, Volume One
• Sebuah resource dapat dideskripsikan (designated)
melalui Metadata.
• MEsi jika resource itu sendiri tidak dapat dikirimkan
dari web server, kemungkinan representasinya tersedia
yang menjelaskan resource tersebut secara cukup.
17
URI, Resource, dan Metadata
URI
[Link]
menandakan
representasi
Metadata:
Content-type: text/html
Data: Resource:
<!DOCTYPE html> Candi Prambanan
<html lang="id" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" /><title>Candi
Prambanan - Wikipedia bahasa Indonesia,
ensiklopedia bebas</title>
mendeskripsikan
...
</html>
mewakili Resource:
Informasi tentang
Candi Prambanan
Candi Prambanan
Metadata
18
Uniform Resource Identifier
• URI menggabungkan
▫ Address (Locator)
Uniform Resource Locator (URL, RDF 1738)
menyatakan, dimana sebuah resource dapat
ditemukan pada Web melalui penegasan mekanisme
akses utamanya.
▫ Identity (Name)
Uniform Resource Name (URN, RFC 2141)
persistent identifier untuk sebuah resource web
tidak berubah selama life cycle.
19
URI – Sintak Umum
• US-ASCII Encoding
• Enkoding Persen untuk reserved characters, atau karakter-karakter
yang tidak ada dalam enkoding US-ASCII
▫ pct-encoded=“%” HEXDIG HEXDIG
• Reserved character dengan fungsi khusus
▫ reserved = gen-delims / sub-delims
▫ gen-delims = “:”/ “/” / “?” / “#” / “[“ / “]” / “@”
▫ sub-delims = “!” / “$” / “&” / “’” / “(“ / “)” / “*” / “+” / “,” / “;” / “=“
• Karakter yang diijinkan
▫ unserserved = ALPHA / DIGIT / “-” / “.” / “_” / “~”
• Perluasan untuk Universal Character Code (Unicode/ISO 10646)
▫ Internationalized Resource Identifier (IRI, RFC 3987).
▫ Contoh:
20
URI – Sintak Umum
URI=schema”://”[userinfo”@”]host[:port][path][“?”query][“#”fragment]
• schema: http, ftp, mailto, ...
• userinfo: username:password
• host: nama domain, alamat IPv4/IPv6
• port: :80 untuk standard port http
• path: path pada sistem file dari server www
• query: parameter yang dikirimkan ke aplikasi
• fragment: menentukan frament tertentu dari sebuah
dokumen
21
URI pada Semantic Web
• Bagaimana jika sebuah URI untuk sebuah resource tidak
ada?
▫ Definisikan sebuah URI oleh diri Anda sendiri
hindari tumpang tindih
gunakan website milik Anda sendiri
memungkinkan dokumentasi lain pada tempat yang sama
(Content Negotiation)
▫ Pisahkan URI untuk resource (Designatum) dan dokumentasinya
(Designator) melalui rujukan URI (yaitu menggunakan “#”) atau
Content Negotiation.
[Link]
22
URI pada Semantic Web
• Alternatif lain terkait dengan pemakaian URI terhadap
keberadaan dokumen Web, menggunakan redirect.
• protokol HTTP mendukung mekanisme redirect, yang
memungkinkan aplikasi sisi pemakai membedakan mana
URL asal dan mana yang dirujuk.
• Dengan redirect ini menguntungkan dalam pemakaian URI.
▫ ketika mengunjungi [Link]
dari Firefox/Chrome, akan diredirect ke
[Link]
▫ sedangkan ketika dikunjungi dari aplikasi morla, akan
memberikan fokumen RDF.
23
Penerapan Metadata pada halaman HTML
24
Microdata
• Microdata merupakan spesifikasi HTML5 yang
menyatakan cara melabeli isi untuk mendeskripsikan
suatu tipe informasi tertentu.
▫ Contoh: review, informasi orang, atau event.
▫ [Link]
• Microdata merupakan suatu bentuk anotasi metadata
yang dapat memberikan suatu definisi struktur terhadap
data yang tertuang dalam dokumen HTML5.
25
Sintak Dasar Microdata
• Microdata berisi sekumpulan pasangan name-value.
• Kumpulan tersebut disebut items.
• Setiap pasang name-value adalah sebuah property.
• Items dan property dinyatakan dalam elemen.
• Untuk membuat sebuah item, gunakan atribut
itemscope.
• Untuk menambah sebuah property pada item, atribut
itemprop digunakan pada satu anak elemen
itemscope.
<div itemscope>
<p>Namaku : <span itemprop=“name”>Budi Susanto</span></p>
</div>
26
Sintak Dasar Microdata
• sebuah nilai URL dapat dinyatakan untuk elemen <a> dan <img>.
<div itemscpe>
<img itemprop=“image” src=“[Link] alt=“Me of
me”>
</div>
• sbeuah nilai string menggunakan format untuk dibaca mesin, kita
dapat menggunakan pasangan atribut value dan elemen data.
<div itemscope>
<data itemprop=“nim” value=“21080231”>Wahyu Terbang</data>
</div>
27
Sintak Dasar Microdata
• Untuk data angka, gunakan elemen meter dan atribut value.
• Untuk data waktu, gunakan elemen time dan atribut datetime.
▫ nilai atribut mengikuti YYYY-MM-DD atau YYYY-MM-
DDTHH24:MI:SI.
• Property dapat berisi kelompok pasangan name-value, dengan
meletakkan atribut itemscope pda elemen yang mendeklarasikan
property.
<div itemscope>
<p>Nama: <span itemprop=“name”>Budi</span></p>
<p>Kota: <span itemprop=“kota” itemscope>
<span itemprop=“namakota”>Yogyakarta</span>
<span itemprop=“kodepos”>55224</span>
</span>
</p>
</div>
28
Item bertipe
• Microdata mendukung keterbukaan untuk menerima daftar kamus
baru dimana penulis dan pembaca dapat bekerja sama untuk
membuat pemakaian markup baru.
• Untuk memenuhi ini, digunakan atribut itemtype pada atribut
itemscope.
<div itemprop="rating" itemscope
itemtype="[Link]
Rating: <span itemprop="value">8.5</span>
<meta itemprop="best" content="10" />
</div>
29
Microdata di Google
• Crawler Google mampu menterjemahkan halaman web yang
mengadung elemen-elemen Microdata.
• Crawler Google mendukung banyak sekali tipe item berdasar
[Link], antara lain:
▫ Reviews
▫ People
▫ Product
▫ Businesses and organizations
▫ Recipes
▫ Events
▫ Video
[Link]
30
Contoh Microdata
di Google
• Kunjungi
[Link]
webmasters/tools/richsnippets
• Masukkan satu contoh
permalink dari sinta
▫ [Link]
sinta/resources/sintasrv/
nim/22002480
31
Pengantar RDF
32
To a computer, then, the web is a flat, boring world
devoid of meaning. This is a pity, as in fact documents
on the web describe real objects and imaginary
concepts, and give particular relationships between
them. For example, a document might describe a
person. The title document to a house describes a house
and also the ownership relation with a person. [...]
Tim Berners-Lee: W3 future directions, Plenary at 1st WWW Conference,
1994, Geneva ([Link]
33
Knowledge Representation
• Bagaimana Anda mewakili:
“Budi Susanto memiliki email budsus@[Link]”
<emailaddr>
<owner>Budi Susanto</owner>
<email>budsus@[Link]</email>
</emailaddr>
<person name=“Budi Susanto”>
<email>budsus@[Link]</email>
</person>
<person name=“Budi Susanto” email=“budsus@[Link]”/>
adakah cara unik untuk memodelkan pengetahuan?
34
Knowledge Representation
• Bagaimana Anda mewakili:
“Budi Susanto memiliki email budsus@[Link]”
• knowledge representation dengan directed graph.
memiliki email
Budi Susanto budsus@[Link]
35
Knoledge Representation
Level 3
(seluruh dunia)
Level 2
(pengetahuan
tentang objek)
Level 1
(Objek)
36
Resource
Description
Framework
• Resource
▫ pada prinsipnya dapat berupa apapun
▫ harus dikenali secara unik dan dapat dirujuk
(referencable)
▫ sederhana melalui URI
37
Resource
Description
Framework
• Description
▫ deskripsi dari resource
▫ melalui perwakilan properti dan relasi antar
resource
▫ relasi dapat dinyatakan sebagai graf.
38
Resource
Description
Framework
• Framework
▫ kombinasi dari protokol berbasis web (URI,
HTTP, XML, ...)
▫ berdasar pada model formal (semantic)
▫ mendefinisikan semua hubungan yang dibolehkan
diantara resource
39
Resource
Description
Framework
• Budi Susanto Subyek
• memiliki email Properti
• budsus@[Link] Objek
40
Resource
Description
Framework
• Pengetahuan dalam RDF diekspresikan sebagai
sebuah daftar kalimat.
• semua kalimat RDF mengikuti schema
sederhana yang sama.
41
Resource
Description
Framework
• Resource
▫ Objek-objek yang dapat dialamati melalui URI.
• Property
▫ atribut-atribut untuk deskripsi resource
• Statement
▫ Resource + Property + Object/Value
URI URI URI/Literal
42
Resource
Description
Framework
• Komponen-komponen RDF-Graph
▫ URI: untuk merujuk resource secara unik
[Link]
[Link]
[Link]
43
Resource
Description
Framework
• Komponen-komponen RDF-Graph
▫ Literal: nilai data yang tidak memiliki keberadaan
terpisah
[Link]
[Link]
budsus@[Link]
44
Resource
Description
Framework
• Komponen-komponen RDF-Graph
▫ Literal
literal dapat diekspresikan melalui tipe data XML Schema
Namespace untuk literal bertipe: [Link]/2001/XMLSchema#
Contoh: “Semantics”^^<[Link]/2001/XMLSchema#string>
Tag bahasa menyatakan bahasa (natural) dari teks
Contoh: ”Semantik”@id, ”Semantics”@en
45
Resource
Description
Framework
• Komponen-komponen RDF-Graph
▫ Blank Nodes
menyatakan keberadaan dari suatu individu dengan atribut
tertentu, namun tanpa menyediakan suatu identitas atau
rujukan.
rdf:type [Link]
budsus#person
46
Resource
Description
Framework
• Representasi RDF
▫ Node-Edge-Node Triple
[Link]
[Link]
budsus@[Link]
47
Resource
Description
Framework
• RDF Representation
▫ N3 Notation
Daftar triple
{
[Link]
[Link]
[Link]
}
48
Resource
Description
Framework
• RDF Representation
▫ Turtle (Terse RDF Triple Language)
Perluasan N3
URI dalam <> <Subject> <Property> <Object> .
Literal dalam quotation mark <Subject> <Property> “Object” .
Triple diakhiri dengan titik (.)
spasi diabaikan
49
Resource
Description
Framework
• Turtle (Terse RDF Triple Language)
@prefix xsd: <[Link] .
@prefix dc: <[Link] .
@prefix ex: <[Link] .
<[Link]
dc:title "RDF/XML Syntax Specification (Revised)"@en ;
ex:editor [
ex:fullname "Dave Beckett"^^xsd:string ;
ex:homePage <[Link]
].
50
Resource
Description
Framework
• RDF XML-Serialization
<xml version="1.0" encoding="utf-8">
<rdf:RDF xmlns:rdf="[Link]
xmlns:pers="[Link]
<rdf:Description
rdf:about="[Link]
<pers:hasEmail>budsus@[Link]</pers:hasEmail>
</rdf:Description>
<rdf:Description
rdf:about="[Link]
<pers:writesBlog>
<rdf:Description rdf:about="[Link]
rdf:Description>
</pers:writesBlog>
</rdf:Description>
</rdf:RDF>
51
Terima Kasih