SlideShare a Scribd company logo
1 of 130
Download to read offline
Resource Description Framework

Dr. Sabin Buragawww.purl.org/net/busaco

Dezvoltarea aplicațiilor Web
Gabriel García Márquez

Dr. Sabin Buragawww.purl.org/net/busaco

“Lucrurile au și ele viață.
Totul este să le trezești sufletul.”
Dr. Sabin Buragawww.purl.org/net/busaco

Cum (re)folosim datele disponibile pe Web?
Dr. Sabin Buragawww.purl.org/net/busaco

Am putea (re)considera Web-ul
ca fiind o bază de date distribuită?
O manieră de a atașa date privitoare la date

Dr. Sabin Buragawww.purl.org/net/busaco

necesități
O manieră de a atașa date privitoare la date

Dr. Sabin Buragawww.purl.org/net/busaco

necesități

crearea unor vocabulare de termeni
descriind “ceva”
(proprietăți, domenii, web-uri,...) – i.e. resurse Web
Un mod de a specifica relații între resurse

Dr. Sabin Buraga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

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

realități
ID
1
2
3
4
5
6
7

Nume
Windows
OS/2
IrfanView
iTunes
Thunderbird
Firefox OS
Sublime Text

Producător
Microsoft
IBM
Irfan
Apple
Mozilla
Mozilla
Sublime HQ Pty

Statut
Comercial
N/A
Freeware
Freeware
Open-source
Open-source
Freeware

Dr. Sabin Buragawww.purl.org/net/busaco

exemplu
Distribuirea datelor pe Web
fragmente de informații vor fi disponibile (liber)
pe calculatoare diferite,
accesate via tehnologiile Web actuale

Dr. Sabin Buragawww.purl.org/net/busaco

motivație
Distribuirea datelor pe Web
soluția 1:

Dr. Sabin Buragawww.purl.org/net/busaco

motivație

fiecare calculator stochează informațiile
despre mai multe rânduri complete dintr-un tabel
Distribuirea datelor pe Web



iTunes
Apple
Aperture Apple
Firefox OS Mozilla

Care-i schema
comună?



Freeware
Comercial
Open-source

Windows Microsoft Comercial
Office
Microsoft Comercial

Dr. Sabin Buragawww.purl.org/net/busaco

exemplu


Distribuirea datelor pe Web
soluția 1:

Dr. Sabin Buragawww.purl.org/net/busaco

motivație

fiecare calculator stochează informațiile
despre mai multe rânduri complete dintr-un tabel
necesitatea unui mecanism de coordonare între servere
e.g., partajarea schemei comune folosite
Distribuirea datelor pe Web
soluția 2:

fiecare calculator este responsabil
cu una/mai multe coloane complete

Dr. Sabin Buragawww.purl.org/net/busaco

motivație
Distribuirea datelor pe Web



Windows
OS/2
IrfanView
iTunes
Thunderbird
Firefox OS
Sublime Text



Microsoft
IBM
Apple
Mozilla
Apache



Dr. Sabin Buragawww.purl.org/net/busaco

exemplu

Open-source
Freeware
Shareware
Comercial

Cine referă
pe cine?
Distribuirea datelor pe Web
solutia 2:

fiecare calculator este responsabil
cu una/mai multe coloane complete
necesitatea cunoașterii identității datelor modelate
e.g., fiecare resursă are asociat un identificator global

Dr. Sabin Buragawww.purl.org/net/busaco

motivație
Distribuirea datelor pe Web
soluția 3:

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

Dr. Sabin Buragawww.purl.org/net/busaco

motivație
Rând 3

Office
Rând 3

Nume
Rând 9

Statut
Comercial

Node.js
Rând 5



Statut
Open-source

Producător

Rând 3

Microsoft

Dr. Sabin Buragawww.purl.org/net/busaco



Nume




Nume
Rând 3

Office

Rând 3

Nume
Rând 9

privitor la termenii de utilizare
Statut
Comercial

Node.js
Rând 5



Statut
Open-source

Producător

Rând 3

Microsoft

web-ul specific unei corporații

Dr. Sabin Buragawww.purl.org/net/busaco

responsabil cu software-ul


Distribuirea datelor pe Web
soluția 3:

fiecare gazdă realizează managementul
unui număr de celule dintr-un tabel
combină avantajele abordărilor precedente

Dr. Sabin Buraga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

Dr. Sabin Buraga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?

Dr. Sabin Buragawww.purl.org/net/busaco

motivație
Resource Description Framework
cadru (abstract) pentru descrierea resurselor
la nivelul calculatorului
fundație a Web-ului semantic

Dr. Sabin Buragawww.purl.org/net/busaco

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

www.w3.org/RDF/

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buraga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 dorit
să putem realiza mai mult…

intenție:

o bază de cunoștințe

Dr. Sabin Buragawww.purl.org/net/busaco

rdf
Dr. Sabin Buragawww.purl.org/net/busaco

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

Ian Davis, 2005
Oferă un model de specificare a triplelor
(rând, coloană, valoare de celulă)
via identificatori uniformi de resurse – URI
proprietate
(predicat)
resursă
(subiect)

URI

URI

valoare
(obiect)

URI

Dr. Sabin Buragawww.purl.org/net/busaco

rdf
Resursă – specificată de un URI
Proprietate – aspect, caracteristică, atribut sau relație
Declarație – triplu de forma { subiect, predicat, obiect }

subiect

predicat

obiect

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Subiect = rând: resursa despre care se “spune” ceva
Predicat = coloană: o proprietate a subiectului
Obiect = celulă: valoare particulară a proprietății

subiect

predicat

obiect

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Subiect
Resursa – specificată de un URI – care este descrisă
via predicat și obiect

Predicat
Relație – desemnată de un URI – stabilită
între subiect și obiect
Poate fi considerat și drept atribut (proprietate)

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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
un vocabular de termeni folosit în triplele RDF

