XML RDF


RDF hujjati misoli

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:si="https://www.w3schools.com/rdf/"> <rdf:Description rdf:about="https://www.w3schools.com">   <si:title>W3Schools</si:title>   <si:author>Jan Egil Refsnes</si:author> </rdf:Description> </rdf:RDF>

ULASHISH

RDF nima?

  • RDF — Resource Description Framework (resurslarni tavsiflash freymvorki) so‘zlarining qisqartmasi
  • RDF — vebdagi resurslarni tavsiflash uchun freymvork
  • RDF kompyuterlar o‘qishi va tushunishi uchun mo‘ljallangan
  • RDF odamlarga ko‘rsatish uchun mo‘ljallanmagan
  • RDF XML’da yoziladi
  • RDF W3C’ning Semantik Veb faoliyatining (Semantic Web Activity) bir qismi
  • RDF 2004-yil 10-fevraldan beri W3C tavsiyasi (Recommendation) hisoblanadi

RDF - foydalanish misollari

  • Xarid qilinadigan mahsulotlarning narx va mavjudlik kabi xususiyatlarini tavsiflash
  • Veb-tadbirlarning vaqt jadvallarini tavsiflash
  • Veb-sahifalar haqidagi ma’lumotlarni tavsiflash (mazmuni, muallifi, yaratilgan va o‘zgartirilgan sanasi)
  • Veb-rasmlarning mazmuni va reytingini tavsiflash
  • Qidiruv tizimlari uchun kontentni tavsiflash
  • Elektron kutubxonalarni tavsiflash

RDF kompyuterlar o‘qishi uchun mo‘ljallangan

RDF ma’lumotlarni kompyuter ilovalari o‘qiy va tushuna oladigan tarzda tavsiflashning umumiy usulini taqdim etish uchun yaratilgan.

RDF tavsiflari vebda ko‘rsatish uchun mo‘ljallanmagan.



RDF XML’da yoziladi

RDF hujjatlari XML’da yoziladi. RDF foydalanadigan XML tili RDF/XML deb ataladi.

XML’dan foydalanilgani sababli RDF ma’lumotlarini turli operatsion tizimlar va ilova tillaridan foydalanadigan turli xil kompyuterlar o‘rtasida oson almashish mumkin.


RDF va "Semantik Veb"

RDF tili W3C’ning Semantik Veb faoliyatining (Semantic Web Activity) bir qismidir. W3C’ning "Semantik Veb g‘oyasi" (Semantic Web Vision) quyidagi kelajakni ko‘zda tutadi:

  • Vebdagi ma’lumotlar aniq ma’noga ega
  • Vebdagi ma’lumotlarni kompyuterlar tushuna va qayta ishlay oladi
  • Kompyuterlar vebdagi ma’lumotlarni birlashtira (integratsiya qila) oladi

RDF resurslarni aniqlash uchun veb-identifikatorlardan (URI) foydalanadi.

RDF resurslarni xususiyatlar va xususiyat qiymatlari orqali tavsiflaydi.


RDF resursi, xususiyati va xususiyat qiymati

RDF narsalarni veb-identifikatorlar (URI) yordamida aniqlaydi va resurslarni xususiyatlar hamda xususiyat qiymatlari orqali tavsiflaydi.

Resurs, xususiyat va xususiyat qiymatining izohi:

  • Resurs — URI’ga ega bo‘la oladigan har qanday narsa, masalan, "https://www.w3schools.com/rdf"
  • Xususiyat — nomga ega bo‘lgan resurs, masalan, "author" yoki "homepage"
  • Xususiyat qiymati — xususiyatning qiymati, masalan, "Jan Egil Refsnes" yoki "https://www.w3schools.com" (e’tibor bering, xususiyat qiymati boshqa resurs ham bo‘lishi mumkin)

Quyidagi RDF hujjati "https://www.w3schools.com/rdf" resursini tavsiflashi mumkin:

<?xml version="1.0"?> <RDF>   <Description about="https://www.w3schools.com/rdf">     <author>Jan Egil Refsnes</author>     <homepage>https://www.w3schools.com</homepage>   </Description> </RDF>

Yuqoridagi misol soddalashtirilgan. Nomlar fazolari tushirib qoldirilgan.


RDF tasdiqlari (statements)

Resurs, xususiyat va xususiyat qiymatining birikmasi tasdiqni (Statement) hosil qiladi (ular tasdiqning subyekti, predikati va obyekti deb ataladi).

Yaxshiroq tushunish uchun bir nechta tasdiq misollarini ko‘rib chiqamiz:

