+ All Categories
Home > Technology > Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Date post: 13-May-2015
Category:
Upload: sabin-buraga
View: 314 times
Download: 2 times
Share this document with a friend
Description:
Dezvoltarea aplicațiilor Web (5/12) — detalii la http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
130
Dr. Sabin Buragawww.purl.org/net/busaco Resource Description Framework Dezvoltarea aplicațiilor Web
Transcript
Page 1: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Resource Description Framework

Dezvoltarea aplicațiilor Web

Page 2: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

“Lucrurile au și ele viață.Totul este să le trezești sufletul.”

Gabriel García Márquez

Page 3: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Cum (re)folosim datele disponibile pe Web?

Page 4: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Am putea (re)considera Web-ulca fiind o bază de date distribuită?

Page 5: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesități

O manieră de a atașa date privitoare la date

Page 6: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesități

O manieră de a atașa date privitoare la date

crearea unor vocabulare de termenidescriind “ceva”

(proprietăți, domenii, web-uri,...) – i.e. resurse Web

Page 7: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesități

Un mod de a specifica relații între resurse

Page 8: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesități

Un mod de a specifica relații între resurse

structuri de organizare a datelorîn cadrul unui sau mai multor web-uri

Page 9: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

necesități

Un mod de a specifica relații între resurse

structuri de organizare a datelorîn cadrul unui sau mai multor web-uri

scop mai larg: modelarea cunoștințelor

Page 10: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

realități

Uzual, datele sunt reprezentate în formă tabelară(conform modelului relațional)

Page 11: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

realități

Uzual, datele sunt reprezentate în formă tabelară(conform modelului relațional)

un rând descrie un “obiect” (item) specific

o coloană reprezintă o proprietate a tuturor item-ilor

o celulă desemnează o valoare particularăa unei proprietăți asociate obiectului de interes

Page 12: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

exemplu

ID Nume Producător Statut

1 Windows Microsoft Comercial

2 OS/2 IBM N/A

3 IrfanView Irfan Freeware

4 iTunes Apple Freeware

5 Thunderbird Mozilla Open-source

6 Firefox OS Mozilla Open-source

7 Sublime Text Sublime HQ Pty Freeware

Page 13: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

fragmente de informații vor fi disponibile (liber)pe calculatoare diferite,

accesate via tehnologiile Web actuale

Page 14: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

soluția 1:

fiecare calculator stochează informațiiledespre mai multe rânduri complete dintr-un tabel

Page 15: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

exemplu

Distribuirea datelor pe Web

Care-i schema

comună?

iTunes Apple Freeware

Aperture Apple Comercial

Windows Microsoft Comercial

Office Microsoft Comercial

Firefox OS Mozilla Open-source

Page 16: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

soluția 1:

fiecare calculator stochează informațiiledespre mai multe rânduri complete dintr-un tabel

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

Page 17: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

soluția 2:

fiecare calculator este responsabilcu una/mai multe coloane complete

Page 18: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

exemplu

Distribuirea datelor pe Web

Cine referăpe cine?

Windows

OS/2

IrfanView

iTunes

Thunderbird

Firefox OS

Sublime Text

Microsoft

IBM

Apple

Mozilla

Apache

Open-source

Freeware

Shareware

Comercial

Page 19: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

solutia 2:

fiecare calculator este responsabilcu una/mai multe coloane complete

necesitatea cunoașterii identității datelor modelatee.g., fiecare resursă are asociat un identificator global

Page 20: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

soluția 3:

fiecare gazdă realizează managementulunui număr de celule dintr-un tabel

Page 21: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Nume

Rând 3 Office

Nume

Rând 9 Node.js

Statut

Rând 3 Comercial

Statut

Rând 5 Open-source

Producător

Rând 3 Microsoft

Page 22: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Nume

Rând 3 Office

Nume

Rând 9 Node.js

Statut

Rând 3 Comercial

Statut

Rând 5 Open-source

Producător

Rând 3 Microsoft

web-ul specific unei corporații

responsabil cu software-ul

privitor la termenii de utilizare

Page 23: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