Dr. Sabin Buragawww.purl.org/net/busaco

Subiect
Predicat
Obiect
Apache
produce
Hadoop
Mozilla
produce
Firefox
Firefox
areStatut
Deschis
oXygen
areStatut Comercial
Canonical
este
Companie
Jena
este
Software
Java
este
Limbaj
Sabin
localizatIn Romania
Sabin
utilizează
Firefox
Dragoș
cunoaștePe
Sabin
Predicat
este
Subiect
Mozilla

Obiect
Organizație

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
graful unui model conceptual referitor la un web:

Firebug

extinde
produsDe

utilizează

Firefox
areStatut

Organizație

este

Persoană

produce

Deschis

Mozilla
este

Sabin

areStatut
este

Apache
produce

Hadoop

Lucene

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model – exemplu
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

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Autorul resursei desemnate de URI-ul
http://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

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model – exemplu
Alternative sintactice:
isA sau a
este ("#java", "#Limbaj")
este ("#manuelsubredu", "#Persoana")
utilizează ("#manuelsubredu", "#firefox")
utilizează ("#manuelsubredu", "http://twitter.com/")
referă ("http://twitter.com/manuelsubredu", "http://wordpress.org")

Dr. Sabin Buraga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")

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model – exemplu
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ăm
același concept (aceeași resursă)

Dr. Sabin Buraga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și
convenții sintactice cu alte semantici

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model

Java (insulă) vs. Java (limbaj) vs. Java (sortiment de cafea)
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ă

Dr. Sabin Buraga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

Dr. Sabin Buraga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

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Dr. Sabin Buragawww.purl.org/net/busaco

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

figură preluată din (Toby Segaran, Colin Evans & Jamie Taylor, 2009)
Observație (Ian Davis, 2005)
adăugând alte triple
– i.e. îmbogățind modelul conceptual –
nu vom schimba înțelesul grafului RDF

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Observație (Ian Davis, 2005)
faptele modelate nu trebuie să fie complet specificate
“missing is not broken”

Dr. Sabin Buraga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 software
poate fi realizată progresiv (partial understanding)

Dr. Sabin Buraga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 software
poate fi realizată progresiv (partial understanding)

cunoștințele pot fi modelate & accesate în mod dinamic,
conform necesităților

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Putem exprima URI-urile via nume calificate
(qualified names – qnames)
spațiu de nume:termen

Dr. Sabin Buraga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)

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Deoarece numele calificate sunt restrictive
la nivel sintactic, se recurge la CURIE
spațiu de nume:termen

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

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
un vocabular de termeni calificați

Dr. Sabin Buragawww.purl.org/net/busaco

Subiect
Predicat
Obiect
com:Apache
s:produce
soft:Hadoop
org:Mozilla
s:produce
soft:Firefox
soft:Firefox
s:areStatut
lic:Deschis
soft:oXygen
s:areStatut
lic:Comercial
com:Canonical
s:este
s:Companie
soft:Jena
s:este
s:Software
lang:Java
s:este
s:Limbaj
pers:Sabin
s:localizatIn
geo:Romania
pers:Sabin
s:utilizează
soft:Firefox
pers:Dragoș pers:cunoaștePe pers:Sabin
Spațiile de nume implicite (default) pot fi omise
util dacă se folosește vocabularul local

:Server
:areStatut
:localizatIn

Dr. Sabin Buraga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>
vocabular
</rdf:Description>
de termeni
...
<rdf:Description rdf:about="#busaco">
<s:adresa>http://purl.org/net/busaco</s:adresa>
</rdf:Description>

Dr. Sabin Buraga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>
Bag, Seq, Alt
</rdf:Description>
</rdf:RDF>

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Subiect
com:canonical
com:microsoft
lang:java
geo:romania
pers:murakami
s:utilizează
s:parteDin
foaf:knows

Predicat
rdf:type
rdf:type
rdf:type
rdf:type
rdf:type
rdf:type
rdf:type
rdf:type

Obiect
s:Companie
s:Companie
s:Limbaj
geo:Stat
s:Autor
rdf:Property
rdf:Property
rdf:Property

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model – exemplu
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 $

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Stabilirea modului de procesare a declaratiilor
se face prin parseType

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
parseType="Resource" se folosește
pentru a semnala faptul că e vorba de o resursă
și nu de o valoare
desemnată
de un URI

Dr. Sabin Buraga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>

Dr. Sabin Buragawww.purl.org/net/busaco

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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model

<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>
Reificare: declarații despre declarații
faptul 1: Sabin-Corneliu Buraga este autorul resursei
desemnate de URI-ul http://purl.org/net/busaco
faptul 2: Dan Cristea afirmă că Sabin-Corneliu Buraga
este autorul resursei desemnate de
URI-ul http://purl.org/net/busaco

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
Reificare: declarații despre declarații
faptul 1: Sabin-Corneliu Buraga este autorul resursei
desemnate de URI-ul http://purl.org/net/busaco
faptul 2: Dan Cristea afirmă că Sabin-Corneliu Buraga
este autorul resursei desemnate de
URI-ul http://purl.org/net/busaco
astfel, pot fi modelate meta-date privitoare la meta-date

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model
“Wikipedia afirmă faptul că Mozilla produce Firefox.”
p:prop

rdf:subject
rdf:predicate
rdf:object
web:Wikipedia s:afirmă

org:Mozilla ;
s:produce ;
soft:Firefox .
p:prop .

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model – exemplu
“Wikipedia afirmă faptul că Mozilla produce Firefox.”
p:prop

rdf:subject
rdf:predicate
rdf:object
web:Wikipedia s:afirmă

org:Mozilla ;
s:produce ;
soft:Firefox .
p:prop .

a nu se confunda cu declarația:
org:Mozilla

s:produce