Tasdiq: "https://www.w3schools.com/rdf sahifasining muallifi — Jan Egil Refsnes".

  • Yuqoridagi tasdiqning subyekti: https://www.w3schools.com/rdf
  • Predikat: author
  • Obyekt: Jan Egil Refsnes

Tasdiq: "https://www.w3schools.com/rdf sahifasining bosh sahifasi — https://www.w3schools.com".

  • Yuqoridagi tasdiqning subyekti: https://www.w3schools.com/rdf
  • Predikat: homepage
  • Obyekt: https://www.w3schools.com

RDF misoli

Quyida CD ro‘yxatidan ikkita yozuv keltirilgan:

Nomi Ijrochi Mamlakat Kompaniya Narx Yil
Empire Burlesque Bob Dylan USA Columbia 10.90 1985
Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

Quyida RDF hujjatidan bir necha qator keltirilgan:

<?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>

RDF hujjatining birinchi qatori — XML e’loni. XML e’lonidan keyin RDF hujjatlarining ildiz elementi keladi: <rdf:RDF>.

xmlns:rdf nomlar fazosi rdf prefiksli elementlar "http://www.w3.org/1999/02/22-rdf-syntax-ns#" nomlar fazosiga tegishli ekanini belgilaydi.

xmlns:cd nomlar fazosi cd prefiksli elementlar "http://www.recshop.fake/cd#" nomlar fazosiga tegishli ekanini belgilaydi.

<rdf:Description> elementi rdf:about atributi orqali aniqlangan resursning tavsifini o‘z ichiga oladi.

Elementlar: <cd:artist>, <cd:country>, <cd:company>, va hokazo — resursning xususiyatlaridir.


RDF onlayn validatori

W3C’ning RDF tekshirish xizmati (RDF Validation Service) RDF’ni o‘rganishda foydali. Bu yerda RDF fayllari bilan tajriba o‘tkazishingiz mumkin.

Onlayn RDF validatori RDF hujjatingizni tahlil qiladi (parse), sintaksisingizni tekshiradi hamda RDF hujjatingizning jadval va grafik ko‘rinishlarini hosil qiladi.

Quyidagi misolni nusxalab, W3C’ning RDF validatoriga joylashtiring:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:si="https://www.w3schools.com/rdf/"> <rdf:Description rdf:about="https://www.w3schools.com">   <si:title>W3Schools.com</si:title>   <si:author>Jan Egil Refsnes</si:author> </rdf:Description> </rdf:RDF>

Yuqoridagi misolni tahlil qilganingizda (parse), natija taxminan quyidagicha bo‘ladi.


RDF elementlari

RDF’ning asosiy elementlari — ildiz element <RDF> va resursni aniqlaydigan <Description> elementi.


<rdf:RDF> elementi

<rdf:RDF> — RDF hujjatining ildiz elementi. U XML hujjatini RDF hujjati sifatida belgilaydi. Shuningdek, u RDF nomlar fazosiga havolani ham o‘z ichiga oladi:

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">   ...Tavsif shu yerga yoziladi... </rdf:RDF>

<rdf:Description> elementi

<rdf:Description> elementi about atributi yordamida resursni aniqlaydi.

<rdf:Description> elementi resursni tavsiflaydigan elementlarni o‘z ichiga oladi:

<?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>

artist, country, company, price va year elementlari http://www.recshop.fake/cd# nomlar fazosida belgilangan. Bu nomlar fazosi RDF’dan tashqarida joylashgan (va RDF’ning bir qismi emas). RDF faqat freymvorkni belgilaydi. artist, country, company, price va year elementlari boshqa kimdir (kompaniya, tashkilot, shaxs va h.k.) tomonidan belgilanishi kerak.


Xususiyatlar atribut sifatida

Xususiyat elementlarini (elementlar o‘rniga) atributlar sifatida ham belgilash mumkin:

<?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>

Xususiyatlar resurs sifatida

Xususiyat elementlarini resurslar sifatida ham belgilash mumkin:

<?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>

Yuqoridagi misolda artist xususiyatining qiymati yo‘q, uning o‘rnida ijrochi haqidagi ma’lumotlarni o‘z ichiga olgan resursga havola bor.


RDF konteynerlari

RDF konteynerlari narsalar guruhini tavsiflash uchun ishlatiladi.

Guruhlarni tavsiflash uchun quyidagi RDF elementlari ishlatiladi: <Bag>, <Seq> va <Alt>.


<rdf:Bag> elementi

<rdf:Bag> elementi muayyan tartibda bo‘lishi shart bo‘lmagan qiymatlar ro‘yxatini tavsiflash uchun ishlatiladi.

<rdf:Bag> elementi takroriy qiymatlarni o‘z ichiga olishi mumkin.

