Home » XML » XML Service : RDF – Pengertian dan Contohnya

XML Service : RDF – Pengertian dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Contoh Dokumen RDF

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.DosenIT.com/rdf/">

<rdf:Description rdf:about="https://www.DosenIT.com">
  <si:title>DosenIT</si:title>
  <si:author>Iron Man</si:author>
</rdf:Description>

</rdf:RDF>

Apa RDF?

  • RDF adalah singkatan dari Resource Description Framework
  • RDF adalah kerangka kerja untuk mendeskripsikan sumber daya di web
  • RDF dirancang untuk dibaca dan dipahami oleh komputer
  • RDF tidak dirancang untuk ditampilkan kepada orang-orang
  • RDF ditulis dalam XML
  • RDF adalah bagian dari Aktivitas Web Semantik W3C
  • RDF adalah Rekomendasi W3C mulai 10 Februari 2004

RDF – Contoh Penggunaan

  • Menjelaskan properti untuk item belanja, seperti harga dan ketersediaan
  • Menjelaskan jadwal waktu untuk acara web
  • Menjelaskan informasi tentang halaman web (konten, penulis, tanggal dibuat dan dimodifikasi)
  • Menjelaskan konten dan peringkat untuk gambar web
  • Menjelaskan konten untuk mesin telusur
  • Menjelaskan perpustakaan elektronik

RDF Dirancang untuk Dapat Dibaca oleh Komputer

RDF dirancang untuk memberikan cara yang umum untuk mendeskripsikan informasi sehingga dapat dibaca dan dipahami oleh aplikasi komputer. Deskripsi RDF tidak dirancang untuk ditampilkan di web.

RDF ditulis dalam XML

Dokumen RDF ditulis dalam XML. Bahasa XML yang digunakan oleh RDF disebut RDF / XML.

Dengan menggunakan XML, informasi RDF dapat dengan mudah dipertukarkan antara berbagai jenis komputer menggunakan berbagai jenis sistem operasi dan bahasa aplikasi.

RDF dan “The Semantic Web”

Bahasa RDF adalah bagian dari Aktivitas Web Semantik W3C. “Visi Web Semantik” W3C adalah masa depan di mana:

  • Informasi web memiliki arti yang tepat
  • Informasi web dapat dipahami dan diproses oleh komputer
  • Komputer dapat mengintegrasikan informasi dari web

RDF menggunakan pengidentifikasi Web (URI) untuk mengidentifikasi sumber daya.

RDF menjelaskan sumber daya dengan properti dan nilai properti.

Sumber Daya RDF, Properti, dan Nilai Properti

RDF mengidentifikasi berbagai hal menggunakan pengidentifikasi Web (URI) dan menjelaskan sumber daya dengan properti dan nilai properti.

Penjelasan Nilai Sumber Daya, Properti, dan Properti:

  • Resource (sumber daya)adalah segala sesuatu yang dapat memiliki URI, seperti “https://www.DosenIT.com/rdf”
  • Properti adalah Sumber Daya yang memiliki nama, seperti “penulis” atau “beranda”
  • Nilai Properti (properti value) adalah nilai Properti, seperti “Iron Man” atau “https://www.DosenIT.com” (perhatikan bahwa nilai properti dapat berupa sumber daya lain)

Dokumen RDF berikut dapat menjelaskan resouce “https://www.DosenIT.com/rdf”:

<?xml version="1.0"?>

<RDF>
  <Description about="https://www.DosenIT.com/rdf">
    <author>Iron Man</author>
    <homepage>https://www.DosenIT.com</homepage>
  </Description>
</RDF>

Contoh di atas disederhanakan. Namespaces dihilangkan.

Statement RDF

Kombinasi Sumber Daya(Resource), Properti(Property), dan nilai Properti(Property Value) membentuk Statment(dikenal sebagai subjek, predikat, dan objek Pernyataan).

Mari kita lihat beberapa contoh pernyataan untuk mendapatkan pemahaman yang lebih baik:

Pernyataan: “Penulis https://www.DosenIT.com/rdf adalah Iron Man”.

  • Subjek dari pernyataan di atas adalah: https://www.DosenIT.com/rdf
  • Predikatnya adalah: penulis
  • Sasarannya adalah: Iron Man

