the resource description framework (rdf) · subjekat, predikat i objekat, pa se može dodati još...

50
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

Upload: others

Post on 18-Feb-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 2: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 3: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 4: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 5: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 6: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Dijagram pojavljivanja (RDF)

"Branko" "BazePod"Predaje

103

BrankoRed.Prof 2 + 2

03

BazePod

Zvanje NastIme

NastId

BrojCas Naziv

SifraPredm

Page 7: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 8: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

RDF MODEL

Page 9: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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)

Page 10: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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#

Page 11: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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"

Page 12: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 13: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Zašto URIref a ne literal

Page 14: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 15: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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"

Page 16: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Struktuirane vrednosti i "blank node"

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

Page 17: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Neidentifikovani subjekat i "blank node"

• Neidentifikovani subjekat: "Postoji resurs tipa exterms:Person čija je e-mejl adresa mailto:[email protected], čije je ime Jane Smith, ..."

Page 18: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 19: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Tip resursa

Page 20: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Graf

Trojka

RDF/XMLsintaksa

XML sintaksa za RDF: RDF/XML

Page 21: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 22: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

XML sintaksa za RDF: Primer

Page 23: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

XML sintaksa za RDF: Primer

Page 24: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

rdf:ID pretstavlja identifikator fragmenta( fragment identifier)umesto

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

Page 25: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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)

Page 26: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 27: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

RDF Containers

Page 28: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 29: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 30: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

RDF Collections

Page 31: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

RDF Collections- RDF/XML

Page 32: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 33: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 34: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 35: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Relacija specijalizacije imeñu rdfs klasa:

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

Tranzitivnost

Page 36: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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)

Page 37: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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)

Page 38: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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 .

Page 39: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

Page 40: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 41: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Primer RDF/XML šeme opis klasa

Page 42: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Primer RDF/XML šeme opis osobina

Page 43: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

Primer RDF/XML – Pojavljivanje šeme ex:PassengerVehicle

Page 44: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 45: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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"

Page 46: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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"

Page 47: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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.

Page 48: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

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

• .....

Page 49: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

JENA struktura relacione baze

Page 50: The Resource Description Framework (RDF) · subjekat, predikat i objekat, pa se može dodati još neka trojka za opis ovakvog iskaza. RDF Schema RDF Vocabulary Description Language

JENA struktura relacione baze