The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još...

Preview:

Citation preview

The Resource Description Framework (RDF)

W3C (World Wide Web Consortium)

Primer: http://www.w3.org/TR/2004/REC-rdf-primer-20040210/

Concepts, Syntax, Semantics, Vocabulary, Test Cases

Definicije

• The Resource Description Framework (RDF) je okvir (sistem, model) za predstavljanje informacija na Web-u.

• RDF je jezik za predstavljanje informacija o resursima na Web-u

• RDF modeluje metapodatke o resursimana Web-u

Motivacija• RDF treba da omogući da se preko Web-a

programski obrañuju podaci na isti način na koji se u konvencijalnom Web-u obrañuje hipertekst. Time se omogućuje distribuirana obrada podataka preko Web-a.

• Konvencionalni Web podržava korisnički pristup dokumentima, "stranicama" tekstova i slika, dok Semantic Web, zasnovan na RDF-u, treba da podrži pristup bazama struktuiranih podataka. RDF omogućuje softversko procesiranje Web informacija.

RDF Model podatakaRDF omogućuje formiranje iskaza o RDF resursima. RDF iskaz se formalno opisuje preko ureñenih trojki

<subjekat, osobina, objekat>

sa značenjem da resurs subjekat ima osobinu čija jevrednost resurs objekat.

Predmet

Nastavnik

Predaje

Zvanje

Naziv

Broj^as

1,1

1,M