Pernyataan: “Situs web https://www.DosenIT.com/rdf adalah https://www.DosenIT.com”.

  • Subjek dari pernyataan di atas adalah: https://www.DosenIT.com/rdf
  • Predikatnya adalah: homepage
  • Objeknya adalah: https://www.DosenIT.com

Contoh RDF

Berikut adalah dua rekaman dari daftar CD:

TitleArtistCountryCompanyPriceYear
Empire BurlesqueBob DylanUSAColumbia10.901985
Hide your heartBonnie TylerUKCBS Records9.901988

Di bawah ini adalah beberapa baris dari dokumen RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>

Baris pertama dari dokumen RDF adalah deklarasi XML. Deklarasi XML diikuti oleh elemen root dari dokumen RDF: <rdf:RDF> .

Ruang nama xmlns: rdf, menetapkan bahwa elemen dengan awalan rdf berasal dari ruang nama “http://www.w3.org/1999/02/22-rdf-syntax-ns#“.

Namespace xmlns: cd, menetapkan bahwa elemen dengan awalan cd berasal dari namespace “http: //www.recshop.fake/cd#“.

Elemen <rdf:Description> berisi deskripsi sumber daya yang diidentifikasi oleh atribut rdf: about.

Elemen: <cd:artist>, <cd:country>, <cd:company> dll. Adalah properti sumber daya(reource).

Elemen RDF

Elemen utama RDF adalah elemen root, <RDF>, dan elemen <Description> yang mengidentifikasi sumber daya(resource).

Elemen <rdf:RDF>

<rdf:RDF> adalah elemen root dari dokumen RDF. Elemen ini mendefinisikan dokumen XML menjadi dokumen RDF. Hal ini juga berisi referensi ke namespace RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  ...Description goes here...
</rdf:RDF>

Elemen <rdf:Description>

Elemen <rdf:Description> mengidentifikasi sumber daya(resource) dengan atribut about.

Elemen <rdf:Description> berisi elemen yang mendeskripsikan sumber daya(resource):

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

</rdf:RDF>

Elemen artist, country, company, price, dan year ditentukan di namespace http: //www.recshop.fake/cd# . Namespace ini berada di luar RDF (dan bukan bagian dari RDF). RDF hanya mendefinisikan kerangka kerja. Elemen artist, country, company, price, dan year harus ditentukan oleh orang lain (perusahaan, organisasi, orang, dll).

Properti sebagai Atribut

Elemen properti juga dapat didefinisikan sebagai atribut (bukan elemen):

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />

</rdf:RDF>

Properti sebagai Sumber Daya(Resource)

Elemen properti juga dapat didefinisikan sebagai sumber daya(resource):

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
  ...
  ...
</rdf:Description>

</rdf:RDF>

Dalam contoh di atas, properti artist tidak memiliki nilai, melainkan referensi ke sumber daya yang berisi informasi tentang artis tersebut.

Kontainer RDF

Kontainer RDF digunakan untuk mendeskripsikan sekelompok hal.

Elemen RDF berikut digunakan untuk mendeskripsikan grup: <Bag>, <Seq>, dan <Alt>.

Elemen <rdf:Bag>

Elemen <rdf:Bag> itu digunakan untuk mendeskripsikan daftar nilai yang tidak harus dalam urutan tertentu.
Elemen <rdf:Bag> mungkin berisi nilai duplikat.

Contoh :

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Bag>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>George</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Bag>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Elemen <rdf:Seq>

Elemen <rdf:Seq> digunakan untuk mendeskripsikan daftar nilai yang diurutkan (Misalnya, dalam urutan abjad).

Elemen <rdf:Seq> mungkin berisi nilai duplikat.

Contoh :

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:artist>
    <rdf:Seq>
      <rdf:li>George</rdf:li>
      <rdf:li>John</rdf:li>
      <rdf:li>Paul</rdf:li>
      <rdf:li>Ringo</rdf:li>
    </rdf:Seq>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Elemen <rdf:Alt>