soluția 3:

fiecare gazdă realizează managementulunui număr de celule dintr-un tabel

combină avantajele abordărilor precedente

Page 24: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

fiecare celulă trebuie referită de 3 valori unice:o referință globală ce desemnează un rând +o referință globală care specifică o coloană +

o referință globală reprezentând valoarea celulei

Page 25: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

motivație

Distribuirea datelor pe Web

fiecare celulă trebuie referită de 3 valori unice:o referință globală ce desemnează un rând +o referință globală care specifică o coloană +

o referință globală reprezentând valoarea celulei

ca referințe globale nu putem utiliza URI-uri?

Page 26: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

Resource Description Framework

cadru (abstract) pentru descrierea resurselorla nivelul calculatorului

fundație a Web-ului semantic

Page 27: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

Recomandare W3C

RDF Model & Syntax Specification (1999)RDF/XML Syntax Specification – Revised (2004)

www.w3.org/RDF/

Page 28: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

O soluție pentru modelarea Web-ului – sau web-urilor –ca o bază de date distribuită

Page 29: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

O soluție pentru modelarea Web-ului – sau web-urilor –ca o bază de date distribuită

deși ar fi de doritsă putem realiza mai mult…

intenție:

o bază de cunoștințe

Page 30: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

Scop:“to allow anyone to say anything about anything”

Ian Davis, 2005

Page 31: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

Oferă un model de specificare a triplelor(rând, coloană, valoare de celulă)

via identificatori uniformi de resurse – URI

proprietate (predicat)

resursă (subiect)

valoare(obiect)

URI

URIURI

Page 32: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Resursă – specificată de un URIProprietate – aspect, caracteristică, atribut sau relațieDeclarație – triplu de forma { subiect, predicat, obiect }

subiect obiectpredicat

Page 33: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Subiect = rând: resursa despre care se “spune” cevaPredicat = coloană: o proprietate a subiectului

Obiect = celulă: valoare particulară a proprietății

subiect obiectpredicat

Page 34: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

SubiectResursa – specificată de un URI – care este descrisăvia predicat și obiect

PredicatRelație – desemnată de un URI – stabilităîntre subiect și obiectPoate fi considerat și drept atribut (proprietate)

ObiectDesemnează – printr-un URI – resursa referităde un predicat sau specifică o valoare – via un literal

Page 35: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Subiect Predicat Obiect

Apache produce HadoopMozilla produce FirefoxFirefox areStatut DeschisoXygen areStatut Comercial

Canonical este CompanieJena este SoftwareJava este Limbaj

Sabin localizatIn RomaniaSabin utilizează Firefox

Dragoș cunoaștePe Sabin

un vocabular de termeni folosit în triplele RDF

Page 36: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

SubiectMozilla

Predicateste

ObiectOrganizație

Page 37: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Mai multe triple pot referi aceeași resursăle putem reprezenta sub forma de grafuri

triplu = muchie între subiect și obiect

predicat = eticheta asociată muchiei digrafului

Page 38: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

Firebug Firefoxextinde

Mozilla

produsDeproduce

Deschis

areStatut

areStatut

Hadoop

Organizație

este Apacheproduce

este

Sabinutilizează

Persoană

este

graful unui model conceptual referitor la un web:

Lucene

Page 39: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Predicatele specifică natura relațiilor ce pot fi stabilite între subiect și obiect

se pot exprima folosind vocabulare publicate pe Web,disponibile liber și referite de URI

Page 40: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Modelul RDF poate fi folosit, printre altele,la asocierea de meta-date resurselor Webși la specificarea relațiilor dintre resurse

Page 41: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

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>

serializare RDF/XML

Page 42: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

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

Page 43: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

Alternative sintactice:

este ("#java", "#Limbaj")

este ("#manuelsubredu", "#Persoana")

utilizează ("#manuelsubredu", "#firefox")

utilizează ("#manuelsubredu", "http://twitter.com/")

referă ("http://twitter.com/manuelsubredu", "http://wordpress.org")

isA sau a

Page 44: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

