web03 semantic web: resource description framework

90
Dr. Sabin Buraga http://www.purl.org/net/busaco Semantic Web <?xml version=“1.0” ?> <curs desc=“…” /> Web semantic Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Upload: sabin-buraga

Post on 22-Jun-2015

1.046 views

Category:

Education


1 download

DESCRIPTION

O prezentare privitoare la una dintre tehnologiile de baza ale Web-ului semantic: RDF -- cadru de lucru pentru descrierea resurselor.

TRANSCRIPT

Page 1: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web semantic

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Resource Description Framework

Page 3: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“Lucrurile au si ele viata. Totul este sa le trezesti sufletul.”

Gabriel García Márquez

Page 4: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

intrebari

Cum (re)folosim datele distribuite pe Web?

Page 5: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

necesitati

O maniera de a atasa date privitoare la date

creare de vocabulare de termeni descriind “ceva” (proprietati, domenii, lumi,...) – resurse Web

Page 6: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

necesitati

Un mod de a specifica relatii intre resurse

structuri de organizare a datelorin cadrul unui sau mai multor web‐uri

Page 7: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

realitati

Uzual, datele sunt reprezentate in forma tabelaramodelul relational

un rand descrie un “obiect” (item) specific

o coloana reprezinta o proprietate a tuturor item‐ilor 

o celula desemneaza o valoare particularaa unei proprietati asociate obiectului de interes

Page 8: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

exemplu

Page 9: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

fragmente de informatii vor fi disponibilepe calculatoare diferite,

accesate via tehnologiile Web actuale

Page 10: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 1:fiecare calculator mentine informatiile

despre mai multe randuri complete dintr‐un tabel

Page 11: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

exemplu

Distribuirea datelor pe Web

Care‐i schema comuna?

Page 12: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 1:fiecare calculator mentine informatiile

despre mai multe randuri complete dintr‐un tabel

necesitatea unui mecanism de coordonare intre serveree.g., partajarea schemei comune folosite

Page 13: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 2:fiecare calculator e responsabil cu una/mai multe coloane 

complete din cadrul tabelului

Page 14: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

exemplu

Distribuirea datelor pe Web

Cine referape cine?

Page 15: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 2:fiecare calculator e responsabil cu una/mai multe coloane 

complete din cadrul tabelului

necesitatea cunoasterii identitatii datelor modelatee.g., fiecare resursa are asociat un identificator global

Page 16: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 3:fiecare masina realizeaza managementulunui numar de celule dintr‐un tabel

Page 17: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

exemplu

Distribuirea datelor pe Web

Page 18: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 3:fiecare masina realizeaza managementulunui numar de celule dintr‐un tabel

combina avantajele abordarilor precedente

Page 19: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

motivatie

Distribuirea datelor pe Web

solutia 3:fiecare masina realizeaza managementulunui numar de celule dintr‐un tabel

fiecare celula trebuie referita de 3 valori unice:o referinta globala ce desemneaza un rand +o referinta globala ce desemneaza o coloana +o referinta globala ce specifica valoarea celulei

Page 20: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf

Resource Description Framework

cadru (abstract) pentru descrierea resurselorla nivelul calculatorului

fundatie a Web‐ului semantic

Page 21: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf

Recomandare W3CRDF Model & Syntax Specification (1999)

RDF/XML Syntax Specification – Revised (2004)

http://www.w3.org/RDF

Page 22: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Ofera modalitatile de specificare a triplelor(rand, coloana, valoare de celula)

via identificatori uniformi de resurse – URI

rdf

URI

URI

URI

Page 23: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Resursa – specificata de URI‐uriProprietate – aspect, caracteristica, atribut sau relatieDeclaratie – triplu de forma { subiect, predicat, obiect }

rdf: model

Page 24: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Subiect = rand (resursa despre care se “spune” ceva)Predicat = coloana (o proprietate a subiectului)Obiect = celula (valoare particulara a proprietatii)

