• Tidak ada hasil yang ditemukan

Bahasa Representasi Ontologi

Dalam dokumen MODEL ONTOLOGI TANAMAN OBAT INDONESIA (Halaman 35-42)

BAB II. LANDASAN TEORI

2.2 Dasar Teori

2.2.3 Ontologi

2.2.3.5 Bahasa Representasi Ontologi

Ontologi direpresentasikan dalam beberapa bahasa formal sebagai berikut.

1. RDF (Resource Description Framework)

RDF merupakan model standar untuk pertukaran data (data interchange) dalam Web dari W3C (Klyne dan Carroll, 2004). RDF adalah model data untuk objek (resources) dan relasi di antaranya. RDF menyediakan semantik sederhana serta dapat direpresentasikan dalam sintaks XML (Antoniou, 2008). RDF merupakan pondasi dasar dalam membangun suatu web semantik. Meskipun demikian RDF belum dapat mendeskripsikan semantik itu sendiri (Feigenbaum dan Prud'hommeaux, 2011). Untuk menambah makna semantik pada RDF terdapat standar lain yang merupakan ekstensi dari RDF yaitu RDFS yang akan dibahas pada poin selanjutnya.

Statement dari RDF disebut dengan triple yang terdiri dari tiga bagian yaitu : Subject, Predicate dan Object (Staab dan Studer, 2009). Ketiga bagian tersebut memiliki fungsi sebagai berikut (Yu,2011).

a. Subject, Subject disebut juga dengan start node dalam RDF graph. Digunakan untuk menunjukkan resource dari dunia yang dimodelkan. Harus diidentifikasikan dengan URI.

b. Object, Object disebut juga dengan node atau end node dalam RDF graph. Digunakan juga untuk menunjukkan resource dari dunia yang dimodelkan. Harus diidentifikasikan dengan URI .

c. Predicate, Digunakan untuk menunujukkan relasi antar subject dan object, Harus diidentifikasikan dengan URI. Predicate disebut juga dengan edge dalam RDF graph.

Berikut ini adalah ilustrasi sederhana dari konsep triple pada RDF, dengan mengambil contoh tipe kamera (Yu, 2011).

Gambar 2.5 Contoh Ilustrasi Triple dari RDF (Yu, 2011)

Berikut ini adalah bentuk RDF dari triple di atas (Yu, 2011).

a. SPARQL (Simple Protocol and RDF Query Language)

SPARQL Query Language merupakan rekomendasi W3C untuk melakukan query pada RDF. SPARQL query language dibangun berdasarkan matching graph patterns (Antoniou,2011). Graph pattern yang paling sederhana adalah triple pattern, hampir seperti RDF triple namun memiliki kemungkinan penggunaan variable bukan dengan penggunaan istilah (term) RDF pada posisi subject, predicate, atau object.

Hasil query dari SPARQL ditangkap dalam variabel yang diawali dengan tanda tanya (?). Hasil query SPARQL dapat dikembalikan dan atau

<?xml version="1.0"?> <rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:myCamera="http://www.liyangyu.com/camera#">

<rdf:Description

rdf:about="http://www.liyangyu.com/camera#Nikon_D300Nikon_D300Nikon_D300Nikon_D300">

<rdf:typerdf:typerdf:typerdf:type

rdf:resource="http://www.liyangyu.com/camera#DSLRDSLRDSLRDSLR"/>

</rdf:Description> </rdf:RDF>

SUBJECT PREDICATE OBJECT

di-render ke dalam berbagai macam format seperti XML, JSON, RDF, HTML (Feigenbaum dan Prud'hommeaux, 2011).

b. Struktur Query SPARQL

Menurut Feigenbaum dan Prud'hommeaux (2011) suatu SPARQL query terdiri dari :

 Prefix declarations, sebagai penyingkat URI

 Dataset definition, menyatakan RDF graph apa yang akan dijadikan query

 Result clause, mengidentifikasi informasi apa yang akan dikembalikan dari query

 Query pattern, menspesifikasi apa yang akan di-query pada dataset  Query modifiers, digunakan untuk slicing, ordering, dan mengatur

hasil query

Berikut ini adalah contoh dari struktur query dari SPARQL (Feigenbaum dan Prud'hommeaux, 2011).

c. Contoh Penggunaan SPARQL

Berikut ini contoh SPARQL query untuk mengetahui alamat email dari seseorang (W3C,2005).

# PREFIX DECLARATIONS

PREFIX foo: <http://example.com/resources/> ... # DATASET DEFINITION FROM ... # RESULT CLAUSE SELECT ... # QUERY PATTERN WHERE { ... } # QUERY MODIFIERS ORDER BY ... commit to user

- Data : - Query : - Query Result Mbox <mailto:jlow@example.com> 2. RDFS (RDF Schema)

Adalah kosakata untuk menjelaskan properties dan classes dari sumber RDF, dengan semantik untuk generalisasi hirarki dari properties dan classes (Antoniou, 2008). RDFS mendefinisikan sekumpulan meta-properties yang dapat digunakan untuk merepresentasikan background assumptions dalam ontologi. Berikut ini beberapa kosakata / modeling primitive utama dari RDFS (Antoniou, 2008).

a. Core Classes

Core classes terdiri dari :

- rdfs:Resource, merupakan class dari semua resource - rdfs:Class, merupakan class dari semua class

- rdfs:Literal, merupakan class dari semua literal (String) - rdf:Property, merupakan class dari semua properties - rdf:Statement, merupakan class dari semua statement

@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Johnny Lee Outlaw" .

_:a foaf:mbox <mailto:jlow@example.com> .

PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?mbox

WHERE

{ ?x foaf:name "Johnny Lee Outlaw" . ?x foaf:mbox ?mbox }

Sebagai contohnya sebuah class untu dosen/lecturer dapat didefinisikan sebagai berikut (Antoniou, 2008).

b. Core Properties untuk mendefinisikan relasi

- rdf:type, menghubungkan suatu resource denga class-nya. Resource dideklarasikan sebagai instance dari class tersebut.

- rdfs:subClassOf, menghubungkan suatu class dengan superclass-nya. Semua instance dari suatu class adalah instance dari superclass-nya. - rdfs:subPropertyOf, menghubungkan suatu property pada salah satu

superproperty -nya.

Berikut ini contoh penggunaannya pada contoh lecturer, di sini terlihat bahwa semua lecturer merupakan staff member (Antoniou, 2008).

c. Core Properties untuk membatasi properties

- rdfs:domain, menspesifikasi domain dari suatu property dan menyatakan bahwa semua resource yang memiliki property tersebut merupakan instance dari domain classes.

- rdfs:range, menspesifikasi range dari suatu property dan menyatakan bahwa suatu nilai yang dimiliki property merupakan instance dari range classes.

Berikut ini contoh penggunaan properties, sintaks ini menyatakan bahwa jika suatu resource memiliki sebuah phone number, maka resource tersebut (dengan inferensi) merupakan staff member dan memiliki value literal (Antoniou, 2008). <rdfs:Class rdf:ID="lecturer"> . . . </rdfs:Class> <rdfs:Class rdf:about="lecturer"> <rdfs:subClassOf rdf:resource="staffMember"/> </rdfs:Class> commit to user

3. OWL (Web Ontology Language)

Merupakan bahasa ontologi yang digunakan untuk Web. OWL dibangun dengan RDF and RDF Schema (RDFS), dan menggunakan sintaks XML dari RDF. Dalam OWL ditambahkan beberapa kosakata 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), dan enumerated classes (Antoniou, 2008). Berikut ini adalah beberapa elemen utaman yang menyusun OWL.

a. OWL Header

Dokumen OWL biasanya disebut dengan OWL ontologies, dan merupakan RDF documents, Root element dari ontologi OWL adalah elemen rdf:RDF yang juga menspesifikasi sejumlah namespaces, contoh penggunaannya adalah sebagai berikut (Antoniou,2008).

Suatu ontologi OWL diawali dengan kumpulan pernyataan yang dikelompokkan dalam elemen owl:Ontology yang mengandung comments, version control dan pencantuman dari ontologi lain. Contohnya adalah sebagai berikut. <rdf:Property rdf:ID="phone"> <rdfs:domain rdf:resource="#staffMember"/> <rdfs:range rdf:resource="&rdf;Literal"/> </rdf:Property> <rdf:RDF xmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XLMSchema#"> commit to user

b. OWL Class Elements

Class pada OWL didefinisikan menggunakan owl:Class element. owl:Class merupakan subclass dari rdfs:Class. Contoh penggunaannya adalah sebagai berikut (Antoniou, 2008).

c. OWL Property Elements

Pada OWL terdapat dua jenis properties, yaitu:

- Object properties, menghubungkan objek (instances dari class) dengan objek lainnya. Object properties dinyatakan dengan owl: ObjectProperty. Contohnya adalah TaughtBy, supervises dsb. Contoh penggunaannya adalah sebagai berikut.

<owl:Ontology rdf:about="">

<rdfs:comment>An example OWL ontology</rdfs:comment> <owl:priorVersion rdf:resource="http://www.mydomain.org/uni-ns-old"/> <owl:imports rdf:resource="http://www.mydomain.org/persons"/> <rdfs:label>University Ontology</rdfs:label> </owl:Ontology> <owl:Class rdf:ID="associateProfessor"> <rdfs:subClassOf rdf:resource="#academicStaffMember"/> </owl:Class> <owl:ObjectProperty rdf:ID="isTaughtBy"> <rdfs:domain rdf:resource="#course"/> <rdfs:range rdf:resource="#academicStaffMember"/> <rdfs:subPropertyOf rdf:resource="#involves"/> </owl:ObjectProperty> commit to user

- Datatype properties, datatype properties menghubungkan suatu instance dengan datatype value. Datatype properties dinyatakan dengan owl:DatatypeProperty. Contoh penggunaannya adalah sebagai berikut.

d. Sub Bahasa OWL

OWL memiliki 3 Sub Bahasa / species (Antoniou,2008), yaitu:

1) OWL Full, merupakan gabungan antara sintaks OWL dan sintaks RDF.

2) OWL DL (OWL Description Logic), merupakan sublanguage dari OWL Full yang memberlakukan pembatasan terhadap constructor yang ada pada OWL dan RDF.

3) OWL Lite, merupakan subset dari OWL DL yang lebih mudah diimplemetasikan.

Dalam dokumen MODEL ONTOLOGI TANAMAN OBAT INDONESIA (Halaman 35-42)

Dokumen terkait