Termenul englezesc “book” este un substantivși are drept sinonime “volume” și “tome”

isA ("#book", "#noun")

hasSynonym ("#book", "#volume")

hasSynonym ("#book", "#tome")

Page 45: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Un nod al grafului RDF e referit unic via un URI

doar etichetând resursele cu nume– e.g., “Companie”, “produce”, “Java”,… –

nu se garantează că specificămacelași concept (aceeași resursă)

Page 46: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Un nod al grafului RDF e referit unic via un URI

pot exista alte entități care referă aceleașiconvenții sintactice cu alte semantici

Java (insulă) vs. Java (limbaj) vs. Java (sortiment de cafea)

Page 47: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Un nod al grafului RDF e referit unic via un URI

dacă doi agenți doresc să refere aceeași resursă,trebuie ales un URI menit a desemna în mod unic

această resursă

Page 48: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Un nod al grafului RDF e referit unic via un URI

pentru a desemna concepte diferite,trebuie utilizate URI-uri diferite

Page 49: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Un URI oferă o identificare globală a unei resurse

putem stabili – via URI – semnificația unui termen

http://geo.locations.info#java

http://programming-languages.org/java

http://coffee-wiki.org/wiki/java

Page 50: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Un URI oferă o identificare globală a unei resurse

în cazul grafurilor,un nod fuzionează cu altul dacă e referit de același URI

Page 51: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

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

figură preluată din (Toby Segaran, Colin Evans & Jamie Taylor, 2009)

Page 52: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Observație (Ian Davis, 2005)

adăugând alte triple– i.e. îmbogățind modelul conceptual –nu vom schimba înțelesul grafului RDF

Page 53: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Observație (Ian Davis, 2005)

triplele deja existente nu pot fi “uitate”concluziile anterioare nu vor fi invalidate

modelul RDF este monoton

Page 54: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Observație (Ian Davis, 2005)

faptele modelate nu trebuie să fie complet specificate

“missing is not broken”

Page 55: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Observație (Ian Davis, 2005)

faptele modelate nu trebuie să fie complet specificate

“înțelegerea” datelor de către softwarepoate fi realizată progresiv (partial understanding)

Page 56: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Observație (Ian Davis, 2005)

faptele modelate nu trebuie să fie complet specificate

“înțelegerea” datelor de către softwarepoate fi realizată progresiv (partial understanding)

cunoștințele pot fi modelate & accesate în mod dinamic,

conform necesităților

Page 57: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

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

spațiu de nume:termen

Page 58: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

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

spațiu de nume:termen

e.g., construcție XML(nume de element)

Page 59: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Deoarece numele calificate sunt restrictivela nivel sintactic, se recurge la CURIE

spațiu de nume:termen

http://www.w3.org/TR/curie

Page 60: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Via nume calificate desemnăm vocabulare de termeni

coffee:java coffee:molokai

geo:france geo:java geo:romania geo:uk

lang:csharp lang:java lang:php lang:ruby

s:areStatut s:este s:produce

soft:firefox soft:itunes soft:protégé soft:xwiki

xsd:boolean xsd:integer xsd:string

Page 61: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Subiect Predicat Obiect

com:Apache s:produce soft:Hadooporg:Mozilla s:produce soft:Firefoxsoft:Firefox s:areStatut lic:Deschissoft:oXygen s:areStatut lic:Comercial

com:Canonical s:este s:Companiesoft:Jena s:este s:Softwarelang:Java s:este s:Limbaj

pers:Sabin s:localizatIn geo:Romaniapers:Sabin s:utilizează soft:Firefox

pers:Dragoș pers:cunoaștePe pers:Sabin

un vocabular de termeni calificați

Page 62: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Spațiile de nume implicite (default) pot fi omise

util dacă se folosește vocabularul local

:Server

:areStatut

:localizatIn

Page 63: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Meta-datele pot fi asociate unor resurse deja definite:

<rdf:Description rdf:ID="busaco">

<s:rol>profesor la FII, UAIC</s:rol>

</rdf:Description>

...

<rdf:Description rdf:about="#busaco">