rdf: model

Page 25: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

SubiectResursa – specificata de un URI – care este descrisavia predicat si obiect

PredicatRelatie – desemnata de un URI – stabilitaintre subiect si obiectPoate fi considerat si drept atribut (proprietate)

ObiectDesemneaza resursa referita de un predicatsau specifica o valoare

rdf: model

Page 26: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf: model – exemplu

Subiect Predicat ObiectApple produce iTunes

Microsoft produce OfficePHP areStatut DeschisOffice areStatut ComercialIBM este Companie

Microsoft este CompanieJava este LimbajExcel parteDin OfficeSabin localizatIn RomaniaSabin utilizeaza iTunes

Vocabularde termeni

Page 27: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Atunci cand mai multe triple refera aceeasi resursa, le putem reprezenta sub forma de grafuri

triplu = muchie intre subiect si obiect

predicat = eticheta asociata muchiei digrafului

rdf: model

Page 28: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf: model – exemplu

Excel OfficeparteDin

Microsoft

produsDeproduce

Comercial

areStatut

areStatut

Mac OS XCompanie

este Appleproduce

este

Sabinutilizeaza

Persoanaeste

Graful unui model conceptual referitor la un web:

Page 29: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Predicatele specifica natura relatiilor ce pot fistabilite intre subiect si obiect

se pot exprima folosind vocabulare publicate pe Web,ce sunt disponibile liber si sunt referite de URI

rdf: model

Page 30: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelul pus la dispozitie poate fi folositla asocierea de meta­date resurselor Websi la specificarea relatiilor dintre resurse

se poate utiliza si o sintaxa XML 

rdf: model

Page 31: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Autorul resursei desemnate de URI‐ulhttp://www.infoiasi.ro/~web/ este Sabin Buraga

<rdf:RDF><rdf:Description rdf:about="http://www.infoiasi.ro/~web/">

<s:Autor>Sabin Buraga</s:Autor> </rdf:Description>

</rdf:RDF>

rdf: model – exemplu

Page 32: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Alternative sintactice:autor ("http://www.infoiasi.ro/~web/", "Sabin Buraga")

rdf: model – exemplu

Page 33: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Alternative sintactice:

este ("#Java", "#Limbaj")este ("#Sabin", "#Persoana")

utilizeaza ("#Sabin", "#iTunes")utilizeaza ("#Sabin", "http://twitter.com/")

refera ("http://twitter.com/busaco", "http://www.purl.org/net/busaco")

rdf: model – exemplu

isA sau a

Page 34: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Cuvintul englezesc “book” e tradusin limba romana prin “carte”

translatedInto ("#book", "carte")

Termenul “book” este un substantivisA ("#book", "#noun")

rdf: model – exemplu

Page 35: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un nod al grafului RDF e referit unic via un URI

doar etichetind resursele cu nume– e.g., “Companie”, “produce”, “Java”,… –

nu se garanteaza ca specificamacelasi concept (aceeasi resursa)

rdf: model

Page 36: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un nod al grafului RDF e referit unic via un URI

pot exista alte entitati care refera aceleasiconventii sintactice cu alte semantici

Java (insula) vs. Java (sortiment de cafea) vs. Java (limbaj)

rdf: model

Page 37: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un nod al grafului RDF e referit unic via un URI

folosind URI‐uri, putem fuziona (merge) grafurireferitoare la concepte comune

daca doi agenti doresc sa refere aceeasi resursa,trebuie ales un URI menit a desemna in mod unic

aceasta resursa

rdf: model

Page 38: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Un URI ofera o identificare globala a unei resurse

putem stabili – via URI – semnificatia unui termenhttp://geo.locations.info#java

urn:coffee:javahttp://programming.org/Java

in cazul grafurilor, un nod fuzioneaza cu altuldaca e referit de acelasi URI

rdf: model

Page 39: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Putem exprima URI‐urile via nume calificate(qualified names – qnames)

