1. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
Web semantic
Dr. SabinCorneliu Buraga
Facultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
3. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
“Lucrurile au si ele viata.
Totul este sa le trezesti sufletul.”
Gabriel García Márquez
Dr. Sabin Buraga http://www.purl.org/net/busaco
4. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
intrebari
Cum (re)folosim datele distribuite pe Web?
Dr. Sabin Buraga http://www.purl.org/net/busaco
5. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
necesitati
O maniera de a atasa date privitoare la date
creare de vocabulare de termeni descriind “ceva”
(proprietati, domenii, lumi,...) – resurse Web
Dr. Sabin Buraga http://www.purl.org/net/busaco
6. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
necesitati
Un mod de a specifica relatii intre resurse
structuri de organizare a datelor
in cadrul unui sau mai multor web‐uri
Dr. Sabin Buraga http://www.purl.org/net/busaco
7. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
realitati
Uzual, datele sunt reprezentate in forma tabelara
modelul relational
un rand descrie un “obiect” (item) specific
o coloana reprezinta o proprietate a tuturor item‐ilor
o celula desemneaza o valoare particulara
a unei proprietati asociate obiectului de interes
Dr. Sabin Buraga http://www.purl.org/net/busaco
9. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
fragmente de informatii vor fi disponibile
pe calculatoare diferite,
accesate via tehnologiile Web actuale
Dr. Sabin Buraga http://www.purl.org/net/busaco
10. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 1:
fiecare calculator mentine informatiile
despre mai multe randuri complete dintr‐un tabel
Dr. Sabin Buraga http://www.purl.org/net/busaco
11. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
exemplu
Distribuirea datelor pe Web
Care‐i schema
comuna?
Dr. Sabin Buraga http://www.purl.org/net/busaco
12. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 1:
fiecare calculator mentine informatiile
despre mai multe randuri complete dintr‐un tabel
necesitatea unui mecanism de coordonare intre servere
e.g., partajarea schemei comune folosite
Dr. Sabin Buraga http://www.purl.org/net/busaco
13. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 2:
fiecare calculator e responsabil cu una/mai multe coloane
complete din cadrul tabelului
Dr. Sabin Buraga http://www.purl.org/net/busaco
14. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
exemplu
Distribuirea datelor pe Web
Cine refera
pe cine?
Dr. Sabin Buraga http://www.purl.org/net/busaco
15. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 2:
fiecare calculator e responsabil cu una/mai multe coloane
complete din cadrul tabelului
necesitatea cunoasterii identitatii datelor modelate
e.g., fiecare resursa are asociat un identificator global
Dr. Sabin Buraga http://www.purl.org/net/busaco
16. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 3:
fiecare masina realizeaza managementul
unui numar de celule dintr‐un tabel
Dr. Sabin Buraga http://www.purl.org/net/busaco
18. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 3:
fiecare masina realizeaza managementul
unui numar de celule dintr‐un tabel
combina avantajele abordarilor precedente
Dr. Sabin Buraga http://www.purl.org/net/busaco
19. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
motivatie
Distribuirea datelor pe Web
solutia 3:
fiecare masina realizeaza managementul
unui numar de celule dintr‐un tabel
fiecare celula trebuie referita de 3 valori unice:
o referinta globala ce desemneaza un rand +
o referinta globala ce desemneaza o coloana +
o referinta globala ce specifica valoarea celulei
Dr. Sabin Buraga http://www.purl.org/net/busaco
20. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf
Resource Description Framework
cadru (abstract) pentru descrierea resurselor
la nivelul calculatorului
fundatie a Web‐ului semantic
Dr. Sabin Buraga http://www.purl.org/net/busaco
21. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf
Recomandare W3C
RDF Model & Syntax Specification (1999)
RDF/XML Syntax Specification – Revised (2004)
http://www.w3.org/RDF
Dr. Sabin Buraga http://www.purl.org/net/busaco
22. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf
Ofera modalitatile de specificare a triplelor
(rand, coloana, valoare de celula)
via identificatori uniformi de resurse – URI
URI
URI
URI
Dr. Sabin Buraga http://www.purl.org/net/busaco
23. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Resursa – specificata de URI‐uri
Proprietate – aspect, caracteristica, atribut sau relatie
Declaratie – triplu de forma { subiect, predicat, obiect }
Dr. Sabin Buraga http://www.purl.org/net/busaco
24. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Subiect = rand (resursa despre care se “spune” ceva)
Predicat = coloana (o proprietate a subiectului)
Obiect = celula (valoare particulara a proprietatii)
Dr. Sabin Buraga http://www.purl.org/net/busaco
25. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Subiect
Resursa – specificata de un URI – care este descrisa
via predicat si obiect
Predicat
Relatie – desemnata de un URI – stabilita
intre subiect si obiect
Poate fi considerat si drept atribut (proprietate)
Obiect
Desemneaza resursa referita de un predicat
sau specifica o valoare
Dr. Sabin Buraga http://www.purl.org/net/busaco
26. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
Subiect Predicat Obiect
Apple produce iTunes
Microsoft produce Office
Vocabular de termeni
PHP areStatut Deschis
Office areStatut Comercial
IBM este Companie
Microsoft este Companie
Java este Limbaj
Excel parteDin Office
Sabin localizatIn Romania
Sabin utilizeaza iTunes
Dr. Sabin Buraga http://www.purl.org/net/busaco
27. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Atunci cand mai multe triple refera aceeasi resursa,
le putem reprezenta sub forma de grafuri
triplu = muchie intre subiect si obiect
predicat = eticheta asociata muchiei digrafului
Dr. Sabin Buraga http://www.purl.org/net/busaco
28. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
Graful unui model conceptual referitor la un web:
utilizeaza
Sabin
parteDin
este
Excel Office
Persoana
areStatut
produsDe
produce
Comercial
Microsoft
areStatut
este
Apple
este Mac OS X
produce
Companie
Dr. Sabin Buraga http://www.purl.org/net/busaco
29. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Predicatele specifica natura relatiilor ce pot fi
stabilite intre subiect si obiect
se pot exprima folosind vocabulare publicate pe Web,
ce sunt disponibile liber si sunt referite de URI
Dr. Sabin Buraga http://www.purl.org/net/busaco
30. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Modelul pus la dispozitie poate fi folosit
la asocierea de metadate resurselor Web
si la specificarea relatiilor dintre resurse
se poate utiliza si o sintaxa XML
Dr. Sabin Buraga http://www.purl.org/net/busaco
31. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
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>
Dr. Sabin Buraga http://www.purl.org/net/busaco
32. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
Alternative sintactice:
autor (http://www.infoiasi.ro/~web/, Sabin Buraga)
Dr. Sabin Buraga http://www.purl.org/net/busaco
33. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
Alternative sintactice:
isA sau a
este (#Java, #Limbaj)
este (#Sabin, #Persoana)
utilizeaza (#Sabin, #iTunes)
utilizeaza (#Sabin, http://twitter.com/)
refera (http://twitter.com/busaco, http://www.purl.org/net/busaco)
Dr. Sabin Buraga http://www.purl.org/net/busaco
34. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
Cuvintul englezesc “book” e tradus
in limba romana prin “carte”
translatedInto (#book, carte)
Termenul “book” este un substantiv
isA (#book, #noun)
Dr. Sabin Buraga http://www.purl.org/net/busaco
35. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Un nod al grafului RDF e referit unic via un URI
doar etichetind resursele cu nume
– e.g., “Companie”, “produce”, “Java”,… –
nu se garanteaza ca specificam
acelasi concept (aceeasi resursa)
Dr. Sabin Buraga http://www.purl.org/net/busaco
36. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Un nod al grafului RDF e referit unic via un URI
pot exista alte entitati care refera aceleasi
conventii sintactice cu alte semantici
Java (insula) vs. Java (sortiment de cafea) vs. Java (limbaj)
Dr. Sabin Buraga http://www.purl.org/net/busaco
37. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Un nod al grafului RDF e referit unic via un URI
folosind URI‐uri, putem fuziona (merge) grafuri
referitoare la concepte comune
daca doi agenti doresc sa refere aceeasi resursa,
trebuie ales un URI menit a desemna in mod unic
aceasta resursa
Dr. Sabin Buraga http://www.purl.org/net/busaco
38. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Un URI ofera o identificare globala a unei resurse
putem stabili – via URI – semnificatia unui termen
http://geo.locations.info#java
urn:coffee:java
http://programming.org/Java
in cazul grafurilor, un nod fuzioneaza cu altul
daca e referit de acelasi URI
Dr. Sabin Buraga http://www.purl.org/net/busaco
39. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Putem exprima URI‐urile via nume calificate
(qualified names – qnames)
spatiu de nume:termen
constructie XML
(e.g., nume de
element)
Dr. Sabin Buraga http://www.purl.org/net/busaco
40. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Via nume calificate desemnam vocabulare de termeni
coffee:Java
geo:Java geo:Romania geo:USA
lang:C# lang:Java lang:PHP lang:Ruby
s:areStatut s:este s:produce
soft:iTunes soft:Office soft:XWiki
xsd:integer xsd:string
Dr. Sabin Buraga http://www.purl.org/net/busaco
42. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Spatiile de nume implicite (default) pot fi omise
util daca se utilizeaza vocabularul local
:Persoana
:cunoastePe
:localizatIn
Dr. Sabin Buraga http://www.purl.org/net/busaco
43. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Meta‐datele pot fi asociate unor resurse deja definite:
<rdf:Description rdf:ID=csb>
<s:Rol>prezentator la <Web /></s:Rol>
</rdf:Description> Vocabular
de termeni
...
<rdf:Description rdf:about=#csb>
<s:Adresa>http://www.purl.org/net/busaco</s:Adresa>
</rdf:Description>
Dr. Sabin Buraga http://www.purl.org/net/busaco
44. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Colectii de resurse: bag (multi‐set), secventa, alternativa
“Cartea Programarea in Web 2.0 are ca autori
pe Anca, Ciprian si Ecaterina.”
<rdf:RDF>
<rdf:Description rdf:about=http://webpro20.blogspot.com/>
<s:Autor>
<rdf:Bag>
<rdf:li rdf:resource=http://students.infoiasi.ro/~lucaa/ />
<rdf:li rdf:resource=http://www.2wit.com/ />
<rdf:li rdf:resource=http://students.infoiasi.ro/~evalica/ />
</rdf:Bag>
</s:Autor> Bag, Seq, Alt
</rdf:Description>
</rdf:RDF>
Dr. Sabin Buraga http://www.purl.org/net/busaco
45. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Specificarea tipurilor de date intr‐un model RDF
se realizeaza via proprietatea predefinita rdf:type
Dr. Sabin Buraga http://www.purl.org/net/busaco
47. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Se pot exprima si relatii non‐binare,
apelindu‐se la o resursa intermediara
<rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:un=http://www.schemas.org/Units/>
<rdf:Description rdf:about=urn:ISBN:0-201-00023-7>
<un:price rdf:parseType=Resource>
<rdf:value>33.00</rdf:value>
<un:units rdf:resource=http://www.schemas.org/Units/USdollar/>
</un:price>
</rdf:Description>
</rdf:RDF>
Costul cartii referite de ISBN‐ul ei este de 33 $
Dr. Sabin Buraga http://www.purl.org/net/busaco
48. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Reificare: declaratii despre declaratii
faptul 1: Sabin‐Corneliu Buraga este autorul resursei
desemnate de URI‐ul http://www.infoiasi.ro/~busaco/
faptul 2: Dan Cristea afirma ca Sabin‐Corneliu Buraga
este autorul resursei desemnate de
URI‐ul http://www.infoiasi.ro/~busaco/
astfel, pot fi modelate meta‐date privitoare la meta‐date
Dr. Sabin Buraga http://www.purl.org/net/busaco
49. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Stabilirea modului de procesare a declaratiilor
se face prin parseType
Dr. Sabin Buraga http://www.purl.org/net/busaco
50. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Atributul parseType=Literal poate fi utilizat
pentru ca procesorul RDF sa nu prelucreze
continutul unui anumit element
<dc:title rdf:parseType=Literal>
F.Kafka: <html:strong>Procesul</html:strong>
</dc:title>
Dr. Sabin Buraga http://www.purl.org/net/busaco
51. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Atributul parseType=Resource se foloseste
pentru a semnala faptul ca e vorba de o resursa
si nu de o valoare
Dr. Sabin Buraga http://www.purl.org/net/busaco
52. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model
Pentru a specifica explicit o asertiune privitoare
la o alta asertiune, RDF ofera trei resurse speciale:
rdf:subject
rdf:predicate
rdf:object
explicit reification
Dr. Sabin Buraga http://www.purl.org/net/busaco
53. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
“Wikipedia afirma faptul ca Apple produce iTunes.”
p:prop rdf:subject com:Apple ;
rdf:predicate s:produce ;
rdf:object soft:iTunes .
web:Wikipedia s:afirma p:prop .
Dr. Sabin Buraga http://www.purl.org/net/busaco
54. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: model – exemplu
“Wikipedia afirma faptul ca Apple produce iTunes.”
p:prop rdf:subject com:Apple ;
rdf:predicate s:produce ;
rdf:object soft:iTunes .
web:Wikipedia s:afirma p:prop .
A nu se confunda cu declaratia:
com:Apple s:produce soft:iTunes .
Dr. Sabin Buraga http://www.purl.org/net/busaco
55. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: serializare
Modelul RDF nu este “legat” de o anumita sintaxa
Sintaxele “standard” utilizate sunt:
digrafuri (reprezentari grafice)
Ntriple
N3
RDF/XML
http://internetalchemy.org/2005/09/the-sixteen-faces-of-eve
Dr. Sabin Buraga http://www.purl.org/net/busaco
56. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: serializare – N‐triples
Refera resursele via URI‐uri absolute scrise intre “<“ si “>”,
in ordinea subiect‐predicat‐obiect, urmate de “.”
<http://www.infoiasi.ro/SW.rdf#Sabin>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://www.infoiasi.ro/SW.rdf#Autor> .
a se consulta si www.w3.org/2007/02/turtle/primer/
Dr. Sabin Buraga http://www.purl.org/net/busaco
57. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: serializare – N3
Notation 3 RDF (N3)
recurge la nume calificate – qnames
@prefix s: <http://www.infoiasi.ro/SW.rdf#>
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
s:Sabin rdf:type s:Autor .
uzual, specificat prin a
Dr. Sabin Buraga http://www.purl.org/net/busaco
58. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: serializare – N3
Notation 3 RDF (N3)
faptul “Sabin este o persoana si‐i cunoaste pe Andrei,
Ciprian si Emanuel” se poate modela prin:
@prefix s: <http://www.infoiasi.ro/SW.rdf#>
@prefix foaf: <http://xmlns.com/foaf/0.1>
s:Sabin a s:Persoana ;
foaf:knows s:Andrei ;
foaf:knows s:Ciprian ;
foaf:knows s:Emanuel .
Dr. Sabin Buraga http://www.purl.org/net/busaco
59. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: serializare – RDF/XML
“Formatul cartii referite printr‐un ISBN este disponibil
ca text obisnuit, HTML sau Postscript.”
<rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:dc=http://purl.org/dc/elements/1.1/>
<rdf:Description rdf:about=urn:0-201-00023-7>
<dc:format>
<rdf:Alt>
<rdf:li>text/html</rdf:li>
<rdf:li>text/plain</rdf:li>
<rdf:li>application/postscript</rdf:li>
</rdf:Alt>
</dc:format>
</rdf:Description>
</rdf:RDF>
Dr. Sabin Buraga http://www.purl.org/net/busaco
60. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: serializare – grafuri
“Formatul cartii referite printr‐un ISBN este disponibil
ca text obisnuit, HTML sau Postscript.”
Dr. Sabin Buraga http://www.purl.org/net/busaco
61. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf – noduri vide
Problema:
Cum reprezentam o resursa ce nu are identitate pe Web?
in unele situatii, cunoastem anumite aspecte
privitoare la “ceva”, fara a‐i sti identitatea
Dr. Sabin Buraga http://www.purl.org/net/busaco
62. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf – noduri vide
Exemplu: o companie/persoana lucreaza la un produs
a carui identitate ramine necunoscuta
soft:ProdusX rdf:type soft:Aplicatie ;
s:areStatut lic:Deschis .
com:Google s:produce soft:ProdusX .
Cum procedam
daca nu‐i stim
numele?
Dr. Sabin Buraga http://www.purl.org/net/busaco
63. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf – noduri vide
Recurgem la specificarea unui nod vid
(blanc node – bnode)
“Exista o aplicatie (software) produsa de Google.”
[ rdf:type soft:Aplicatie ;
s:areStatut lic:Deschis ]
un nod blanc nu are asociat un URI
Dr. Sabin Buraga http://www.purl.org/net/busaco
64. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf – noduri vide
Recurgem la specificarea unui nod vid
(blanc node – bnode)
“Exista o aplicatie (software) produsa de Google.”
com:Google s:produce
[ rdf:type soft:Aplicatie ;
s:areStatut lic:Deschis ] .
Dr. Sabin Buraga http://www.purl.org/net/busaco
65. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Uzual, asertiunile RDF specifica meta‐date privitoare la
aspecte care privesc caracteristicile “externe”
ale unei resurse: autor, tip, data publicarii, copyright,...
RDF poate fi util pentru descrierea resurselor “opace”
(cu reprezentari in formate binare)
e.g., multimedia – fisiere audio, video,…
Dr. Sabin Buraga http://www.purl.org/net/busaco
66. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Asocierea de vocabulare de meta‐date privind resursele:
DCMI (Dublin Core Metadata Initiative)
FOAF (Friend Of A Friend)
DOAP (Description Of A Project)
RDFa
SKOS (Simple Knowledge Organizational System)
…
a se vizita http://purl.org/vocab/
Dr. Sabin Buraga http://www.purl.org/net/busaco
67. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Vocabulare de meta‐date
DCMI – Dublin Core Metadata Initiative
proprietati pentru descrierea resurselor:
<dc:Title>, <dc:Description>, <dc:Contributor>, <dc:Publisher>,
<dc:Date>, <dc:Type>, <dc:Subject>,…
www.dublincore.org
Dr. Sabin Buraga http://www.purl.org/net/busaco
68. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Relatii intre persoane
FOAF – Friend Of A Friend
exprima informatii despre o persoana
si relatiile acesteia cu alte persoane
suport pentru e‐comunitati (social networking)
Dr. Sabin Buraga http://www.purl.org/net/busaco
69. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Relatii intre persoane
FOAF – Friend Of A Friend
http://rdfweb.org/
meta‐date privitoare la o persoana:
<foaf:Person>, <foaf:name>, <foaf:gender>, <foaf:title>,
<foaf:mbox>, <foaf:homepage>, <foaf:weblog>,
<foaf:Image>, <foaf:depiction>,...
Dr. Sabin Buraga http://www.purl.org/net/busaco
70. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Relatii intre persoane
FOAF – Friend Of A Friend
relatia knows
nu se specifica relatii mai rafinate
e.g., friendOf, collaboratorOf
specializari: http://purl.org/vocab/relationship
Dr. Sabin Buraga http://www.purl.org/net/busaco
71. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Relatii intre persoane
FOAF – Friend Of A Friend
Exemplu:
“Sabin il cunoaste pe Cristi.”
@prefix foaf: <http://xmlns.com/foaf/0.1>
<#sabin> <foaf:knows> <#cristi> .
Dr. Sabin Buraga http://www.purl.org/net/busaco
74. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Relatii intre comunitati virtuale
SIOC – SemanticallyInterlinked Online Communities
cadru pentru interconectarea siturilor de comunitati
(blog, calendar, aggregator,…) & listele de discutii
(precum bulletin board, mailing list, newsgroup)
foloseste RDF, FOAF, DCMI
http://siocproject.org/
Dr. Sabin Buraga http://www.purl.org/net/busaco
75. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Descrierea unui proiect (software)
DOAP – Description Of A Project
meta‐date privitoare la un proiect:
<doap:Project>, <doap:name>, <doap:homepage>,
<doap:description>, <doap:wiki>, <doap:maintainer>,
<doap:programming-language>,...
se bazeaza pe RDF si FOAF
http://usefulinc.com/ns/doap
Dr. Sabin Buraga http://www.purl.org/net/busaco
76. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Asocierea de meta‐date documentelor hipermedia
Adobe XMP (Extensible Metadata Platform)
meta‐date “scufundate” in resursa Web
utilizeaza XML si un subset al RDF
bazat pe vocabulare DCMI, EXIF,...
XMP SDK disponibil gratuit (ECMAScript)
www.adobe.com/xmp
Dr. Sabin Buraga http://www.purl.org/net/busaco
77. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Specificarea constructiilor RDF direct in XHTML
RDFa
utilizarea unor atribute XHTML specifice menite a modela
informatiile disponibile intr‐o pagina Web in vederea
procesarii acestora de catre calculator
www.w3.org/TR/rdfasyntax
www.w3.org/TR/xhtmlrdfaprimer/
Dr. Sabin Buraga http://www.purl.org/net/busaco
78. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Specificarea constructiilor RDF direct in XHTML
RDFa
specificarea relatiilor unei pagini cu alt document extern
folosind atributul rel
asocierea de proprietati unor elemente XHTML
via atributul property
specificarea de proprietati unei resurse date de about
desemnarea tipului unei constructii prin typeof
Dr. Sabin Buraga http://www.purl.org/net/busaco
79. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: utilizari
Exemplu: modelarea retelei sociale a unui utilizator
<div about=#me rel=foaf:knows>
<ul>
<li typeof=foaf:Person>
<a property=foaf:name rel=foaf:homepage href=...>Tux</a></li>
<li typeof=foaf:Person>
<a property=foaf:name rel=foaf:homepage href=...>Anca</a></li>
<li typeof=foaf:Person>
<a property=foaf:name rel=foaf:homepage href=...>Cip</a></li>
</ul>
<p>Created by <span property=dc:creator>WordPress</span>.</p>
</div>
Dr. Sabin Buraga http://www.purl.org/net/busaco
80. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: exemplu
Despre documentul de la adresa
http://www.infoiasi.ro/~busaco/
se specifica următoarele fapte:
are titlul „Situl lui Sabin”
a fost vizitat de „ceva”
…care se numeşte Dragoş
…şi care are situl personal la adresa http://www.adt.ro/
Dr. Sabin Buraga http://www.purl.org/net/busaco
81. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: exemplu
<rdf:Description rdf:about=http://www.infoiasi.ro/~busaco/>
<viz:vizitatDe>
<rdf:Description>
<foaf:homepage rdf:resource=http://www.adt.ro/ />
<foaf:name>Dragoş</foaf:name>
</rdf:Description>
</viz:vizitatDe>
<dc:title>Situl lui Sabin</dc:title>
RDF/XML
</rdf:Description>
Dr. Sabin Buraga http://www.purl.org/net/busaco
83. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: exemplu
<http://www.infoiasi.ro/~busaco/>
<http://purl.org/dc/elements/1.1/title> Situl lui Sabin .
_:blanc <http://xmlns.com/foaf/0.1/homepage>
<http://www.adt.ro/> .
_:blanc <http://xmlns.com/foaf/0.1/name> Dragoş .
<http://www.infoiasi.ro/~busaco/>
<urn:infoiasi.ro:Vizite#vizitatDe> _:blanc .
Triple
Dr. Sabin Buraga http://www.purl.org/net/busaco
84. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
rdf: exemplu
<meta about=http://www.infoiasi.ro/~busaco/>
<meta property=viz:vizitatDe>
<meta property=foaf:name>Dragoş</meta>
<link rel=foaf:homepage href=http://www.adt.ro/ />
</meta>
<meta property=dc:title>Situl lui Sabin</meta>
</meta>
XHTML 2.0
Dr. Sabin Buraga http://www.purl.org/net/busaco
85. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
concluzii
Modelul RDF permite formularea de asertiuni
explicite privitoare la resursele Web
se folosesc triple (subiect, predicat, obiect)
referite prin URI‐uri
Dr. Sabin Buraga http://www.purl.org/net/busaco
86. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
concluzii
RDF “helps you to create Weblike relationships
between data, which is not easily done
in a typical relational database.”
Microsoft Developer Network, 2006
Dr. Sabin Buraga http://www.purl.org/net/busaco
87. <?xml version=“1.0” ?>
Semantic Web <curs desc=“…” />
concluzii
RDF ofera premisa modelarii interconexiunilor
web‐urilor diferite existente pe Web
a se (re)vedea initiativa Linked Open Data
www.linkeddata.org
>2 miliarde de triple RDF
>3 milioane de legaturi stabilite intre seturi de date
Dr. Sabin Buraga http://www.purl.org/net/busaco