<s:adresa>http://purl.org/net/busaco</s:adresa>

</rdf:Description>

vocabularde termeni

Page 64: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Colecții de resurse: bag (multi-set), secvență, alternativă“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:areAutorPe>

<rdf:Bag> <rdf:li rdf:resource="https://github.com/lucaa" /> <rdf:li rdf:resource="http://www.2wit.com/" /> <rdf:li rdf:resource="http://profs.info.uaic.ro/~evalica/" />

</rdf:Bag> </s:areAutorPe>

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

Bag, Seq, Alt

Page 65: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Specificarea tipurilor de date într-un model RDFse realizează via proprietatea predefinită rdf:type

Page 66: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

Subiect Predicat Obiect

com:canonical rdf:type s:Companiecom:microsoft rdf:type s:Companie

lang:java rdf:type s:Limbajgeo:romania rdf:type geo:Stat

pers:murakami rdf:type s:Autors:utilizează rdf:type rdf:Propertys:parteDin rdf:type rdf:Propertyfoaf:knows rdf:type rdf:Property

Page 67: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Se pot exprima și relații non-binare, apelându-se la o resursă intermediară

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

Page 68: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Stabilirea modului de procesare a declaratiilorse face prin parseType

Page 69: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

parseType="Resource" se foloseștepentru a semnala faptul că e vorba de o resursă

și nu de o valoare

desemnatăde un URI

Page 70: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Construcția parseType="Literal" poate fi utilizatăpentru ca procesorul RDF să nu prelucreze

conținutul unui anumit element

<dc:title rdf:parseType="Literal">

Franz Kafka: <html:strong>Procesul</html:strong> (1925)

</dc:title>

Page 71: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Pentru a specifica o colecție de resurse, se recurge la parseType="Collection"

<rdf:Description rdf:about="http://games.biz/mmorpgs/WorldOfWarcraft">

<s:jucatori rdf:parseType="Collection">

<rdf:Description rdf:about="http://students.info.uaic.ro/~Ana" />

<rdf:Description rdf:about="http://failpuke.com/Bogdan" />

<rdf:Description rdf:about="http://www.undeva.org/Cristina" />

</s:jucatori>

</rdf:Description>

Page 72: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Reificare: declarații despre declarații

faptul 1: Sabin-Corneliu Buraga este autorul resurseidesemnate de URI-ul http://purl.org/net/busaco

faptul 2: Dan Cristea afirmă că Sabin-Corneliu Buragaeste autorul resursei desemnate de URI-ul http://purl.org/net/busaco

Page 73: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Reificare: declarații despre declarații

faptul 1: Sabin-Corneliu Buraga este autorul resurseidesemnate de URI-ul http://purl.org/net/busaco

faptul 2: Dan Cristea afirmă că Sabin-Corneliu Buragaeste autorul resursei desemnate de URI-ul http://purl.org/net/busaco

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

Page 74: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model

Pentru a specifica explicit o aserțiune privitoare

la o altă aserțiune, RDF oferă trei resurse speciale:

rdf:subject

rdf:predicate

rdf:object

explicit reification

Page 75: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

“Wikipedia afirmă faptul că Mozilla produce Firefox.”

p:prop rdf:subject org:Mozilla ;rdf:predicate s:produce ;rdf:object soft:Firefox .

web:Wikipedia s:afirmă p:prop .

Page 76: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: model – exemplu

“Wikipedia afirmă faptul că Mozilla produce Firefox.”

p:prop rdf:subject org:Mozilla ;rdf:predicate s:produce ;rdf:object soft:Firefox .

web:Wikipedia s:afirmă p:prop .

a nu se confunda cu declarația:

org:Mozilla s:produce soft:Firefox .

Page 77: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: serializare

Modelul RDF nu este “legat” de o anumită sintaxă

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

N-TriplesTurtle – Terse RDF Triple Language

N3 – notation 3RDF/XML

http://blog.iandavis.com/2005/09/28/the-sixteen-faces-of-eve/

Page 78: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: serializare – turtle

Resursele sunt specificate de URI-uri absolute scriseîntre “<“ si “>”, în ordinea subiect–predicat–obiect,