spatiu de nume:termen

rdf: model

constructie XML (e.g., nume de element)

Page 40: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Via nume calificate desemnam vocabulare de termeni

coffee:Javageo:Java geo:Romania geo:USA

lang:C# lang:Java lang:PHP lang:Rubys:areStatut s:este s:produce

soft:iTunes soft:Office soft:XWikixsd:integer xsd:string

rdf: model

Page 41: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf: model

Subiect Predicat Obiectcom:Apple s:produce soft:iTunes

com:Microsoft s:produce soft:Officelang:PHP s:areStatut lic:Deschissoft:Office s:areStatut lic:Comercialcom:IBM s:este s:Companielang:Java s:este s:Limbajsoft:Excel s:parteDin soft:Officepers:Sabin s:localizatIn geo:Romaniapers:Sabin s:utilizeaza soft:iTunes

Page 42: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Spatiile de nume implicite (default) pot fi omise

util daca se utilizeaza vocabularul local

:Persoana:cunoastePe:localizatIn

rdf: model

Page 43: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Meta‐datele pot fi asociate unor resurse deja definite:

<rdf:Description rdf:ID="csb"><s:Rol>prezentator la &lt;Web /&gt;</s:Rol>

</rdf:Description>...<rdf:Description rdf:about="#csb">

<s:Adresa>http://www.purl.org/net/busaco</s:Adresa></rdf:Description>

rdf: model

Vocabularde termeni

Page 44: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Colectii de resurse: bag (multi‐set), secventa, alternativa“Cartea Programarea in Web 2.0 are ca autori

pe Anca, Ciprian si Ecaterina.”<rdf:RDF>

<rdf:Description rdf:about="http://webpro20.blogspot.com/"><s:Autor><rdf:Bag>

<rdf:li rdf:resource="http://students.infoiasi.ro/~lucaa/" /> <rdf:li rdf:resource="http://www.2wit.com/" /> <rdf:li rdf:resource="http://students.infoiasi.ro/~evalica/" />

</rdf:Bag> </s:Autor>

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

rdf: model

Bag, Seq, Alt

Page 45: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea tipurilor de date intr‐un model RDFse realizeaza via proprietatea predefinita rdf:type

rdf: model

Page 46: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf: model – exemplu

Subiect Predicat Obiectcom:Adobe rdf:type s:Companie

com:Microsoft rdf:type s:Companielang:Java rdf:type s:Limbaj

geo:Romania rdf:type geo:Statpers:Ecaterina rdf:type s:Autors:utilizeaza rdf:type rdf:Propertys:parteDin rdf:type rdf:Propertyfoaf:knows rdf:type rdf:Property

Page 47: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Se pot exprima si relatii non‐binare, apelindu‐se la o resursa intermediara

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:un="http://www.schemas.org/Units/">

<rdf:Description rdf:about="urn:ISBN:0-201-00023-7"><un:price rdf:parseType="Resource">

<rdf:value>33.00</rdf:value><un:units rdf:resource="http://www.schemas.org/Units/USdollar"/>

</un:price></rdf:Description>

</rdf:RDF>

Costul cartii referite de ISBN‐ul ei este de 33 $

rdf: model

Page 48: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Reificare: declaratii despre declaratii

faptul 1: Sabin‐Corneliu Buraga este autorul resurseidesemnate de URI‐ul http://www.infoiasi.ro/~busaco/

faptul 2: Dan Cristea afirma ca Sabin‐Corneliu Buragaeste autorul resursei desemnate de 

URI‐ul http://www.infoiasi.ro/~busaco/

astfel, pot fi modelate meta‐date privitoare la meta‐date

rdf: model

Page 49: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Stabilirea modului de procesare a declaratiilorse face prin parseType

rdf: model

Page 50: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Atributul parseType="Literal" poate fi utilizatpentru ca procesorul RDF sa nu prelucreze

continutul unui anumit element