Misol

<?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>

<rdf:Seq> elementi

<rdf:Seq> elementi tartiblangan qiymatlar ro‘yxatini (masalan, alifbo tartibida) tavsiflash uchun ishlatiladi.

<rdf:Seq> elementi takroriy qiymatlarni o‘z ichiga olishi mumkin.

Misol

<?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>

<rdf:Alt> elementi

<rdf:Alt> elementi muqobil qiymatlar ro‘yxatini tavsiflash uchun ishlatiladi (foydalanuvchi qiymatlardan faqat bittasini tanlashi mumkin).

Misol

<?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>

RDF atamalari

Yuqoridagi misollarda konteyner elementlarini tavsiflashda "qiymatlar ro‘yxati" haqida gapirdik. RDF’da bu "qiymatlar ro‘yxati" a’zolar (members) deb ataladi.

Demak, bizda quyidagilar bor:

  • Konteyner — narsalarni o‘z ichiga olgan resurs
  • Uning ichidagi narsalar a’zolar (members) deb ataladi ("qiymatlar ro‘yxati" emas)

RDF kolleksiyalari

RDF kolleksiyalari FAQAT ko‘rsatilgan a’zolarni o‘z ichiga olishi mumkin bo‘lgan guruhlarni tavsiflaydi.


rdf:parseType="Collection" atributi

Oldingi bobda ko‘rganimizdek, konteyner undagi resurslar a’zo ekanini bildiradi, lekin boshqa a’zolarga ruxsat berilmasligini aytmaydi.

RDF kolleksiyalari FAQAT ko‘rsatilgan a’zolarni o‘z ichiga olishi mumkin bo‘lgan guruhlarni tavsiflash uchun ishlatiladi.

Kolleksiya rdf:parseType="Collection" atributi orqali tavsiflanadi.

Misol

<?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>

RDF Schema va ilova sinflari

RDF Schema (RDFS) — RDF’ning kengaytmasi.

RDF resurslarni sinflar, xususiyatlar va qiymatlar orqali tavsiflaydi.

Bundan tashqari, RDF’ga ilovaga xos sinflar va xususiyatlarni belgilash usuli ham kerak. Ilovaga xos sinflar va xususiyatlar RDF kengaytmalari yordamida belgilanishi kerak.

Shunday kengaytmalardan biri — RDF Schema.


RDF Schema (RDFS)

RDF Schema ilovaga xos sinflar va xususiyatlarning o‘zini taqdim etmaydi.

Buning o‘rniga RDF Schema ilovaga xos sinflar va xususiyatlarni tavsiflash uchun freymvork taqdim etadi.

RDF Schema’dagi sinflar obyektga yo‘naltirilgan dasturlash tillaridagi sinflarga juda o‘xshaydi. Bu resurslarni sinflarning nusxalari (instance) va sinflarning quyi sinflari sifatida belgilash imkonini beradi.


RDFS misoli

Quyidagi misol RDFS’ning ba’zi imkoniyatlarini namoyish etadi:

<?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>

Yuqoridagi misolda "horse" resursi "animal" sinfining quyi sinfi hisoblanadi.


Qisqartirilgan misol

RDFS sinfi RDF resursi bo‘lgani uchun yuqoridagi misolni rdf:Description o‘rniga rdfs:Class’dan foydalanib va rdf:type ma’lumotini tushirib qoldirib qisqartirishimiz mumkin:

<?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>

Hammasi shu!


Dublin Core

Dublin Core Metadata Initiative (DCMI) hujjatlarni tavsiflash uchun bir qancha oldindan belgilangan xususiyatlarni yaratgan.

RDF — metama’lumotlar (ma’lumotlar haqidagi ma’lumotlar). RDF axborot resurslarini tavsiflash uchun ishlatiladi.

Dublin Core — hujjatlarni tavsiflash uchun oldindan belgilangan xususiyatlar to‘plami.

Dastlabki Dublin Core xususiyatlari 1995-yilda Ogayo shtatining Dublin shahrida bo‘lib o‘tgan Metadata Workshop’da belgilangan va hozirda Dublin Core Metadata Initiative tomonidan qo‘llab-quvvatlanadi.