Elemen <rdf:Alt> digunakan untuk mendeskripsikan daftar nilai alternatif (pengguna hanya dapat memilih salah satu nilai).

Contoh :

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
  <cd:format>
    <rdf:Alt>
      <rdf:li>CD</rdf:li>
      <rdf:li>Record</rdf:li>
      <rdf:li>Tape</rdf:li>
    </rdf:Alt>
  </cd:format>
</rdf:Description>

</rdf:RDF>

Ketentuan RDF

Dalam contoh di atas kita telah membicarakan tentang “list of value” saat menjelaskan elemen penampung. Dalam RDF, “list of value” ini disebut anggota.

Jadi, kita memiliki yang berikut:

  • Penampung adalah sumber daya yang berisi berbagai hal
  • Hal-hal yang terkandung disebut anggota (bukan daftar nilai)

Koleksi RDF

Koleksi RDF menjelaskan grup yang HANYA dapat berisi anggota tertentu.

Atribut rdf: parseType = “Collection”

Sebuah wadah mengatakan bahwa sumber daya yang terkandung adalah anggota – tidak dikatakan bahwa anggota lain tidak diperbolehkan.

Koleksi RDF digunakan untuk mendeskripsikan grup yang HANYA dapat berisi anggota tertentu.

Koleksi dijelaskan oleh atribut rdf: parseType = “Collection”.

Contoh :

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">

<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
  <cd:artist rdf:parseType="Collection">
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
    <rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

Skema RDF dan Kelas Aplikasi

Skema RDF (RDFS) adalah perpanjangan dari RDF.

RDF menjelaskan sumber daya dengan kelas, properti, dan nilai.

Selain itu, RDF juga membutuhkan cara untuk mendefinisikan kelas dan properti khusus aplikasi. Kelas dan properti khusus aplikasi harus ditentukan menggunakan ekstensi ke RDF.

Salah satu ekstensi tersebut adalah Skema RDF.

Skema RDF (RDFS)

Skema RDF tidak menyediakan kelas dan properti khusus aplikasi yang sebenarnya.

Sebaliknya, Skema RDF menyediakan kerangka kerja untuk mendeskripsikan kelas dan properti khusus aplikasi.

Kelas dalam Skema RDF sangat mirip dengan kelas dalam bahasa pemrograman berorientasi objek. Hal ini memungkinkan sumber daya untuk didefinisikan sebagai contoh kelas, dan subkelas kelas.

Contoh RDFS

Contoh berikut menunjukkan beberapa fasilitas RDFS:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:ID="horse">
  <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>

</rdf:RDF>

Dalam contoh di atas, resource “horse” adalah subclass dari kelas “animal”.

Contoh Lebih Singkat

Karena kelas RDFS adalah sumber daya RDF, kita dapat menyingkat contoh di atas dengan menggunakan rdfs:Class bukannya rdf:Description, dan jatuhkan informasi rdf:type:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>

Dublin Core

Dublin Core Metadata Initiative (DCMI) telah membuat beberapa properti standar untuk mendeskripsikan dokumen.

RDF adalah metadata (data tentang data). RDF digunakan untuk menjelaskan sumber informasi.

Dublin Core adalah sekumpulan properti standar untuk mendeskripsikan dokumen.

Properti Dublin Core pertama ditentukan pada Metadata Workshop di Dublin, Ohio pada tahun 1995 dan saat ini dikelola oleh Dublin Core Metadata Initiative.

PropertyDefinisi
ContributorEntitas yang bertanggung jawab untuk memberikan kontribusi pada konten sumber daya
CoverageLuas atau cakupan konten sumber daya
CreatorEntitas yang terutama bertanggung jawab untuk membuat konten sumber daya
FormatManifestasi fisik atau digital dari sumber daya
DateTanggal suatu peristiwa dalam daur hidup sumber daya
DescriptionAkun dari konten sumber daya
IdentifierReferensi yang tidak ambigu ke resource dalam konteks tertentu
LanguageBahasa konten intelektual sumber daya
PublisherEntitas yang bertanggung jawab untuk menyediakan sumber daya
RelationReferensi ke sumber daya terkait
RightsInformasi tentang hak yang dimiliki di dalam dan di atas sumber daya
SourceReferensi ke sumber daya dari mana sumber daya saat ini berasal
SubjectTopik konten sumber daya
TitleNama yang diberikan untuk sumber daya
TypeSifat atau genre konten sumber daya