urmate de “.”

<http://www.personalitati.info/MirceaEliade>

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

<http://xmlns.com/foaf/0.1#Person> .

W3C Candidate Recommendation (2013)www.w3.org/TR/turtle/

Page 79: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: serializare – N3

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

www.w3.org/DesignIssues/Notation3.html

@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 .

uzual, specificat prin a

Page 80: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: serializare – N3

Notation 3 RDF (N3)faptul “Diana este o persoană și-i cunoaște pe

Alex, Bogdan și Cristina” se poate specifica prin:

@prefix s: <http://www.infoiasi.ro/vocabular.rdf#>

@prefix foaf: <http://xmlns.com/foaf/0.1>

s:diana a foaf:Person ;

foaf:knows s:alex ;

foaf:knows s:bogdan ;

foaf:knows s:cristina .

Page 81: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: serializare – RDF/XML

“Formatul cărții referite printr-un ISBN este disponibilca HTML, text obișnuit 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:ISBN: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>

alternativă de tipuri MIME

Page 82: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: serializare – grafuri

“Formatul cărții referite printr-un ISBN este disponibilca text obișnuit, HTML sau Postscript.”

Page 83: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf – noduri vide

Cum reprezentăm o resursăce nu are identitate pe Web?

în unele situații, cunoaștem anumite aspecteprivitoare la “ceva”, fără a-i ști identitatea

Page 84: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf – noduri vide

Exemplu: o companie/persoană lucrează la un produsa cărui identitate rămâne necunoscută

soft:ProdusX rdf:type soft:Aplicatie ;

s:areStatut lic:Deschis .

com:Google s:produce soft:ProdusX .

Cum procedăm dacă nu-i știm

identitatea?

Page 85: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf – noduri vide

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

“Există o aplicație (software) produs(ă) de Google.”

[ rdf:type soft:Aplicatie ;

s:areStatut lic:Deschis ]

un nod blanc nu are asociat un URI

Page 86: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf – noduri vide

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

“Există o aplicație (software) produs(ă) de Google.”

com:Google s:produce

[ rdf:type soft:Aplicatie ;

s:areStatut lic:Deschis ] .

Page 87: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Specificarea tipurilor de date în RDF(adaptare după David Robillard, 2012)

<http://example.org/CSymbol>

a rdfs:Datatype ;

rdfs:comment "A symbol in the C programming language" ;

owl:onDatatype xsd:string ;

owl:withRestrictions (

[ xsd:pattern "[_a-zA-Z][_a-zA-Z0-9]*" ]

[ xsd:maxLength 255 ]

) .

Page 88: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Specificarea tipurilor de date în RDF(adaptare după David Robillard, 2012)

<http://example.org/CSymbol>

a rdfs:Datatype ;

rdfs:comment "A symbol in the C programming language" ;

owl:onDatatype xsd:string ;

owl:withRestrictions (

[ xsd:pattern "[_a-zA-Z][_a-zA-Z0-9]*" ]

[ xsd:maxLength 255 ]

) .

folosirea vocabularelor XML Schema, RDF Schema și OWL pentru a specifica tipuri & restricții asupra datelor

nod vid

se pot utiliza restricțiileXML Schema (facets)

Page 89: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf

Recapitulând, într-un triplu RDF:

subiectul poate fi specificat de un URI sau un nod blanc

predicatul (proprietatea) este desemnat(ă) de un URI

obiectul poate fi un URI, un nod blanc sau un literal

eventual, avândspecificat un tip de dată

Page 90: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

În ce context ar putea fi utilizat practic modelul RDF?

Page 91: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări

Uzual, aserțiunile RDF specifică meta-dateprivitoare la aspecte ce privesc caracteristicile

“externe” ale unei resurse

de exemplu:autor, copyright, tag-uri asociate, data publicării, format,…

Page 92: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări

RDF poate fi util pentru:descrierea resurselor “opace”

(cu reprezentări în formate binare)

e.g., arhive, executabile, multimedia – fișiere audio, video,…

Page 93: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări

RDF poate fi folosit pentru a descrieresurse intangibile, abstracte

e.g., persoane, organizații,artefacte umane: opere de artă, software, specificații,…

Page 94: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Page 95: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

subiect

predicat(e)

obiect(e):URL-uri sau literali

Page 96: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări

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

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

RDFaSIOC (Semantically-Interlinked Online Communities)

a se vizita http://vocab.org/

Page 97: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – dcmi

Vocabulare de meta-dateDCMI – Dublin Core Metadata Initiative

proprietăți pentru descrierea resurselor:<dc:Title>, <dc:Description>, <dc:Contributor>,

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

www.dublincore.org

Page 98: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – dcmi

Vocabulare de meta-dateDCMI – Dublin Core Metadata Initiative

exemplu – preluat din DBLP Bibliography Database:

<http://dblp.l3s.de/d2r/resource/authors/Sabin_C._Buraga>

dc:creator

<http://dblp.l3s.de/d2r/resource/publications/conf/iceis/LucaB08>

Page 99: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

Relații între persoaneFOAF – Friend Of A Friend

vocabular RDF ce descrie persoane/organizații:identități, interese, afilieri, rețele sociale etc.

www.foaf-project.org

Page 100: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

Relații între persoaneFOAF – Friend Of A Friend

meta-date privitoare la o persoană:<foaf:Person>, <foaf:name>, <foaf:gender>, <foaf:title>,

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

Page 101: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

Relații între persoaneFOAF – Friend Of A Friend

relația knows

Page 102: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

Relații între persoaneFOAF – Friend Of A Friend

relația knows

nu se specifică relații mai rafinatee.g., friendOf, collaboratorOf

specializări: http://vocab.org/relationship

Page 103: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

foaf:Person

Sabin Buraga

foaf:knows

foaf:namemale

foaf:gender

adaptare după Hebeler et al., 2009

Page 104: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

Relații între persoaneFOAF – Friend Of A Friend

exemplu:“Sabin este persoană.”

<http://www.purl.org/net/busaco#me>

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

<http://xmlns.com/foaf/0.1/Person> .

Page 105: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – foaf

Relații între persoaneFOAF – Friend Of A Friend

exemplu:“Sabin îl cunoaște pe Cristi.”

@prefix foaf: <http://xmlns.com/foaf/0.1>

<#sabin> <foaf:knows> <#cristi> .

Page 106: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – exemplu de graf FOAF

Page 107: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – vocabulare multiple

@prefix id: <http://www.info.uaic.ro/~busaco/foaf.xml#>

@prefix rel: <http://purl.org/vocab/relationship/>

@prefix foaf: <http://xmlns.com/foaf/0.1>

id:me rel:childOf id:mama , id:tata ;

rel:acquaintanceOf id:adria , id:alxb , id:blankdots ;

foaf:title "Dr" ;

foaf:workplaceHomepage <http://www.info.uaic.ro/> ;

foaf:holdsAccount id:my-delicious-account,

id:my-slideshare-account ;

foaf:interest <http://www.w3.org/XML/> ,

:Art, :Literature, :Music .

Page 108: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

modelarea în RDF a programului de desfășurarea unui eveniment (utilizează DCMI, FOAF, RDF Schema)

Page 109: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

dbpedia:Vangelis rdfs:label "Vangelis"@en ;

foaf:name "Vangelis"@en ;

foaf:givenName "Evangelos Odysseas Papathanassiou"@en ;

foaf:depiction <http://upload.wikimedia.org/.../commons/...jpg> ;

rdfs:comment "Vangelis is een Grieks muzikant…"@nl ;

dbpedia-owl:hometown dbpedia:Volos ;

dbpedia-owl:wikiPageExternalLink <http://www.NemoStudios.co.uk> ,

<http://www.elsew.com> ;

dbpedia-owl:birthDate "1943-03-29"^^xsd:date ;

dbpedia-owl:genre dbpedia:Electronic_music ,

dbpedia:Progressive_rock ;

dbpprop:associatedActs dbpedia:Jon_and_Vangelis ;