soft:Firefox .

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: model – exemplu
Modelul RDF nu este “legat” de o anumită sintaxă
sintaxele “standard” utilizate sunt:
digrafuri (reprezentari grafice)
N-Triples
Turtle – Terse RDF Triple Language
N3 – notation 3
RDF/XML
http://blog.iandavis.com/2005/09/28/the-sixteen-faces-of-eve/

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: serializare
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/

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: serializare – turtle
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

Dr. Sabin Buraga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 .

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: serializare – N3
“Formatul cărții referite printr-un ISBN este disponibil
ca 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>
alternativă de
<rdf:Alt>
tipuri MIME
<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>

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: serializare – RDF/XML
“Formatul cărții referite printr-un ISBN este disponibil
ca text obișnuit, HTML sau Postscript.”

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: serializare – grafuri
Cum reprezentăm o resursă
ce nu are identitate pe Web?
în unele situații, cunoaștem anumite aspecte
privitoare la “ceva”, fără a-i ști identitatea

Dr. Sabin Buragawww.purl.org/net/busaco

rdf – noduri vide
Exemplu: o companie/persoană lucrează la un produs
a cărui identitate rămâne necunoscută
soft:ProdusX

com:Google

rdf:type
soft:Aplicatie ;
s:areStatut lic:Deschis .
s:produce soft:ProdusX .
Cum procedăm
dacă nu-i știm
identitatea?

Dr. Sabin Buraga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

Dr. Sabin Buraga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 ] .

Dr. Sabin Buragawww.purl.org/net/busaco

rdf – noduri vide
<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 ]
).

Dr. Sabin Buraga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 (
nod vid
[ xsd:pattern "[_a-zA-Z][_a-zA-Z0-9]*" ]
[ xsd:maxLength 255 ]
).
se pot utiliza restricțiile
XML Schema (facets)

Dr. Sabin Buragawww.purl.org/net/busaco

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

folosirea vocabularelor XML Schema, RDF Schema și OWL
pentru a specifica tipuri & restricții asupra datelor
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ând
specificat un tip de dată

Dr. Sabin Buragawww.purl.org/net/busaco

rdf
Dr. Sabin Buragawww.purl.org/net/busaco

În ce context ar putea fi utilizat practic
modelul RDF?
Uzual, aserțiunile RDF specifică meta-date
privitoare la aspecte ce privesc caracteristicile
“externe” ale unei resurse

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări

de exemplu:
autor, copyright, tag-uri asociate, data publicării, format,…
RDF poate fi util pentru:
descrierea resurselor “opace”
(cu reprezentări în formate binare)

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări

e.g., arhive, executabile, multimedia – fișiere audio, video,…
RDF poate fi folosit pentru a descrie
resurse intangibile, abstracte

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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări
Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco

subiect

obiect(e):
predicat(e)

URL-uri sau literali
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)
RDFa
SIOC (Semantically-Interlinked Online Communities)
…
a se vizita http://vocab.org/

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări
Vocabulare de meta-date
DCMI – 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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – dcmi
Vocabulare de meta-date
DCMI – 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>

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – dcmi
Relații între persoane
FOAF – Friend Of A Friend
vocabular RDF ce descrie persoane/organizații:
identități, interese, afilieri, rețele sociale etc.

www.foaf-project.org

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
Relații între persoane
FOAF – 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>,...

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
Relații între persoane
FOAF – Friend Of A Friend
relația knows

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
Relații între persoane
FOAF – Friend Of A Friend
relația knows
nu se specifică relații mai rafinate
e.g., friendOf, collaboratorOf
specializări: http://vocab.org/relationship

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
foaf:knows

foaf:Person
Sabin Buraga

foaf:name

foaf:gender

adaptare după Hebeler et al., 2009

male

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
Relații între persoane
FOAF – 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> .

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
Relații între persoane
FOAF – Friend Of A Friend
exemplu:
“Sabin îl cunoaște pe Cristi.”
@prefix foaf: <http://xmlns.com/foaf/0.1>
<#sabin> <foaf:knows> <#cristi> .

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – foaf
Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – exemplu de graf FOAF
Dr. Sabin Buraga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 .
Dr. Sabin Buragawww.purl.org/net/busaco

modelarea în RDF a programului de desfășurare
a unui eveniment (utilizează DCMI, FOAF, RDF Schema)
Dr. Sabin Buraga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/Aphroditeu0027s_Child>
dbpedia-owl:formerBandMember
dbpedia:Vangelis .

date RDF despre Vangelis oferite de DBpedia
http://dbpedia.org/resource/Vangelis
Relații între comunități virtuale
SIOC – Semantically-Interlinked Online Communities
model conceptual menit a interconecta
situri de comunități (blog, calendar, aggregator,…) și
liste de discuții: mailing list, newsgroup, canale IRC etc.

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – sioc
Relații între comunități virtuale
SIOC – Semantically-Interlinked Online Communities
recurge la RDF + alte vocabulare – e.g., DCMI

http://sioc-project.org/

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – sioc
fragment dintr-o conversație pe IRC
modelată via SIOC și alte vocabulare

Dr. Sabin Buraga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 .
conversația
propriu-zisă
<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 .
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>,…

Dr. Sabin Buraga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

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – doap
Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizari
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/

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – rdfa
Specificarea construcțiilor RDF direct în HTML

RDFa

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – rdfa

generalizare a specificării unor modele de date exprimate
via microformate sau microdate HTML5
rdfa.info
vezi suplimentul
asociat acestui curs
Utilizarea formatului JSON
(JavaScript Object Notation)
în contextul datelor RDF interconectate
conform inițiativei Linked Data
W3C Candidate Recommendation (septembrie 2013)
http://www.w3.org/TR/json-ld/
http://json-ld.org/

Dr. Sabin Buraga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" }
]

de dorit:
adnotări
semantice

adaptare după Markus Lanthaler (2012)

Dr. Sabin Buraga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)