[ifraPredm

NastId NastIme

Osnovni Model objekti-veze

Apstrakcija klasifikacije: Skup objekata iste vrste predstavlja se preko KLASE

Šema i Pojavljivanja

Dijagram pojavljivanja (RDF)

"Branko" "BazePod"Predaje

103

BrankoRed.Prof 2 + 2

03

BazePod

Zvanje NastIme

NastId

BrojCas Naziv

SifraPredm

RDF Model podataka- Identifikacija subjekata, objekata i osobina

• Identifikacija se vrši preko Uniform Resource Identifiers(URIs), odnosno URIrefs.

– Uniform Resource Locator(URL) pretstavlja osnovi mehanizam pristupa mrežnim lokacijama

– URI treba da identifikuje bilo šta, entitete koji nisu "network accesible" – neke realne i abstaraktne koncepe. URL je podskup

– RDF koristi i URI reference (URIref) –URI#identifikator fragmenta

http://www.example.org/index.html#section2

RDF MODEL

RDF Model podataka – "trojke" notacija"

<http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> .

<http://www.example.org/index.html><http://www.example.org/terms/creation-date> "August 16, 1999" .

<http://www.example.org/index.html> (3) <http://purl.org/dc/elements/1.1/language> "en" .

(1)

(2)

Namespaces, Qualified name (QName) and Vocabulary

Da bi se skratilo pisanje uvodi se notacija koja se naziva kvalifikovano imersursa:

prefix : lokalno-imePrefix označava prostor imena:

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#rdfs: http://www.w3.org/2000/01/rdf-schema#dc: http://purl.org/dc/elements/1.1/owl: http://www.w3.org/2002/07/owl#ex: http://www.example.org/xsd: http://www.w3.org/2001/XMLSchema#

Namespaces, Qualified name (QName) and Vocabulary

exterms: URI:http://www.example.org/terms/exstaff: URI: http://www.example.org/staffid

ex:index.html dc:creator exstaff:85740.ex:index.html exterms:creation-date "August 16,

1999" ex:index.html dc:language "en"

Namespaces, Qualified name (QName) and Vocabulary

Skup URIref proko kojih se imenuje elementi iskaza u RDF-u na ziva se Rečnik (Vocabulary). Ovde se URIref prikazuju preko kvalifikovanih imena, pa se na taj ančin dobija skup kvalifikovanih imena sa istim prefiksom.

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#rdfs: http://www.w3.org/2000/01/rdf-schema#dc: http://purl.org/dc/elements/1.1/owl: http://www.w3.org/2002/07/owl#xsd: http://www.w3.org/2001/XMLSchema#

U jednom RDF modelu se mogu kombinovati različiti rečnici

Zašto URIref a ne literal

RDF Model podataka

• Zašto se ne koriste jednostavni nazivi za osobine (ime, starost i slično), već URIref?

• Razlog je precizno definisanje sematike pojedinih ososbina.

Semantika sledeće dve osobine je različita:

http://www.example.org/terms/namehttp://www.domain2.example.org/genealogy/terms/

name

Struktuirane vrednosti i "blank node"

• Svaka struktuirana vrednost (datum, adresa) može da se terira kao poseban resurs sa svojim URI. Umesto toga, pošto takve vrednosti same za sebe nemaju značenje može se uvesti koncept "blank node"

Struktuirane vrednosti i "blank node"

Imenovani blank node (može da postoji više blank nodova)

Neidentifikovani subjekat i "blank node"

• Neidentifikovani subjekat: "Postoji resurs tipa exterms:Person čija je e-mejl adresa mailto:jane@example.org, čije je ime Jane Smith, ..."

Tipovi literala

<http://www.example.org/staffid/85740> <http://www.example.org/terms/age> "27"^^<http://www.w3.org/2001/XMLSchema#integer> .

exstaff:85740 exterms:age "27"^^xsd:integer .ex:index.html exterms:creation-date "1999-08-16"^^xsd:date .

Rečnik XMLšeme je izvor tip. lit.

Tip resursa

Graf

Trojka

RDF/XMLsintaksa

XML sintaksa za RDF: RDF/XML

XML sintaksa za RDF: RDF/XML

1. XML declaration, sa datom verzijom XML-a

2. rdf:RDF pokazuje da sadržaj koji sledi, do kraja, pretstavlja RDF.

3. XML namespace deklaracije

4. Sledi opis (description) o (about) navedenom subjetu.

5. osobina

6. kraj opisa subjekta

XML sintaksa za RDF: Primer

XML sintaksa za RDF: Primer

rdf:ID pretstavlja identifikator fragmenta( fragment identifier)umesto

URIref http://www.example.com/2002/04/products#item10245

RDF Containers

• rdf:Bag - (neureñena grupa resursa ili literala sa mogućim duplikat.)

• rdf:Seq - (ureñena grupa resursa ili literala sa mogućim duplikatima)

• rdf:Alt – (grupa resursa ili literala od kojih se bira jedan)

RDF Containers

• Da bi se pretstvilo da resurs pretstavlja kontejner, dodeljuje mu se osobina rdf:type čija je vrednost neki od navedenih kontejnera

• Elementi kotejnera se eksplicitno navode u modelu preko container membership property. Nazivi ovih osobina imaju oblik

rdf:_ngde je n ceo broj veći od nule, bez vodećih nula.

• Ne moraju svi element kontejnera da budu navedeni.

RDF Containers

RDF/XML reprezentacija RDF kontejnera

rdf:li je mnemoničko ime uzeto zbog "list item" iz HTMLIz rdf:li redni brojevi, kao nazivi osobine člansta, se automatski

generišu

RDF Collections

• Za razliku od kontejnera u kome pojedini može da postoji još elemenata, pored navedenih, u kolekciji se navode svi elementi.

• Ako je resurs kolekcija on ima predefinisani tip

rdf:list, predefinisane ososbine za kretanje kroz listu rdf:firstrdf:firstrdf:firstrdf:first i rdf:restrdf:restrdf:restrdf:rest, i predefinisani resurs resursrdf:nilrdf:nilrdf:nilrdf:nil.

RDF Collections

RDF Collections- RDF/XML

RDF Reification

• Ponekad je potrebno opisati neki RDF iskaz. Opis RDF iskaza preko RDF rečnika se naziva reification. Definiše se poseban resurs, sa posebnim trojkama se opisuju njegov subjekat, predikat i objekat, pa se može dodati jošneka trojka za opis ovakvog iskaza.

RDF SchemaRDF Vocabulary Description Language 1.0:

RDF Schema[RDF-VOCABULARY],

• Specifikacija nekog specifičnog rečnika čiji će se elementi koristiti za specifikaciju RDF iskaza, odnosno specifikacija:

– vrste ili klase resursa koji će se koristiti

– specifične ososbine koje će se koristiti

– dodatna ograničenja na vrednosti pojedinih osobina

RDF Schema

• RDF Schema je sistem za definisanje tipova u RDF-u, sličan takvim sistemima u OO jezicima.

• Klasa: ekvivalentan koncept konceptu klase u OO jezicima. Klasa je bilo koji resurs koji ima osobin rdf:type čija je vrednost resurs rdfs:class.

ex:MotorVehicle rdf:type rdfs:Class .Preko osobinerdf:type iskazuje se da je neki resurs

pojavljivanje neke klase

exthings:companyCar rdf:typeex:MotorVehicle

Relacija specijalizacije imeñu rdfs klasa:

ex:Van rdfs:subClassOf ex:MotorVehicleex:MiniVan rdfs:subClassOf ex:Van

Tranzitivnost

Osobine

• U RDF šemi osobine se opisuju korišćenjem RDF

klase rdf: Property. Bilo koja osobina u RDF-u je

pojavljivanje klase rdf: Property

exterms:weightInKg rdf:type rdf:Property• RDF daje i mogućnost opisvanja veza imeđu

klase i osobine preko deve specifične osobine rdfs: rangerdfs: rangerdfs: rangerdfs: range (klasa iz koje neka ososbina može da uzme vrednost)rdfs: domainrdfs: domainrdfs: domainrdfs: domain (klasa koja ima datu osobinu)

Osobine i klase

ex:Person rdf:type rdfs:Classex:author rdf:type rdf:Propertyex:author rdfs:range ex:Person.

(Osobina Author dobija kao vredost pojavljivanje klase Person)

ex:age rdf:type rdf:Propertyex:age rdfs:range xsd:integer .

(Osobina ageuzima kao vrednost pojavljivanjetipa integer iz XMLSchema-e)

Osobine i klaseex:Book rdf:type rdfs:Classex:author rdf:type rdf:Propertyex:author rdfs:domain ex:Book .

(Osobina author je osobina klase Book)

Specijalizacija osobina

ex:driver rdf:type rdf:Property . ex:primaryDriver rdf:type rdf:Property . ex:primaryDriver rdfs:subPropertyOfex:driver .

Nastavnik Predmet

NastId NastIme SifraPred Naziv

Osobina(Property)

Class(Klasa)

Type

Type

Type

Type

Type Type

Predaje

Type

Domain Range

String

Integer

DomainRange

Range

Domain DomainDomain

IntegerRange

String

Range

"Branko"

Type

"BazePod"

Type

Drugačija sintaksa za šemuRDF šema

Ostali koncepti šeme

• Osobina rdfs:comment služi za verbalni opis nekog resursa.

• Osobina rdfs:label daje čoveku čitljivije ime resursa

• Osobina rdfs:seeAlso daje resurs koji može detaljnije da opiše subjekat.

• Osobina rdfs:isDefinedBy je podosobina rdfs:seeAlso i ukazuje na resurs koji je definisao posmatrani subjekat.

Primer RDF/XML šeme opis klasa

Primer RDF/XML šeme opis osobina

Primer RDF/XML – Pojavljivanje šeme ex:PassengerVehicle

RDF šema i drugi modeli (jezici)• U drugim modelima osobina (property, atribut) je u

"slab" u odnosu na klasu, opseg (scope) naziva osobine je klasa.

• U RDF-u osobina je "jak entitet" ("entitet prvog reda"). Osobina ima globalni opseg u modelu. Može se definisati i bez vezivanja sa klasom preko osobina "range" i "domain"

• U drugim modelima specifikacija šeme je propis. Ne može se kreirati klasa koja nema sve zahtevane atribute.

• U RDF-u specifikacija šeme je dodatni opis,objašnjene navedenih iskaza čija je interpretacija slobodna.

OWL (Web Ontology Language)

• Pored RDFschema mogu da postoje i drugi, semantički bogatiji, rečnici pojmova koji čiji će se koristiti za specifikaciju RDF iskaza

• Skup pojmova, njihovih meñusobnih odnosa i njihovih veza naziva se ontologija. Pojam ontologije je ekvivalentan pojmu meta modela u modelovanju podataka.

• Definišu se ontologije za mnoge oblasti. Sa te tačke gledišta pojam ontologije je ekvivalentan pojmu "analitičkog paterna"

ObjekatPosmatranja

TipObjekatPosmatranja Fenomen

0,M

0,M

JedinicaMere

Konverzija

DatoU1,1 0,M

Iz (0,M) U (0,M)

KonverzioniOdnos

Protokol

Merenja

IznosImaPojavlj

0,M

VremeMer

Vreme

0,M

1,1

S

VrstaVJ(1,1)

Trenutak PeriodPo~

Kraj

Vrednost

Vrednost

PratiSe

1,M 0,M

Po

1,1

0,M

Ontologija "Merenja"

OWL (Web Ontology Language)• OWL je semantički bogatiji i specijalizovan model,

vezan za RDF i XML, odnosno za "semantiči Web"

• OWL je jezik za iskazivanje značenja pojmova koji se koriste u Web dokumentima, da bi se Web dokumenti mogli "računarski" (programski) obrañivati.– OWL Lite podržava klasifijkacionu hijererhiju i

jednostavna ograničenja.

– OWL DL (Description Logic) maksimalna izražajnost i garantovana iračunljivost i odlučivost

– OWL Full mksimalna izražajnost, sintaksna sloboda, izračunljivost nije garantovana.

Relacione baze za Semantic Web

• Jena[JENA] je Java semantic web toolkit koji sadrži API za JDBC pristup različitim bazama podataka

• KAON [KAON] RDF Server koji koristi Enterprise Java Beans (EJB) za pristup relacionim bazama podataka

• Parka Database

• RDFSuite

• .....

JENA struktura relacione baze

JENA struktura relacione baze

Recommended