dcterms:subject

category:Best_Original_Music_Score_Academy_Award_winners ,

<http://dbpedia.org/resource/Category:1943_births> ,

category:Living_people ,

category:Chevaliers_of_the_Ordre_des_Arts_et_des_Lettres .

<http://dbpedia.org/resource/Aphrodite\u0027s_Child>

dbpedia-owl:formerBandMember dbpedia:Vangelis .

date RDF despre Vangelis oferite de DBpediahttp://dbpedia.org/resource/Vangelis

Page 110: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – sioc

Relații între comunități virtualeSIOC – Semantically-Interlinked Online Communities

model conceptual menit a interconectasituri de comunități (blog, calendar, aggregator,…) și

liste de discuții: mailing list, newsgroup, canale IRC etc.

Page 111: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – sioc

Relații între comunități virtualeSIOC – Semantically-Interlinked Online Communities

recurge la RDF + alte vocabulare – e.g., DCMI

http://sioc-project.org/

Page 112: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

@prefix sioc: <http://rdfs.org/sioc/ns#>

<irc://freenode/%23swig> rdf:type sioc:Forum .

<irc://freenode/%23swig> sioc:container_of <http://iki.fi/2013-06-11#02:50:56> .

<http://iki.fi/2013-06-11#02:50:56> dc:created "2013-06-11T02:50:56Z" .

<http://iki.fi/2013-06-11#02:50:56> sioc:has_creator <irc://freenode/tux,isuser>.

<http://iki.fi/2013-06-11#02:50:56> rdf:type sioc:Post .

<http://iki.fi/2013-06-11#02:50:56> rdfs:content "Hello!".

<http://iki.fi/2013-06-11#02:50:56> rdfs:label "<tux> Hello!".

<irc://freenode/tux,isuser> rdfs:label "tux" .

<irc://freenode/tux,isuser> rdf:type sioc:User .

fragment dintr-o conversație pe IRCmodelată via SIOC și alte vocabulare

conversațiapropriu-zisă

Page 113: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – doap

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

meta-date privitoare la o aplicație

<doap:Project>, <doap:name>, <doap:homepage>,<doap:description>, <doap:wiki>, <doap:maintainer>,

<doap:programming-language>,…

Page 114: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – doap

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

se bazează pe RDF și FOAF

http://usefulinc.com/ns/doap

https://github.com/edumbill/doap/wiki

Page 115: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizari

Page 116: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – rdfa

Specificarea construcțiilor RDF direct în HTML

RDFa

reprezintă un alt format de serializare a modelului RDF

recomandare a Consorțiului Web (2008, 2012)www.w3.org/TR/rdfa-core/

Page 117: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – rdfa

Specificarea construcțiilor RDF direct în HTML

RDFa

generalizare a specificării unor modele de date exprimatevia microformate sau microdate HTML5

rdfa.info

vezi suplimentulasociat acestui curs

Page 118: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – JSON-LD

Utilizarea formatului JSON (JavaScript Object Notation)

în contextul datelor RDF interconectateconform inițiativei Linked Data

W3C Candidate Recommendation (septembrie 2013)http://www.w3.org/TR/json-ld/

http://json-ld.org/

Page 119: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – JSON-LD

Fie documentul JSON oferind date despre o persoană(eventual, obținut prin invocarea unui serviciu Web)

{"id": "busaco","name": "Sabin Buraga","title: { "en": "PhD", "ro": "Doctor" },"workHomepage": "http://www.info.uaic.ro/","knows": [

{ "id": "adria", "name": "Lenuța Alboaie" },{ "id": "blankdots", "name": "Ștefan Negru" }

]}

adaptare după Markus Lanthaler (2012)

de dorit: adnotări

semantice

Page 120: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – JSON-LD

Asocierea de adnotări semantice pe baza construcțiilor@id @value @type @set @list @language @context @graph

{"@id": "busaco","name": "Sabin Buraga","title: [ { "@language": "en", "@value": "PhD" },

{ "@language": "ro", "@value": "Doctor" } ], "workHomepage": "http://www.info.uaic.ro/","knows": [

{ "@id": "adria", "name": "Lenuța Alboaie" },{ "@id": "blankdots", "name": "Ștefan Negru" }

]}