Xususiyat Ta’rif
Hissa qo‘shuvchi Resurs mazmuniga hissa qo‘shish uchun mas’ul shaxs yoki tashkilot
Qamrov Resurs mazmunining ko‘lami yoki qamrovi
Yaratuvchi Resurs mazmunini yaratish uchun asosiy mas’ul shaxs yoki tashkilot
Format Resursning jismoniy yoki raqamli ko‘rinishi
Sana Resurs hayotiy siklidagi biror hodisaning sanasi
Tavsif Resurs mazmunining bayoni
Identifikator Muayyan kontekstda resursga bir ma’noli havola
Til Resursning intellektual mazmuni tili
Nashr etuvchi Resursni foydalanish uchun taqdim etishga mas’ul shaxs yoki tashkilot
Bog‘liqlik Bog‘liq resursga havola
Huquqlar Resursga oid va unga nisbatan mavjud huquqlar haqidagi ma’lumot
Manba Joriy resurs olingan resursga havola
Mavzu Resurs mazmunining mavzusi
Nomi Resursga berilgan nom
Tip Resurs mazmunining tabiati yoki janri

Yuqoridagi jadvalga qisqacha nazar tashlasak, RDF Dublin Core ma’lumotlarini ifodalash uchun ideal ekanini ko‘rish mumkin.


RDF misoli

Quyidagi misol RDF hujjatida ba’zi Dublin Core xususiyatlaridan foydalanishni ko‘rsatadi:

<?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>

RDF ma’lumotnomasi

RDF nomlar fazosi (xmlns:rdf): http://www.w3.org/1999/02/22-rdf-syntax-ns#

RDFS nomlar fazosi (xmlns:rdfs ): http://www.w3.org/2000/01/rdf-schema#

RDF fayllari uchun tavsiya etilgan fayl kengaytmasi — .rdf. Biroq eski XML parserlari bilan moslikni ta’minlash uchun ko‘pincha .xml kengaytmasi ishlatiladi.

MIME turi "application/rdf+xml" bo‘lishi kerak.


RDFS / RDF sinflari

Element Nimalar sinfi Qaysi sinfning quyi sinfi
rdfs:Class Barcha sinflar  
rdfs:Datatype Ma’lumot tiplari Class
rdfs:Resource Barcha resurslar Class
rdfs:Container Konteynerlar Resource
rdfs:Literal Literal qiymatlar (matn va sonlar) Resource
rdf:List Ro‘yxatlar Resource
rdf:Property Xususiyatlar Resource
rdf:Statement Tasdiqlar (statements) Resource
rdf:Alt Muqobillar konteynerlari Container
rdf:Bag Tartiblanmagan konteynerlar Container
rdf:Seq Tartiblangan konteynerlar Container
rdfs:ContainerMembershipProperty Konteynerga a’zolik xususiyatlari Xususiyat
rdf:XMLLiteral XML literal qiymatlar Literal

RDFS / RDF xususiyatlari

Element Aniqlanish sohasi (domain) Qiymatlar sohasi (range) Tavsif
rdfs:domain Xususiyat Class Resursning aniqlanish sohasi
rdfs:range Xususiyat Class Resursning qiymatlar sohasi
rdfs:subPropertyOf Xususiyat Xususiyat Xususiyat boshqa xususiyatning quyi xususiyati hisoblanadi
rdfs:subClassOf Class Class Resurs biror sinfning quyi sinfi hisoblanadi
rdfs:comment Resource Literal Resursning inson o‘qiy oladigan tavsifi
rdfs:label Resource Literal Resursning inson o‘qiy oladigan yorlig‘i (nomi)
rdfs:isDefinedBy Resource Resource Resursning ta’rifi
rdfs:seeAlso Resource Resource Resurs haqidagi qo‘shimcha ma’lumot
rdfs:member Resource Resource Resursning a’zosi
rdf:first List Resource  
rdf:rest List List  
rdf:subject Statement Resource RDF tasdiqidagi resursning subyekti
rdf:predicate Statement Resource RDF tasdiqidagi resursning predikati
rdf:object Statement Resource RDF tasdiqidagi resursning obyekti
rdf:value Resource Resource Qiymatlar uchun ishlatiladigan xususiyat
rdf:type Resource Class Resurs biror sinfning nusxasi (instance) hisoblanadi

RDF atributlari

Atribut Tavsif
rdf:about Tavsiflanayotgan resursni belgilaydi
rdf:Description Resurs tavsifi uchun konteyner
rdf:resource Xususiyatni aniqlash uchun resursni belgilaydi
rdf:datatype Elementning ma’lumot tipini belgilaydi
rdf:ID Elementning ID’sini belgilaydi
rdf:li Ro‘yxatni belgilaydi
rdf:_n Tugunni belgilaydi
rdf:nodeID Element tugunining ID’sini belgilaydi
rdf:parseType Element qanday tahlil qilinishi (parse) kerakligini belgilaydi
rdf:RDF RDF hujjatining ildizi
xml:base XML bazasini (base) belgilaydi
xml:lang Element tarkibining tilini belgilaydi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!