Dr. Sabin Buraga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",
asocieri (mappings)
"title" : "foaf:title",
de termeni
"workHomepage": {
"@id" : "foaf:workplaceHomepage" ,
"@type" : "@id"
},
"knows": "foaf:knows"
}
adaptare după Markus Lanthaler (2012)
}

Dr. Sabin Buragawww.purl.org/net/busaco

rdf: utilizări – JSON-LD
aserțiuni despre
"@context": { … },
graful RDF rezultat
"@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 }
]

}

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

Dr. Sabin Buragawww.purl.org/net/busaco

{
Modelul RDF permite formularea de aserțiuni
explicite privitoare la resursele Web

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

Dr. Sabin Buragawww.purl.org/net/busaco

concluzii
gm:Niveluri

soft:AngryProfs
soft:AngryProfs
pers:Ana
pers:Cristina
pers:Dan
pers:Dan

a
rdf:_1
rdf:_2
a
rdf:_1
rdf:_2
rdf:_3
s:jucatDe
s:areNiveluri
gm:joacă
rel:friendOf
e:attendeeAt
foaf:title

rdf:Bag ;
pers:Ana ;
pers:Dan .
rdf:Seq ;
gm:NivelAn1Sem1 ;
gm:NivelAn1Sem2 ;
gm:NivelAn2Sem1 .
s:Jucători .
gm:Niveluri .
soft:AngryProfs .
pers:Ana .
<http://potop.info> .
"Bachelor of Science" .

datele nu trebuie să fie specificate complet

Dr. Sabin Buragawww.purl.org/net/busaco

s:Jucători

AAA
RDF “helps you to create Web-like relationships
between data, which is not easily done
in a typical relational database.”
Microsoft Developer Network, 2006

Dr. Sabin Buragawww.purl.org/net/busaco

concluzii
RDF oferă premisa modelării interconexiunilor
web-urilor diferite existente pe Web
a se (re)vedea inițiativa Linked Data
http://linkeddata.org/guides-and-tutorials

Dr. Sabin Buragawww.purl.org/net/busaco

concluzii
Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco

recurgând la RDF,
pot fi definite și utilizate
diverse modele conceptuale
baza Web-ului semantic: modelul de date RDF

Dr. Sabin Buragawww.purl.org/net/busaco

rezumat

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


HTML



RDB↔RDF





Dr. Sabin Buragawww.purl.org/net/busaco

punct terminal SPARQL

Procesor
SPARQL

tehnici NLP

triple
store

punct terminal SPARQL



Aplicație

bază
de date
(e.g.,
NoSQL)



bază
de date
relațională

text nestructurat XML/XHTML

episodul viitor: managementul datelor RDF

More Related Content

What's hot

Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Sabin Buraga
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneSabin Buraga
 
WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs
WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa ConstructsWADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs
WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa ConstructsSabin Buraga
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
WADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFa
WADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFaWADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFa
WADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFaSabin Buraga
 
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleWeb 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleSabin Buraga
 
WADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
WADe 2017-2018 (1/12) Web Application Development: Concepts & VisionWADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
WADe 2017-2018 (1/12) Web Application Development: Concepts & VisionSabin Buraga
 
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluCLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluSabin Buraga
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...Sabin Buraga
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 

What's hot (20)

Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor c...
 
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziuneWADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
WADe 2014—2015 (01/12): Dezvoltarea de aplicaţii Web: Concepte & viziune
 
WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs
WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa ConstructsWADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs
WADe 2017-2018 Tutorial (3/3): Data Modeling in HTML by Using RDFa Constructs
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
WADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFa
WADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFaWADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFa
WADe 2014—2015 (supliment): Modelarea datelor în HTML: aserţiuni RDFa
 
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleWeb 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
 
WADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
WADe 2017-2018 (1/12) Web Application Development: Concepts & VisionWADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
WADe 2017-2018 (1/12) Web Application Development: Concepts & Vision
 
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansambluCLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
CLIW 2015-2016 (5/13) Vizualizarea datelor – o privire de ansamblu
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 

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

WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...Sabin Buraga
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebSabin Buraga
 
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Sabin Buraga
 
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Sabin Buraga
 
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...Sabin Buraga
 
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Sabin Buraga
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Sabin Buraga
 
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelorDezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelorSabin Buraga
 
WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...
WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...
WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTSabin Buraga
 
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...Sabin Buraga
 
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...Sabin Buraga
 
Web 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma RESTWeb 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma RESTSabin Buraga
 
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataWADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataSabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...Sabin Buraga
 
De câte stele sunt datele d-voastră?
De câte stele sunt datele d-voastră?De câte stele sunt datele d-voastră?
De câte stele sunt datele d-voastră?Sabin Buraga
 
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...Sabin Buraga
 

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

WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
WADe 2014—2015 (08/12): Semantic Web—Modelarea taxonomiilor şi lexicoanelor c...
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
 
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
Dezvoltarea aplicațiilor Web (11/12): Inginerie ontologică: Management de cun...
 
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RD...
 
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
Dezvoltarea aplicațiilor Web (7/12): Arhitectura aplicaţilor RDF. Linked Open...
 
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
WADe 2014—2015 (04/12): Aspecte privind modelarea datelor şi cunoştinţelor la...
 
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
Web 2016 (07/13) Modelarea datelor. Extragerea datelor cu XPath. Validări XML...
 
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
Dezvoltarea aplicațiilor Web (3/12): Arhitectura aplicaţiilor Web orientate s...
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
 
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
 
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelorDezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
Dezvoltarea aplicațiilor Web (4/12): Aspecte privind modelarea cunoştinţelor
 
WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...
WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...
WADe 2017-2018 (10/12) Specifying Ontologies via OWL 2. Description Logics. R...
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
 
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
CLIW 2014—2015 (4/12): Design Web. Proiectarea siturilor Web. Design Web resp...
 
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
CLIW 2017-2018 (3/12) (Re)găsirea resurselor Web. De la motoare de căutare şi...
 
Web 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma RESTWeb 2016 (11/13) Servicii Web. Paradigma REST
Web 2016 (11/13) Servicii Web. Paradigma REST
 
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataWADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #13): Performanţa apl...
 
De câte stele sunt datele d-voastră?
De câte stele sunt datele d-voastră?De câte stele sunt datele d-voastră?
De câte stele sunt datele d-voastră?
 
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
WADe 2014—2015 (06/12): Semantic Web—Managementul datelor RDF. Interogarea da...
 

More from Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)Sabin Buraga
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)Sabin Buraga
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSabin Buraga
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...Sabin Buraga
 
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesHCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesSabin Buraga
 
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignHCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignSabin Buraga
 
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowHCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowSabin Buraga
 