<dc:title rdf:parseType="Literal">F.Kafka: <html:strong>Procesul</html:strong></dc:title>

rdf: model

Page 51: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Atributul parseType="Resource" se folosestepentru a semnala faptul ca e vorba de o resursa

si nu de o valoare

rdf: model

Page 52: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Pentru a specifica explicit o asertiune privitoarela o alta asertiune, RDF ofera trei resurse speciale:

rdf:subjectrdf:predicate

rdf:object

explicit reification

rdf: model

Page 53: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“Wikipedia afirma faptul ca Apple produce iTunes.”

p:prop rdf:subject com:Apple ;rdf:predicate s:produce ;rdf:object soft:iTunes .

web:Wikipedia s:afirma p:prop .

rdf: model – exemplu

Page 54: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“Wikipedia afirma faptul ca Apple produce iTunes.”

p:prop rdf:subject com:Apple ;rdf:predicate s:produce ;rdf:object soft:iTunes .

web:Wikipedia s:afirma p:prop .

rdf: model – exemplu

A nu se confunda cu declaratia:

com:Apple s:produce soft:iTunes .

Page 55: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelul RDF nu este “legat” de o anumita sintaxa

Sintaxele “standard” utilizate sunt:digrafuri (reprezentari grafice)

N­tripleN3

RDF/XML

http://internetalchemy.org/2005/09/the-sixteen-faces-of-eve

rdf: serializare

Page 56: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Refera resursele via URI‐uri absolute scrise intre “<“ si “>”, in ordinea subiect‐predicat‐obiect, urmate de “.”

<http://www.infoiasi.ro/SW.rdf#Sabin><http://www.w3.org/1999/02/22-rdf-syntax-ns#type>

<http://www.infoiasi.ro/SW.rdf#Autor> .

rdf: serializare – N‐triples

a se consulta siwww.w3.org/2007/02/turtle/primer/

Page 57: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Notation 3 RDF (N3)recurge la nume calificate – qnames

@prefix s: <http://www.infoiasi.ro/SW.rdf#>@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>s:Sabin rdf:type s:Autor .

rdf: serializare – N3

uzual, specificat prin a

Page 58: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Notation 3 RDF (N3)faptul “Sabin este o persoana si‐i cunoaste pe Andrei,

Ciprian si Emanuel” se poate modela prin: 

@prefix s: <http://www.infoiasi.ro/SW.rdf#>@prefix foaf: <http://xmlns.com/foaf/0.1>s:Sabin a s:Persoana ;

foaf:knows s:Andrei ;foaf:knows s:Ciprian ;foaf:knows s:Emanuel .

rdf: serializare – N3

Page 59: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“Formatul cartii referite printr‐un ISBN este disponibilca text obisnuit, HTML sau Postscript.”

<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="urn:0-201-00023-7"><dc:format>

<rdf:Alt><rdf:li>text/html</rdf:li><rdf:li>text/plain</rdf:li><rdf:li>application/postscript</rdf:li>

</rdf:Alt></dc:format>

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

rdf: serializare – RDF/XML

Page 60: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“Formatul cartii referite printr‐un ISBN este disponibilca text obisnuit, HTML sau Postscript.”

rdf: serializare – grafuri

Page 61: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Problema:Cum reprezentam o resursa ce nu are identitate peWeb?

in unele situatii, cunoastem anumite aspecteprivitoare la “ceva”, fara a‐i sti identitatea

rdf – noduri vide

Page 62: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplu: o companie/persoana lucreaza la un produsa carui identitate ramine necunoscuta

soft:ProdusX rdf:type soft:Aplicatie ;s:areStatut lic:Deschis .

com:Google s:produce soft:ProdusX .

rdf – noduri vide

Cum procedamdaca nu‐i stimnumele?

Page 63: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Recurgem la specificarea unui nod vid(blanc node – bnode)

“Exista o aplicatie (software) produsa de Google.” 

[ rdf:type soft:Aplicatie ;s:areStatut lic:Deschis ]