adaptare după Markus Lanthaler (2012)

Page 121: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

rdf: utilizări – JSON-LD

Contextul (vocabularul de termeni) este referitîn cadrul documentului sau via un URL extern

{"@context": {

"foaf": "http://xmlns.com/foaf/0.1/","name" : "foaf:name", "title" : "foaf:title", "workHomepage": {

"@id" : "foaf:workplaceHomepage" , "@type" : "@id"

},"knows": "foaf:knows"

}} adaptare după Markus Lanthaler (2012)

asocieri (mappings) de termeni

Page 122: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

un model RDF exprimat în JSON-LD al unei rețeteexemplul complet e disponibil la http://json-ld.org/playground

{

"@context": { … },

"@graph": [

{ "@id": "_:b0",

"ingredient": [ "12 fresh mint leaves", "1/2 lime, juiced with pulp",

"1 tablespoons white sugar", "1 cup ice cubes",

"2 fluid ounces white rum", "1/2 cup club soda" ],

"instructions": [ { "@id": "_:b1" }, { "@id": "_:b2" },

{ "@id": "_:b3" }, { "@id": "_:b4" }, { "@id": "_:b5" } ],

"name": "Mojito",

"yield": "1 cocktail"

},

{ "@id": "_:b1", "description": "Crush lime juice, mint & sugar together...", "step": 1 },

{ "@id": "_:b2", "description": "Fill glass to top with ice cubes.", "step": 2 },

{ "@id": "_:b3", "description": "Pour white rum over ice.", "step": 3 },

{ "@id": "_:b4", "description": "Fill the rest of glass with club soda, stir.", "step": 4 },

{ "@id": "_:b5", "description": "Garnish with a lime wedge.", "step": 5 }

]

}

aserțiuni despre graful RDF rezultat

Page 123: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

concluzii

Modelul RDF permite formularea de aserțiuniexplicite privitoare la resursele Web

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

Page 124: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

s:Jucători a rdf:Bag ;

rdf:_1 pers:Ana ;

rdf:_2 pers:Dan .

gm:Niveluri a rdf:Seq ;

rdf:_1 gm:NivelAn1Sem1 ;

rdf:_2 gm:NivelAn1Sem2 ;

rdf:_3 gm:NivelAn2Sem1 .

soft:AngryProfs s:jucatDe s:Jucători .

soft:AngryProfs s:areNiveluri gm:Niveluri .

pers:Ana gm:joacă soft:AngryProfs .

pers:Cristina rel:friendOf pers:Ana .

pers:Dan e:attendeeAt <http://potop.info> .

pers:Dan foaf:title "Bachelor of Science" .

AAA

datele nu trebuie să fie specificate complet

Page 125: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

concluzii

RDF “helps you to create Web-like relationships between data, which is not easily done

in a typical relational database.”

Microsoft Developer Network, 2006

Page 126: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

concluzii

RDF oferă premisa modelării interconexiunilorweb-urilor diferite existente pe Web

a se (re)vedea inițiativa Linked Data

http://linkeddata.org/guides-and-tutorials

Page 127: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

Page 128: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busacorecurgând la RDF,

pot fi definite și utilizate diverse modele conceptuale

Page 129: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busacorezumat

baza Web-ului semantic: modelul de date RDF

mulțumiri: @bblfish, @danja, @gridinoc, @iand, @kidehen, @lucaa, @mfhepp

Page 130: Dezvoltarea aplicațiilor Web (5/12): Modelul RDF (Resource Description Framework)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busaco

episodul viitor: managementul datelor RDF

ProcesorSPARQL

HTML

bază

de daterelațională

RD

B↔

RD

F

bază

de date(e.g.,

NoSQL)

pu

nct

term

inal

SPA

RQ

L

triple store p

un

ctte

rmin

al S

PAR

QL

Aplicație

teh

nic

i NL

P

text nestructurat

XML/XHTML

graf RDF


Recommended