Melihat sekilas tabel di atas menunjukkan bahwa RDF ideal untuk mewakili informasi Dublin Core

Contoh RDF

Contoh berikut menunjukkan penggunaan beberapa properti Dublin Core dalam dokumen RDF:

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc= "http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="https://www.w3schools.com">
  <dc:description>W3Schools - Free tutorials</dc:description>
  <dc:publisher>Refsnes Data as</dc:publisher>
  <dc:date>2008-09-01</dc:date>
  <dc:type>Web Development</dc:type>
  <dc:format>text/html</dc:format>
  <dc:language>en</dc:language>
</rdf:Description>

</rdf:RDF>

Referensi RDF

Ruang nama RDF (xmlns: rdf) adalah: http://www.w3.org/1999/02/22-rdf-syntax-ns#

Ruang nama RDFS (xmlns: rdfs) adalah: http://www.w3.org/2000/01/rdf-schema#

Ekstensi file yang direkomendasikan untuk file RDF adalah .rdf. Namun, ekstensi .xml sering digunakan untuk menyediakan kompatibilitas dengan parser xml lama.

Jenis MIME harus “application / rdf + xml“.

Class RDFS / RDF

ElementClass ofSubclass of
rdfs:ClassAll classes 
rdfs:DatatypeData typesClass
rdfs:ResourceAll resourcesClass
rdfs:ContainerContainersResource
rdfs:LiteralLiteral values (text and numbers)Resource
rdf:ListListsResource
rdf:PropertyPropertiesResource
rdf:StatementStatementsResource
rdf:AltContainers of alternativesContainer
rdf:BagUnordered containersContainer
rdf:SeqOrdered containersContainer
rdfs:ContainerMembershipPropertyContainer membership propertiesProperty
rdf:XMLLiteralXML literal valuesLiteral

Properti RDFS / RDF

ElementDomainRangeDeskripsi
rdfs:domainPropertyClassDomain sumber daya
rdfs:rangePropertyClassRentang sumber daya
rdfs:subPropertyOfPropertyPropertyProperti adalah sub properti dari sebuah properti
rdfs:subClassOfClassClassSumber daya adalah subclass dari sebuah kelas
rdfs:commentResourceLiteralDeskripsi resource yang dapat dibaca manusia
rdfs:labelResourceLiteralLabel (nama) resource yang dapat dibaca manusia
rdfs:isDefinedByResourceResourceDefinisi sumber daya
rdfs:seeAlsoResourceResourceInformasi tambahan tentang sumber daya
rdfs:memberResourceResourceAnggota sumber daya
rdf:firstListResource 
rdf:restListList 
rdf:subjectStatementResourceSubjek sumber daya dalam Pernyataan RDF
rdf:predicateStatementResourcePredikat sumber daya dalam Pernyataan RDF
rdf:objectStatementResourceObjek sumber daya dalam Pernyataan RDF
rdf:valueResourceResourceProperti yang digunakan untuk nilai
rdf:typeResourceClassSumber daya adalah turunan dari kelas

Atribut RDF

AttributeDeskripsi
rdf:aboutMendefinisikan sumber daya yang sedang dijelaskan
rdf:DescriptionWadah untuk deskripsi sumber daya
rdf:resourceMendefinisikan sumber daya untuk mengidentifikasi properti
rdf:datatypeMendefinisikan tipe data dari suatu elemen
rdf:IDMendefinisikan ID dari sebuah elemen
rdf:liMendefinisikan daftar
rdf:_nMendefinisikan node
rdf:nodeIDMendefinisikan ID dari node elemen
rdf:parseTypeMendefinisikan bagaimana elemen harus diurai
rdf:RDFAkar dari dokumen RDF
xml:baseMendefinisikan basis XML
xml:langMendefinisikan bahasa konten elemen

You may also like