un nod blanc nu are asociat un URI

rdf – noduri vide

Page 64: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Recurgem la specificarea unui nod vid(blanc node – bnode)

“Exista o aplicatie (software) produsa de Google.” 

com:Google s:produce [ rdf:type soft:Aplicatie ;

s:areStatut lic:Deschis ] .

rdf – noduri vide

Page 65: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Uzual, asertiunile RDF specifica meta‐date privitoare laaspecte care privesc caracteristicile “externe”

ale unei resurse: autor, tip, data publicarii, copyright,...

RDF poate fi util pentru descrierea resurselor “opace”(cu reprezentari in formate binare)

e.g., multimedia – fisiere audio, video,…

rdf: utilizari

Page 66: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Asocierea de vocabulare de meta‐date privind resursele:DCMI (Dublin Core Metadata Initiative)

FOAF (Friend Of A Friend)DOAP (Description Of A Project)

RDFaSKOS (Simple Knowledge Organizational System)

a se vizita http://purl.org/vocab/

rdf: utilizari

Page 67: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Vocabulare de meta‐dateDCMI – Dublin Core Metadata Initiative

proprietati pentru descrierea resurselor:<dc:Title>, <dc:Description>, <dc:Contributor>, <dc:Publisher>, 

<dc:Date>, <dc:Type>, <dc:Subject>,…

www.dublincore.org

rdf: utilizari

Page 68: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Relatii intre persoaneFOAF – Friend Of A Friend

exprima informatii despre o persoanasi relatiile acesteia cu alte persoane

suport pentru e‐comunitati (social networking)

rdf: utilizari

Page 69: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Relatii intre persoaneFOAF – Friend Of A Friend

http://rdfweb.org/

meta‐date privitoare la o persoana:<foaf:Person>, <foaf:name>, <foaf:gender>, <foaf:title>,

<foaf:mbox>, <foaf:homepage>, <foaf:weblog>,<foaf:Image>, <foaf:depiction>,...

rdf: utilizari

Page 70: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Relatii intre persoaneFOAF – Friend Of A Friend

relatia knowsnu se specifica relatii mai rafinatee.g., friendOf, collaboratorOf

specializari: http://purl.org/vocab/relationship

rdf: utilizari

Page 71: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Relatii intre persoaneFOAF – Friend Of A Friend

Exemplu:“Sabin il cunoaste pe Cristi.” 

@prefix foaf: <http://xmlns.com/foaf/0.1><#sabin> <foaf:knows> <#cristi> .

rdf: utilizari

Page 72: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf: model

Page 73: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

<foaf:Person rdf:nodeID="busaco"><foaf:name>Sabin Buraga</foaf:name><foaf:title>Dr</foaf:title><bio:keywords>...</bio:keywords><bio:event>

<bio:Birth><bio:date>1974-07-01</bio:date><bio:place>Iasi, Romania</bio:place>

</bio:Birth></bio:event>

</foaf:Person>

rdf: utilizari

FOAF + BIO

Page 74: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Relatii intre comunitati virtualeSIOC – Semantically­Interlinked Online Communitiescadru pentru interconectarea siturilor de comunitati(blog, calendar, aggregator,…) & listele de discutii(precum bulletin board, mailing list, newsgroup)

foloseste RDF, FOAF, DCMI

http://sioc­project.org/

rdf: utilizari

Page 75: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Descrierea unui proiect (software)DOAP – Description Of A Project

meta‐date privitoare la un proiect:<doap:Project>, <doap:name>, <doap:homepage>,<doap:description>, <doap:wiki>, <doap:maintainer>,

<doap:programming-language>,...

se bazeaza pe RDF si FOAFhttp://usefulinc.com/ns/doap

rdf: utilizari

Page 76: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Asocierea de meta‐date documentelor hipermediaAdobe XMP (Extensible Metadata Platform)