More from Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
 
Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)Sabin Buraga: Dezvoltator Web?! (2019)
Sabin Buraga: Dezvoltator Web?! (2019)
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
 
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesHCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
 
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignHCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
 
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowHCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
 

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

  • 1. Resource Description Framework Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web
  • 2. Gabriel García Márquez Dr. Sabin Buragawww.purl.org/net/busaco “Lucrurile au și ele viață. Totul este să le trezești sufletul.”
  • 3. Dr. Sabin Buragawww.purl.org/net/busaco Cum (re)folosim datele disponibile pe Web?
  • 4. Dr. Sabin Buragawww.purl.org/net/busaco Am putea (re)considera Web-ul ca fiind o bază de date distribuită?
  • 5. O manieră de a atașa date privitoare la date Dr. Sabin Buragawww.purl.org/net/busaco necesități
  • 6. O manieră de a atașa date privitoare la date Dr. Sabin Buragawww.purl.org/net/busaco necesități crearea unor vocabulare de termeni descriind “ceva” (proprietăți, domenii, web-uri,...) – i.e. resurse Web
  • 7. Un mod de a specifica relații între resurse Dr. Sabin Buragawww.purl.org/net/busaco necesități
  • 8. Un mod de a specifica relații între resurse structuri de organizare a datelor în cadrul unui sau mai multor web-uri Dr. Sabin Buragawww.purl.org/net/busaco necesități
  • 9. 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 Dr. Sabin Buragawww.purl.org/net/busaco necesități
  • 10. Uzual, datele sunt reprezentate în formă tabelară (conform modelului relațional) Dr. Sabin Buragawww.purl.org/net/busaco realități
  • 11. 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 Dr. Sabin Buragawww.purl.org/net/busaco realități
  • 12. ID 1 2 3 4 5 6 7 Nume Windows OS/2 IrfanView iTunes Thunderbird Firefox OS Sublime Text Producător Microsoft IBM Irfan Apple Mozilla Mozilla Sublime HQ Pty Statut Comercial N/A Freeware Freeware Open-source Open-source Freeware Dr. Sabin Buragawww.purl.org/net/busaco exemplu
  • 13. Distribuirea datelor pe Web fragmente de informații vor fi disponibile (liber) pe calculatoare diferite, accesate via tehnologiile Web actuale Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 14. Distribuirea datelor pe Web soluția 1: Dr. Sabin Buragawww.purl.org/net/busaco motivație fiecare calculator stochează informațiile despre mai multe rânduri complete dintr-un tabel
  • 15. Distribuirea datelor pe Web  iTunes Apple Aperture Apple Firefox OS Mozilla Care-i schema comună?  Freeware Comercial Open-source Windows Microsoft Comercial Office Microsoft Comercial Dr. Sabin Buragawww.purl.org/net/busaco exemplu 
  • 16. Distribuirea datelor pe Web soluția 1: Dr. Sabin Buragawww.purl.org/net/busaco motivație fiecare calculator stochează informațiile despre mai multe rânduri complete dintr-un tabel necesitatea unui mecanism de coordonare între servere e.g., partajarea schemei comune folosite
  • 17. Distribuirea datelor pe Web soluția 2: fiecare calculator este responsabil cu una/mai multe coloane complete Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 18. Distribuirea datelor pe Web  Windows OS/2 IrfanView iTunes Thunderbird Firefox OS Sublime Text  Microsoft IBM Apple Mozilla Apache  Dr. Sabin Buragawww.purl.org/net/busaco exemplu Open-source Freeware Shareware Comercial Cine referă pe cine?
  • 19. Distribuirea datelor pe Web solutia 2: fiecare calculator este responsabil cu una/mai multe coloane complete necesitatea cunoașterii identității datelor modelate e.g., fiecare resursă are asociat un identificator global Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 20. Distribuirea datelor pe Web soluția 3: fiecare gazdă realizează managementul unui număr de celule dintr-un tabel Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 21. Rând 3 Office Rând 3 Nume Rând 9 Statut Comercial Node.js Rând 5  Statut Open-source Producător Rând 3 Microsoft Dr. Sabin Buragawww.purl.org/net/busaco  Nume 
  • 22.  Nume Rând 3 Office Rând 3 Nume Rând 9 privitor la termenii de utilizare Statut Comercial Node.js Rând 5  Statut Open-source Producător Rând 3 Microsoft web-ul specific unei corporații Dr. Sabin Buragawww.purl.org/net/busaco responsabil cu software-ul 
  • 23. Distribuirea datelor pe Web soluția 3: fiecare gazdă realizează managementul unui număr de celule dintr-un tabel combină avantajele abordărilor precedente Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 24. 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 Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 25. 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? Dr. Sabin Buragawww.purl.org/net/busaco motivație
  • 26. Resource Description Framework cadru (abstract) pentru descrierea resurselor la nivelul calculatorului fundație a Web-ului semantic Dr. Sabin Buragawww.purl.org/net/busaco rdf
  • 27. Recomandare W3C RDF Model & Syntax Specification (1999) RDF/XML Syntax Specification – Revised (2004) www.w3.org/RDF/ Dr. Sabin Buragawww.purl.org/net/busaco rdf
  • 28. O soluție pentru modelarea Web-ului – sau web-urilor – ca o bază de date distribuită Dr. Sabin Buragawww.purl.org/net/busaco rdf
  • 29. O soluție pentru modelarea Web-ului – sau web-urilor – ca o bază de date distribuită deși ar fi de dorit să putem realiza mai mult… intenție: o bază de cunoștințe Dr. Sabin Buragawww.purl.org/net/busaco rdf
  • 30. Dr. Sabin Buragawww.purl.org/net/busaco rdf Scop: “to allow anyone to say anything about anything” Ian Davis, 2005
  • 31. Oferă un model de specificare a triplelor (rând, coloană, valoare de celulă) via identificatori uniformi de resurse – URI proprietate (predicat) resursă (subiect) URI URI valoare (obiect) URI Dr. Sabin Buragawww.purl.org/net/busaco rdf
  • 32. Resursă – specificată de un URI Proprietate – aspect, caracteristică, atribut sau relație Declarație – triplu de forma { subiect, predicat, obiect } subiect predicat obiect Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 33. Subiect = rând: resursa despre care se “spune” ceva Predicat = coloană: o proprietate a subiectului Obiect = celulă: valoare particulară a proprietății subiect predicat obiect Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 34. Subiect Resursa – specificată de un URI – care este descrisă via predicat și obiect Predicat Relație – desemnată de un URI – stabilită între subiect și obiect Poate fi considerat și drept atribut (proprietate) Obiect Desemnează – printr-un URI – resursa referită de un predicat sau specifică o valoare – via un literal Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 35. un vocabular de termeni folosit în triplele RDF Dr. Sabin Buragawww.purl.org/net/busaco Subiect Predicat Obiect Apache produce Hadoop Mozilla produce Firefox Firefox areStatut Deschis oXygen areStatut Comercial Canonical este Companie Jena este Software Java este Limbaj Sabin localizatIn Romania Sabin utilizează Firefox Dragoș cunoaștePe Sabin
  • 37. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 38. graful unui model conceptual referitor la un web: Firebug extinde produsDe utilizează Firefox areStatut Organizație este Persoană produce Deschis Mozilla este Sabin areStatut este Apache produce Hadoop Lucene Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 39. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 40. Modelul RDF poate fi folosit, printre altele, la asocierea de meta-date resurselor Web și la specificarea relațiilor dintre resurse Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 41. Autorul resursei desemnate de URI-ul http://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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 42. Alternative sintactice: autor ("http://www.infoiasi.ro/~web/", "Sabin Buraga") Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 43. Alternative sintactice: isA sau a este ("#java", "#Limbaj") este ("#manuelsubredu", "#Persoana") utilizează ("#manuelsubredu", "#firefox") utilizează ("#manuelsubredu", "http://twitter.com/") referă ("http://twitter.com/manuelsubredu", "http://wordpress.org") Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 44. Termenul englezesc “book” este un substantiv și are drept sinonime “volume” și “tome” isA ("#book", "#noun") hasSynonym ("#book", "#volume") hasSynonym ("#book", "#tome") Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 45. 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ăm același concept (aceeași resursă) Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 46. Un nod al grafului RDF e referit unic via un URI pot exista alte entități care referă aceleași convenții sintactice cu alte semantici Dr. Sabin Buragawww.purl.org/net/busaco rdf: model Java (insulă) vs. Java (limbaj) vs. Java (sortiment de cafea)
  • 47. 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ă Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 48. Un nod al grafului RDF e referit unic via un URI pentru a desemna concepte diferite, trebuie utilizate URI-uri diferite Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 49. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 50. Un URI oferă o identificare globală a unei resurse în cazul grafurilor, un nod fuzionează cu altul dacă e referit de același URI Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 51. Dr. Sabin Buragawww.purl.org/net/busaco folosind URI-uri, putem fuziona (merge) grafuri referitoare la concepte comune figură preluată din (Toby Segaran, Colin Evans & Jamie Taylor, 2009)
  • 52. Observație (Ian Davis, 2005) adăugând alte triple – i.e. îmbogățind modelul conceptual – nu vom schimba înțelesul grafului RDF Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 53. Observație (Ian Davis, 2005) triplele deja existente nu pot fi “uitate” concluziile anterioare nu vor fi invalidate modelul RDF este monoton Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 54. Observație (Ian Davis, 2005) faptele modelate nu trebuie să fie complet specificate “missing is not broken” Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 55. Observație (Ian Davis, 2005) faptele modelate nu trebuie să fie complet specificate “înțelegerea” datelor de către software poate fi realizată progresiv (partial understanding) Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 56. Observație (Ian Davis, 2005) faptele modelate nu trebuie să fie complet specificate “înțelegerea” datelor de către software poate fi realizată progresiv (partial understanding)  cunoștințele pot fi modelate & accesate în mod dinamic, conform necesităților Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 57. Putem exprima URI-urile via nume calificate (qualified names – qnames) spațiu de nume:termen Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 58. Putem exprima URI-urile via nume calificate (qualified names – qnames) spațiu de nume:termen e.g., construcție XML (nume de element) Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 59. Deoarece numele calificate sunt restrictive la nivel sintactic, se recurge la CURIE spațiu de nume:termen http://www.w3.org/TR/curie Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 60. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 61. un vocabular de termeni calificați Dr. Sabin Buragawww.purl.org/net/busaco Subiect Predicat Obiect com:Apache s:produce soft:Hadoop org:Mozilla s:produce soft:Firefox soft:Firefox s:areStatut lic:Deschis soft:oXygen s:areStatut lic:Comercial com:Canonical s:este s:Companie soft:Jena s:este s:Software lang:Java s:este s:Limbaj pers:Sabin s:localizatIn geo:Romania pers:Sabin s:utilizează soft:Firefox pers:Dragoș pers:cunoaștePe pers:Sabin
  • 62. Spațiile de nume implicite (default) pot fi omise util dacă se folosește vocabularul local :Server :areStatut :localizatIn Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 63. Meta-datele pot fi asociate unor resurse deja definite: <rdf:Description rdf:ID="busaco"> <s:rol>profesor la FII, UAIC</s:rol> vocabular </rdf:Description> de termeni ... <rdf:Description rdf:about="#busaco"> <s:adresa>http://purl.org/net/busaco</s:adresa> </rdf:Description> Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 64. 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> Bag, Seq, Alt </rdf:Description> </rdf:RDF> Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 65. Specificarea tipurilor de date într-un model RDF se realizează via proprietatea predefinită rdf:type Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 67. 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 $ Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 68. Stabilirea modului de procesare a declaratiilor se face prin parseType Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 69. parseType="Resource" se folosește pentru a semnala faptul că e vorba de o resursă și nu de o valoare desemnată de un URI Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 70. 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> Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 71. Pentru a specifica o colecție de resurse, se recurge la parseType="Collection" Dr. Sabin Buragawww.purl.org/net/busaco rdf: model <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>
  • 72. Reificare: declarații despre declarații faptul 1: Sabin-Corneliu Buraga este autorul resursei desemnate de URI-ul http://purl.org/net/busaco faptul 2: Dan Cristea afirmă că Sabin-Corneliu Buraga este autorul resursei desemnate de URI-ul http://purl.org/net/busaco Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 73. Reificare: declarații despre declarații faptul 1: Sabin-Corneliu Buraga este autorul resursei desemnate de URI-ul http://purl.org/net/busaco faptul 2: Dan Cristea afirmă că Sabin-Corneliu Buraga este autorul resursei desemnate de URI-ul http://purl.org/net/busaco astfel, pot fi modelate meta-date privitoare la meta-date Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 74. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: model
  • 75. “Wikipedia afirmă faptul că Mozilla produce Firefox.” p:prop rdf:subject rdf:predicate rdf:object web:Wikipedia s:afirmă org:Mozilla ; s:produce ; soft:Firefox . p:prop . Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 76. “Wikipedia afirmă faptul că Mozilla produce Firefox.” p:prop rdf:subject rdf:predicate rdf:object web:Wikipedia s:afirmă org:Mozilla ; s:produce ; soft:Firefox . p:prop . a nu se confunda cu declarația: org:Mozilla s:produce soft:Firefox . Dr. Sabin Buragawww.purl.org/net/busaco rdf: model – exemplu
  • 77. Modelul RDF nu este “legat” de o anumită sintaxă sintaxele “standard” utilizate sunt: digrafuri (reprezentari grafice) N-Triples Turtle – Terse RDF Triple Language N3 – notation 3 RDF/XML http://blog.iandavis.com/2005/09/28/the-sixteen-faces-of-eve/ Dr. Sabin Buragawww.purl.org/net/busaco rdf: serializare
  • 78. 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/ Dr. Sabin Buragawww.purl.org/net/busaco rdf: serializare – turtle
  • 79. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: serializare – N3
  • 80. 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 . Dr. Sabin Buragawww.purl.org/net/busaco rdf: serializare – N3
  • 81. “Formatul cărții referite printr-un ISBN este disponibil ca 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> alternativă de <rdf:Alt> tipuri MIME <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> Dr. Sabin Buragawww.purl.org/net/busaco rdf: serializare – RDF/XML
  • 82. “Formatul cărții referite printr-un ISBN este disponibil ca text obișnuit, HTML sau Postscript.” Dr. Sabin Buragawww.purl.org/net/busaco rdf: serializare – grafuri
  • 83. Cum reprezentăm o resursă ce nu are identitate pe Web? în unele situații, cunoaștem anumite aspecte privitoare la “ceva”, fără a-i ști identitatea Dr. Sabin Buragawww.purl.org/net/busaco rdf – noduri vide
  • 84. Exemplu: o companie/persoană lucrează la un produs a cărui identitate rămâne necunoscută soft:ProdusX com:Google rdf:type soft:Aplicatie ; s:areStatut lic:Deschis . s:produce soft:ProdusX . Cum procedăm dacă nu-i știm identitatea? Dr. Sabin Buragawww.purl.org/net/busaco rdf – noduri vide
  • 85. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf – noduri vide
  • 86. 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 ] . Dr. Sabin Buragawww.purl.org/net/busaco rdf – noduri vide
  • 87. <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 ] ). Dr. Sabin Buragawww.purl.org/net/busaco Specificarea tipurilor de date în RDF (adaptare după David Robillard, 2012)
  • 88. <http://example.org/CSymbol> a rdfs:Datatype ; rdfs:comment "A symbol in the C programming language" ; owl:onDatatype xsd:string ; owl:withRestrictions ( nod vid [ xsd:pattern "[_a-zA-Z][_a-zA-Z0-9]*" ] [ xsd:maxLength 255 ] ). se pot utiliza restricțiile XML Schema (facets) Dr. Sabin Buragawww.purl.org/net/busaco Specificarea tipurilor de date în RDF (adaptare după David Robillard, 2012) folosirea vocabularelor XML Schema, RDF Schema și OWL pentru a specifica tipuri & restricții asupra datelor
  • 89. 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ând specificat un tip de dată Dr. Sabin Buragawww.purl.org/net/busaco rdf
  • 90. Dr. Sabin Buragawww.purl.org/net/busaco În ce context ar putea fi utilizat practic modelul RDF?
  • 91. Uzual, aserțiunile RDF specifică meta-date privitoare la aspecte ce privesc caracteristicile “externe” ale unei resurse Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări de exemplu: autor, copyright, tag-uri asociate, data publicării, format,…
  • 92. RDF poate fi util pentru: descrierea resurselor “opace” (cu reprezentări în formate binare) Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări e.g., arhive, executabile, multimedia – fișiere audio, video,…
  • 93. RDF poate fi folosit pentru a descrie resurse intangibile, abstracte e.g., persoane, organizații, artefacte umane: opere de artă, software, specificații,… Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări
  • 96. 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) RDFa SIOC (Semantically-Interlinked Online Communities) … a se vizita http://vocab.org/ Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări
  • 97. Vocabulare de meta-date DCMI – 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – dcmi
  • 98. Vocabulare de meta-date DCMI – 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> Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – dcmi
  • 99. Relații între persoane FOAF – Friend Of A Friend vocabular RDF ce descrie persoane/organizații: identități, interese, afilieri, rețele sociale etc. www.foaf-project.org Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 100. Relații între persoane FOAF – 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>,... Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 101. Relații între persoane FOAF – Friend Of A Friend relația knows Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 102. Relații între persoane FOAF – Friend Of A Friend relația knows nu se specifică relații mai rafinate e.g., friendOf, collaboratorOf specializări: http://vocab.org/relationship Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 103. foaf:knows foaf:Person Sabin Buraga foaf:name foaf:gender adaptare după Hebeler et al., 2009 male Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 104. Relații între persoane FOAF – 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> . Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 105. Relații între persoane FOAF – Friend Of A Friend exemplu: “Sabin îl cunoaște pe Cristi.” @prefix foaf: <http://xmlns.com/foaf/0.1> <#sabin> <foaf:knows> <#cristi> . Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – foaf
  • 106. Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – exemplu de graf FOAF
  • 107. Dr. Sabin Buraga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 .
  • 108. Dr. Sabin Buragawww.purl.org/net/busaco modelarea în RDF a programului de desfășurare a unui eveniment (utilizează DCMI, FOAF, RDF Schema)
  • 109. Dr. Sabin Buraga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/Aphroditeu0027s_Child> dbpedia-owl:formerBandMember dbpedia:Vangelis . date RDF despre Vangelis oferite de DBpedia http://dbpedia.org/resource/Vangelis
  • 110. Relații între comunități virtuale SIOC – Semantically-Interlinked Online Communities model conceptual menit a interconecta situri de comunități (blog, calendar, aggregator,…) și liste de discuții: mailing list, newsgroup, canale IRC etc. Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – sioc
  • 111. Relații între comunități virtuale SIOC – Semantically-Interlinked Online Communities recurge la RDF + alte vocabulare – e.g., DCMI http://sioc-project.org/ Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – sioc
  • 112. fragment dintr-o conversație pe IRC modelată via SIOC și alte vocabulare Dr. Sabin Buraga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 . conversația propriu-zisă <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 .
  • 113. 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>,… Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – doap
  • 114. 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 Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – doap
  • 116. 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/ Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – rdfa
  • 117. Specificarea construcțiilor RDF direct în HTML RDFa Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – rdfa generalizare a specificării unor modele de date exprimate via microformate sau microdate HTML5 rdfa.info vezi suplimentul asociat acestui curs
  • 118. Utilizarea formatului JSON (JavaScript Object Notation) în contextul datelor RDF interconectate conform inițiativei Linked Data W3C Candidate Recommendation (septembrie 2013) http://www.w3.org/TR/json-ld/ http://json-ld.org/ Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – JSON-LD
  • 119. 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" } ] de dorit: adnotări semantice adaptare după Markus Lanthaler (2012) Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – JSON-LD
  • 120. 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) Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – JSON-LD
  • 121. 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", asocieri (mappings) "title" : "foaf:title", de termeni "workHomepage": { "@id" : "foaf:workplaceHomepage" , "@type" : "@id" }, "knows": "foaf:knows" } adaptare după Markus Lanthaler (2012) } Dr. Sabin Buragawww.purl.org/net/busaco rdf: utilizări – JSON-LD
  • 122. aserțiuni despre "@context": { … }, graful RDF rezultat "@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 } ] } un model RDF exprimat în JSON-LD al unei rețete exemplul complet e disponibil la http://json-ld.org/playground Dr. Sabin Buragawww.purl.org/net/busaco {
  • 123. Modelul RDF permite formularea de aserțiuni explicite privitoare la resursele Web se folosesc triple (subiect, predicat, obiect) referite prin URI-uri Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  • 124. gm:Niveluri soft:AngryProfs soft:AngryProfs pers:Ana pers:Cristina pers:Dan pers:Dan a rdf:_1 rdf:_2 a rdf:_1 rdf:_2 rdf:_3 s:jucatDe s:areNiveluri gm:joacă rel:friendOf e:attendeeAt foaf:title rdf:Bag ; pers:Ana ; pers:Dan . rdf:Seq ; gm:NivelAn1Sem1 ; gm:NivelAn1Sem2 ; gm:NivelAn2Sem1 . s:Jucători . gm:Niveluri . soft:AngryProfs . pers:Ana . <http://potop.info> . "Bachelor of Science" . datele nu trebuie să fie specificate complet Dr. Sabin Buragawww.purl.org/net/busaco s:Jucători AAA
  • 125. RDF “helps you to create Web-like relationships between data, which is not easily done in a typical relational database.” Microsoft Developer Network, 2006 Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  • 126. RDF oferă premisa modelării interconexiunilor web-urilor diferite existente pe Web a se (re)vedea inițiativa Linked Data http://linkeddata.org/guides-and-tutorials Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  • 128. Dr. Sabin Buragawww.purl.org/net/busaco recurgând la RDF, pot fi definite și utilizate diverse modele conceptuale
  • 129. baza Web-ului semantic: modelul de date RDF Dr. Sabin Buragawww.purl.org/net/busaco rezumat mulțumiri: @bblfish, @danja, @gridinoc, @iand, @kidehen, @lucaa, @mfhepp
  • 130. graf RDF  HTML  RDB↔RDF   Dr. Sabin Buragawww.purl.org/net/busaco punct terminal SPARQL Procesor SPARQL tehnici NLP triple store punct terminal SPARQL  Aplicație bază de date (e.g., NoSQL)  bază de date relațională text nestructurat XML/XHTML episodul viitor: managementul datelor RDF