meta‐date “scufundate” in resursa Webutilizeaza XML si un subset al RDFbazat pe vocabulare DCMI, EXIF,...

XMP SDK disponibil gratuit (ECMAScript)

www.adobe.com/xmp

rdf: utilizari

Page 77: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea constructiilor RDF direct in XHTMLRDFa

utilizarea unor atribute XHTML specifice menite a modelainformatiile disponibile intr‐o paginaWeb in vederea

procesarii acestora de catre calculator

www.w3.org/TR/rdfa­syntaxwww.w3.org/TR/xhtml­rdfa­primer/

rdf: utilizari

Page 78: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea constructiilor RDF direct in XHTMLRDFa

specificarea relatiilor unei pagini cu alt document extern folosind atributul rel

asocierea de proprietati unor elemente XHTMLvia atributul property

specificarea de proprietati unei resurse date de aboutdesemnarea tipului unei constructii prin typeof

rdf: utilizari

Page 79: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplu: modelarea retelei sociale a unui utilizator

<div about="#me" rel="foaf:knows"><ul><li typeof="foaf:Person">

<a property="foaf:name" rel="foaf:homepage" href="...">Tux</a></li><li typeof="foaf:Person">

<a property="foaf:name" rel="foaf:homepage" href="...">Anca</a></li><li typeof="foaf:Person">

<a property="foaf:name" rel="foaf:homepage" href="...">Cip</a></li></ul><p>Created by <span property="dc:creator">WordPress</span>.</p>

</div>

rdf: utilizari

Page 80: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Despre documentul de la adresa http://www.infoiasi.ro/~busaco/se specifica următoarele fapte: 

are titlul „Situl lui Sabin”a fost vizitat de „ceva”

…care se numeşte Dragoş…şi care are situl personal la adresa http://www.adt.ro/

rdf: exemplu

Page 81: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

<rdf:Description rdf:about="http://www.infoiasi.ro/~busaco/"><viz:vizitatDe>

<rdf:Description><foaf:homepage rdf:resource="http://www.adt.ro/" /><foaf:name>Dragoş</foaf:name>

</rdf:Description></viz:vizitatDe><dc:title>Situl lui Sabin</dc:title></rdf:Description>

rdf: exemplu

RDF/XML

Page 82: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

rdf: exemplu

Ca graf…

Page 83: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

<http://www.infoiasi.ro/~busaco/> <http://purl.org/dc/elements/1.1/title> "Situl lui Sabin" .

_:blanc <http://xmlns.com/foaf/0.1/homepage> <http://www.adt.ro/> .

_:blanc <http://xmlns.com/foaf/0.1/name> "Dragoş" .<http://www.infoiasi.ro/~busaco/>

<urn:infoiasi.ro:Vizite#vizitatDe> _:blanc .

rdf: exemplu

Triple

Page 84: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

<meta about="http://www.infoiasi.ro/~busaco/"><meta property="viz:vizitatDe">

<meta property="foaf:name">Dragoş</meta><link rel="foaf:homepage" href="http://www.adt.ro/" />

</meta><meta property="dc:title">Situl lui Sabin</meta>

</meta>

rdf: exemplu

XHTML 2.0

Page 85: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Modelul RDF permite formularea de asertiuniexplicite privitoare la resursele Web

se folosesc triple (subiect, predicat, obiect)referite prin URI‐uri

concluzii

Page 86: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

RDF “helps you to create Web­like relationships between data, which is not easily donein a typical relational database.”

Microsoft Developer Network, 2006

concluzii

Page 87: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

RDF ofera premisa modelarii interconexiunilorweb‐urilor diferite existente pe Web

a se (re)vedea initiativa Linked Open Data

www.linkeddata.org

>2 miliarde de triple RDF>3 milioane de legaturi stabilite intre seturi de date

concluzii

Page 88: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Page 89: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Rezumat

BazaWeb‐ului semantic: modelul RDF

Page 90: Web03 Semantic Web: Resource Description Framework

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

?