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

Dezvoltarea aplicațiilor Web

modelarea cunoștințelor via RDF(S)
realizarea infe...
Anaxagoras

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

“Toate erau laolaltă – după aceea a venit mintea
și le-a pus în ordi...
RDF oferă posibilitatea de a descrie/adnota
(explicit) resursele Web

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

constatare
Declaratiile RDF se situează
la nivel de instanțe (indivizi)

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

constatare
Lipsește un mecanism de declarare
a unui vocabular

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

constatare
<http://www.apple.com/ipad/> rdf:type
foaf:name

:Produs ;
"iPad" .

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

constatare
<http://www.apple.com/ipad/> rdf:type
foaf:name

:Produs ;
"iPad" .

În loc de “produs” putem folosi termenul “tablet”?
Un...
O manieră de specificare (formală)
a unui model de cunoștințe privitor la un web

Dr. Sabin Buragawww.purl.org/net/busaco...
O manieră de specificare (formală)
a unui model de cunoștințe privitor la un web

e.g., specificarea unei taxonomii a resu...
O modalitate de a declara
relațiile dintre (clase de) resurse

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

necesități
O modalitate de a declara
relațiile dintre (clase de) resurse

RDF este un model care permite definirea doar de relații
în...
Ne-ar fi util un model ce permite definirea
unei taxonomii, în termeni de clase, superclase
și subclase de resurse

Dr. Sa...
Taxonomia reprezintă studiul principiilor
generale de clasificare științifică
i.e. clasificare sistematică

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

taxonomii

Carolus Linnaeus, Philosophia botanica (1751)
Dr. Sabin Buragawww.purl.org/net/busaco

taxonomii
Resursele pot fi clasificate
sub forma unei ierarhii,
conform unor rel...
Taxonomie  arbore:
noduri
concepte (clase)
relații dintre noduri
relații de sub-/supra-clasificare
(generalizare/speciali...
Fiecare nod (entitate) posedă
o proprietate specifică, proprietate caracteristică
sub-clasei din care face parte

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

Dewey Decimal Classification
modelare via RDF(a),
interogare prin SPARQL
dewey.i...
Dr. Sabin Buragawww.purl.org/net/busaco
Arts & Humanities
Business
Health & Medicine
Products & Services
Products
Services
Science & Technology
General Science & ...
Dr. Sabin Buragawww.purl.org/net/busaco

taxonomii: exemplu

Musicmoz Music Styles – vocabularyserver.com
NASA Taxonomy
Dr. Sabin Buragawww.purl.org/net/busaco
Dr. Sabin Buragawww.purl.org/net/busaco

taxonomii: exemplu

UniProt Taxonomy – www.uniprot.org
Dr. Sabin Buragawww.purl.org/net/busaco

o taxonomie de specificare a regulilor
(Bernstein et al., 2005)
Clasificarea resurselor

model simplu de clasificare
o taxonomie poate reprezenta o ontologie simplă

Dr. Sabin Buragawww...
Clasificarea resurselor

utilizare în contextul motoarelor de căutare
cataloage Web, directories
Open Directory: dmoz.org
...
Dr. Sabin Buragawww.purl.org/net/busaco

taxonomii: utilizari

Yahoo! taxonomy
exemplu menționat de (Bouquet, Serafini & ...
Comerț electronic
Universal Standard Products and Services Classification
www.eccma.org

Dr. Sabin Buragawww.purl.org/net...
Clasificarea serviciilor Web
se realizează via tModel în cadrul WSDL
(Web Service Description Language)
pe baza North Amer...
Clasificarea produselor alimentare
WAND Food and Beverage Taxonomy

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

taxonomii: u...
Spre deosebire de folksonomii,
taxonomiile sunt considerate
vocabulare controlate (controlled vocabularies)
www.controlled...
Spre deosebire de folksonomii,
taxonomiile sunt considerate
vocabulare controlate (controlled vocabularies)
www.controlled...
Modelarea poate fi realizată via scheme RDF

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

taxonomii: model
Permite definirea de taxonomii

clase, super-clase și sub-clase de resurse

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

rdf ...
Recomandare a Consorțiului Web
(D. Brickley & R.V. Guha, 2004)
www.w3.org/TR/rdf-schema/

Dr. Sabin Buragawww.purl.org/ne...
Oferă o modalitate de specificare
a unui vocabular de termeni și
de relații între acești termeni

Dr. Sabin Buragawww.pur...
Oferă o modalitate de specificare
a unui vocabular de termeni și
de relații între acești termeni
precizează contrucțiile –...
Adaugă semantică predicatelor și resurselor RDF
poate defini modul în care un termen trebuie interpretat,
specificându-i p...
Vom putea realiza definirea de proprietăți
și eventuale restricții de utilizare

Dr. Sabin Buragawww.purl.org/net/busaco
...
Pune la dispoziție maniere de specificare
a claselor de resurse și proprietăților obiectelor
în contextul utilizării unui ...
tip (type), clasă (Class), proprietate (Property)
Persoana rdf:type Class
areIdentitate rdf:type Property
Aplicatie rdf:ty...
sub-clasa (subClassOf) a unei clase

Autor subClassOf Persoana
Student subClassOf Persoana
Masterand subClassOf Student
Co...
domeniu (domain) + interval (range)
asociate predicatelor

esteStudent domain Persoana
esteStudent range xsd:Boolean
areNu...
O schemă RDF fiind exprimată prin triple RDF,
pot fi efectuate interogări SPARQL:
PREFIX rdfs: <http://www.w3.org/2000/01/...
<http://dbpedia.org/ontology/Place>
<http://dbpedia.org/ontology/Area>
<http://dbpedia.org/ontology/City>
<http://dbpedia....
rdfs:Resource clasa resurselor
rdf:Property clasa proprietăților resurselor
clasa claselor (corespunde
rdfs:Class
conceptu...
Clasele specifica resurse – identificate de URI
pagini Web
tipuri de documente: publicații, prezentări etc.
baze de date
e...
Resursele aparținând unei clase = instanțe

clasele sunt specificate via RDF Schema
instanțele sunt exprimate prin RDF

Dr...
indică faptul că o resursă
rdf:type este membră a unei clase
(apartenența la un tip de date)
specifică relația de moștenir...
Clasa Multimedia include subclasele Audio și Video
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:...
Clasa Multimedia include subclasele Audio și Video
(continuare)
<rdf:Description rdf:ID="Audio">
<rdf:type rdf:resource=
"...
Clasa Multimedia include subclasele Audio și Video
(continuare)
<rdf:Description rdf:ID="Audio">
<rdf:type rdf:resource=
"...
rdfs:range restricționează valorile unei proprietăți
specifică o clasă ale cărei instanțe
rdfs:domain pot avea asignate va...
Clasei Multimedia îi asociem proprietatea duration
cu valori din mulțimea numerelor întregi
<rdfs:Property rdf:ID="duratio...
Clasei Multimedia îi asociem proprietatea duration
cu valori din mulțimea numerelor întregi
<rdfs:Property rdf:ID="duratio...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: exemplu
Remarcă:
nu e obligatoriu să definim conceptul Integer

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

rdf schema: model
Remarcă:
nu e obligatoriu să definim conceptul Integer

ipoteza lumilor deschise
(OWA – open world assumption)

Dr. Sabin ...
Remarcă:
nu e obligatoriu să definim conceptul Integer

ipoteza lumilor deschise
(OWA – open world assumption)
contrast cu...
Dr. Sabin Buragawww.purl.org/net/busaco

La ce pot fi utilizate schemele RDF?
clasa SpatialThing include sub-clasa Point
se definesc proprietățile lat, long, alt, location
SpatialThing a
Point a
rdfs:...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: exemplu

specificarea domeniului și intervalului
pentru o proprietat...
Dr. Sabin Buragawww.purl.org/net/busaco

Modelul conceptual al SIOC – Semantically Interconnected
Online Communities (Boj...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: exemplu

specificarea unei clase SIOC
inspirat de (Manjunath et al., 2008)
cal:Vevent a rdfs:Class .
cal:attendee a rdf:Property ;
rdfs:domain cal:Vevent ;
rdfs...
inspirat de (Manjunath et al., 2008)

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

Modelarea calendarelor de evenimente

cal:...
subClassOf

Substantiv

Verb
domain
domain

SubiectAl

Subst. comun

subClassOf

range

Verb reflexiv

Dr. Sabin Buragaww...
definirea claselor

<rdfs:Class
rdf:about="http://www.linguistics.org/schema.rdf#Noun">
<rdfs:label>Noun</rdfs:label>
<rdf...
specificarea
unei proprietăți

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

<rdf:Property rdf:about=
"http://www.linguistics....
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:pos="http://www.linguistics.org/schema.rdf#">
<s:St...
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:pos="http://www.linguistics.org/schema.rdf#">
<s:St...
graful RDF corespunzător
Dr. Sabin Buragawww.purl.org/net/busaco
Clasele și proprietățile sunt modelate separat

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

rdf schema
Clasele și proprietățile sunt modelate separat

spre deosebire de paradigma orientată-obiect,
proprietățile (atributele) n...
Nu se pot exprima relații complexe între clase
(reuniune, disjuncție,...),
nici cardinalitatea – e.g., “cel puțin una”

Dr...
Nu se pot exprima relații complexe între clase
(reuniune, disjuncție,...),
nici cardinalitatea – e.g., “cel puțin una”

ne...
Oferă suport pentru modelarea
clasificărilor de resurse (i.e. taxonomii)

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

rdf sc...
Modelarea datelor pentru o aplicație de ascultat
CD-uri: cdream
lucrare de licență a absolventului FII
Victor Grigoriu, 20...
Modelarea datelor pentru o aplicație de ascultat
CD-uri: cdream
clase (concepte)
CD – http://cdream.ro/CD
Piesă – http://c...
Aplicația cdream (Victor Grigoriu, 2003)
proprietăți
Durata piesei (min:sec) – http://cdream.ro/Lung
Interpret/compozitor ...
Aplicația cdream (Victor Grigoriu, 2003)
restricții
proprietatea Contine se aplică numai clasei CD
proprietatea Lung este ...
Aplicația cdream (Victor Grigoriu, 2003)
schema RDF are următoarea structură:
<http://cdream.ro/CD> rdf:type
rdfs:Class .
...
Aplicația cdream (Victor Grigoriu, 2003)
schema RDF are următoarea structură – continuare:
<http://cdream.ro/Contine> rdf:...
Aplicația cdream (Victor Grigoriu, 2003)
implementare în limbajul C++,
folosind biblioteca Redland (pe Linux)
procesarea d...
Reprezintă un model de specificare explicită
a relațiilor dintre clase de “lucruri” de interes

Dr. Sabin Buragawww.purl....
Pune bazele efectuării automate de inferențe
e.g., “descoperirea” relațiilor dintre resurse

detalii în (Allemang & Hendle...
Pune bazele efectuării automate de inferențe
e.g., “descoperirea” relațiilor dintre resurse
contrast cu OOP unde relațiile...
pentru subclase, având triple de forma:
A rdfs:subClassOf B .
r rdf:type A .
putem deduce:
r rdf:type B .
triplu dedus
(in...
pentru subproprietăți, având triple de forma:
P rdfs:subPropertyOf R .
APB.
putem deduce:
ARB.
triplu dedus
(inferred trip...
în cazul specificării domeniului, având triple de forma:
P rdfs:domain D .
xPy.
putem deduce:
x rdf:type D .
triplu dedus
...
în cazul specificării intervalului, având triple de forma:
P rdfs:range R .
xPy.
putem deduce:
y rdf:type R .
triplu dedus...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: exemplu
Modelarea unui web privitor la familii de persoane
:FemeieMa...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: exemplu
Modelarea unui web privitor la familii de persoane
Generalizând, având disponibile triplele:
P rdfs:domain D .
D rdfs:subClassOf C .
putem deduce:
P rdfs:domain C .
în acest...
Deși sintactic nu există suport pentru specificarea
operațiilor cu clase (intersecție, reuniune),
le putem exprima folosin...
Intersecția de mulțimi (clase):
C rdfs:subClassOf A .
C rdfs:subClassOf B .
având dat triplul
r rdf:type C .
se poate dedu...
Intersecția de mulțimi (clase) – exemplu:
:Masterand rdfs:subClassOf :Student .
:Masterand rdfs:subClassOf :DesignerWeb .
...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: șabloane

Similar, se poate modela intersecția de proprietăți
Reuniunea de mulțimi (clase de resurse):
A rdfs:subClassOf C .
B rdfs:subClassOf C .
având
r rdf:type A . sau r rdf:type B...
Reuniunea de mulțimi (clase) – exemplu:
:Sit rdfs:subClassOf :Produs .
:ServiciuWeb rdfs:subClassOf :Produs .
:SolutieEBan...
“Transferul” de proprietăți:
P rdfs:subPropertyOf Q .
având triplul
XPY.
se poate deduce:
XQY.

Dr. Sabin Buragawww.purl....
“Transferul” de proprietăți:
are utilizări în reconcilierea terminologiilor
:autor rdfs:subPropertyOf dc:creator .
bib:imp...
Referințe la alte resurse
rdfs:seeAlso

proprietate care indică o altă resursă care conține
informații suplimentare privit...
Dr. Sabin Buragawww.purl.org/net/busaco

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?denumire ?url
obțin...
Organizarea vocabularelor
rdfs:isDefinedBy

sub-proprietate a rdfs:seeAlso
desemnează o legătură (via un URI) spre sursa p...
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@pref...
Dr. Sabin Buragawww.purl.org/net/busaco

modelarea în RDF(S) a schemelor de microdate HTML5
oferite de schema.org – aici,...
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: alte construcții
Modelul RDF Schema specificat în RDF Schema – fragm...
rdfs:Resource
rdfs:Literal
rdf:XMLLiteral
rdfs:Class
rdf:Property
rdfs:Datatype
rdf:Statement
rdf:Bag
rdf:Seq
rdf:Alt
rdfs...
comment
domain
The subject is an instance
rdfs:Resource
rdf:type
of a class.
rdfs:subClassOf The subject is a subclass of ...
rdf:first
rdf:rest
rdfs:seeAlso
rdfs:isDefinedBy

rdf:value
rdf:subject

rdf:predicate
rdf:object

comment
domain
range
Fi...
Graful modelului RDF Schema

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

Fabien L. Gandon et al., 2011
Dr. Sabin Buragawww.purl.org/net/busaco

Există posibilitatea folosirii
unui model conceptual mai expresiv?
Thesaurus: a controlled vocabulary arranged
in a known order and structured so that
equivalence, homographic, hierarchical...
Relații
echivalența
termenul X are (aproape) același înțeles cu termenul Y
“pagină Web” sinonim cu “document Web”

Dr. Sab...
Relații
omonimia (omografia)
termenul X se pronunță/scrie la fel ca și Y,
dar are alt înțeles
“toc” versus “toc” versus “t...
Relații
ierarhie
termenul X are un înțeles mai larg/restrâns
decât termenul Y
“patrulater” versus “dreptunghi”
“aplicație ...
Relații
asociere
termenul X este asociat termenului Y
(e.g., există o relație nespecificată între ei)
“cui”/“Pink Floyd” a...
Asigură următoarele:
conceptele se descriu într-un mod consistent
utilizatorii experimentați pot să-și rafineze căutările
...
AGROVOC
indexarea multilingvă a resurselor privitoare
la agricultură realizată la nivelul Națiunilor Unite
Cook’s Thesauru...
www.gutenberg.org/ebooks/10681

WordNet – wordnet.princeton.edu

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

Roget’s Thesaur...
Dr. Sabin Buragawww.purl.org/net/busaco

tezaure: exemple

Social Semantic Web Thesaurus
http://vocabulary.semantic-web.a...
UNESCO Thesaurus
http://databases.unesco.org/thesaurus/

GEMET (GEneral Multilingual Environmental Thesaurus)
specifică un...
Dr. Sabin Buragawww.purl.org/net/busaco

tezaure: exemple
Simple Knowledge Organizational System
oferă suport pentru exprimarea cunoștințele din cadrul
sistemelor organizaționale, ...
Simple Knowledge Organizational System

suită de specificații ale Consorțiului Web (2009)
http://www.w3.org/TR/skos-refere...
SKOS Core
modelează în special lexicoane (tezaure)
utilizează spațiul de nume
http://www.w3.org/2004/02/skos/core

SKOS Ma...
Un sistem de organizare a cunoștințelor
este compus în principal din concepte
med:MedicalImagery
soft:Malware
wordnet:Art
...
Definirea conceptului „instrument”
<skos:Concept rdf:about="#instrument">
<skos:definition>Obiect utilizat într-un anumit ...
Specificarea lexiconului arhivelor naționale britanice
UKAT – UK Archival Thesaurus (Allemang & Hendler, ‘11)
UKAT:Economi...
Rafinează conceptul de etichetă generică rdfs:label,
oferind prefLabel, altLabel și hiddenLabel
s:rocks rdf:type skos:Conc...
definirea conceptului “Schema Languages”

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

tezaure: skos – exemplu
SKOS în cadrul DBpedia
Dr. Sabin Buragawww.purl.org/net/busaco

tezaure: skos
SELECT ?prefLabel1 ?prefLabel2 ?doc ?title
WHERE {
?doc lifeskim:mentions <http://linkedlifedata.com/resource/umls/id/C043...
Diverse alte lexicoane exprimate via SKOS:
Cadastre and Land Administration Thesaurus
Drug Administration Forms
Internatio...
ThManager – vizualizare & explorare de lexicoane
la nivel de desktop (Java): http://thmanager.sourceforge.net/
Neologism –...
TemaTres – soluție Web open source (PHP)
pentru managementul cunoștințelor
www.vocabularyserver.com

Dr. Sabin Buragawww....
Vocabularele (schemele) RDF pot fi publicate
în vederea refolosirii
conform inițiativei Linked Open Data
vocab.org
metadat...
vocabulare – licențiate Creative Commons –
privind legislația, limbajul natural, mediul înconjurător,
produsele comerciale...
“Representation is the essence of programming.”
Frederick P. Brooks, The Mythical Man-Month,
Addison-Wesley, 1995

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

rezumat

modelarea taxonomiilor + lexicoanelor prin
RDF Schema și realizarea inf...
Dr. Sabin Buragawww.purl.org/net/busaco

episodul viitor: modelare ontologică via OWL
Upcoming SlideShare
Loading in …5
×

Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor cu RDF Schema

719 views

Published on

Dezvoltarea aplicațiilor Web (8/12) — detalii la http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
719
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dezvoltarea aplicațiilor Web (8/12): Modelarea taxonomiilor şi lexicoanelor cu RDF Schema

  1. 1. Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web modelarea cunoștințelor via RDF(S) realizarea inferențelor simple
  2. 2. Anaxagoras Dr. Sabin Buragawww.purl.org/net/busaco “Toate erau laolaltă – după aceea a venit mintea și le-a pus în ordine.”
  3. 3. RDF oferă posibilitatea de a descrie/adnota (explicit) resursele Web Dr. Sabin Buragawww.purl.org/net/busaco constatare
  4. 4. Declaratiile RDF se situează la nivel de instanțe (indivizi) Dr. Sabin Buragawww.purl.org/net/busaco constatare
  5. 5. Lipsește un mecanism de declarare a unui vocabular Dr. Sabin Buragawww.purl.org/net/busaco constatare
  6. 6. <http://www.apple.com/ipad/> rdf:type foaf:name :Produs ; "iPad" . Dr. Sabin Buragawww.purl.org/net/busaco constatare
  7. 7. <http://www.apple.com/ipad/> rdf:type foaf:name :Produs ; "iPad" . În loc de “produs” putem folosi termenul “tablet”? Un produs e similar cu “marfă”? Conceptul “produs” este definit în relație cu altele? Resursa descrisă poate fi modelată diferit? Ce proprietăți sunt asociate unui produs? iPad Mini și iPad Air sunt cumva similare cu iPad? Dr. Sabin Buragawww.purl.org/net/busaco constatare
  8. 8. O manieră de specificare (formală) a unui model de cunoștințe privitor la un web Dr. Sabin Buragawww.purl.org/net/busaco necesități
  9. 9. O manieră de specificare (formală) a unui model de cunoștințe privitor la un web e.g., specificarea unei taxonomii a resurselor Dr. Sabin Buragawww.purl.org/net/busaco necesități
  10. 10. O modalitate de a declara relațiile dintre (clase de) resurse Dr. Sabin Buragawww.purl.org/net/busaco necesități
  11. 11. O modalitate de a declara relațiile dintre (clase de) resurse RDF este un model care permite definirea doar de relații între două obiecte (instanțe de clase de resurse) Dr. Sabin Buragawww.purl.org/net/busaco necesități
  12. 12. Ne-ar fi util un model ce permite definirea unei taxonomii, în termeni de clase, superclase și subclase de resurse Dr. Sabin Buragawww.purl.org/net/busaco necesități
  13. 13. Taxonomia reprezintă studiul principiilor generale de clasificare științifică i.e. clasificare sistematică Dr. Sabin Buragawww.purl.org/net/busaco taxonomii
  14. 14. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii Carolus Linnaeus, Philosophia botanica (1751)
  15. 15. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii Resursele pot fi clasificate sub forma unei ierarhii, conform unor relații în prealabil fixate stabilite între entitățile pe care le reprezintă în lumea reală detalii în (Daum et al., 2003)
  16. 16. Taxonomie  arbore: noduri concepte (clase) relații dintre noduri relații de sub-/supra-clasificare (generalizare/specializare) Dr. Sabin Buragawww.purl.org/net/busaco taxonomii
  17. 17. Fiecare nod (entitate) posedă o proprietate specifică, proprietate caracteristică sub-clasei din care face parte Dr. Sabin Buragawww.purl.org/net/busaco taxonomii
  18. 18. Dr. Sabin Buragawww.purl.org/net/busaco Dewey Decimal Classification modelare via RDF(a), interogare prin SPARQL dewey.info
  19. 19. Dr. Sabin Buragawww.purl.org/net/busaco
  20. 20. Arts & Humanities Business Health & Medicine Products & Services Products Services Science & Technology General Science & Technology Aeronautics & Astronautics … Computers Social Sciences Anthropology Economy … conform (Factiva Inc., 2009) Dr. Sabin Buragawww.purl.org/net/busaco Warehouse Vocabularies Publishers Categories
  21. 21. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: exemplu Musicmoz Music Styles – vocabularyserver.com
  22. 22. NASA Taxonomy Dr. Sabin Buragawww.purl.org/net/busaco
  23. 23. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: exemplu UniProt Taxonomy – www.uniprot.org
  24. 24. Dr. Sabin Buragawww.purl.org/net/busaco o taxonomie de specificare a regulilor (Bernstein et al., 2005)
  25. 25. Clasificarea resurselor model simplu de clasificare o taxonomie poate reprezenta o ontologie simplă Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  26. 26. Clasificarea resurselor utilizare în contextul motoarelor de căutare cataloage Web, directories Open Directory: dmoz.org Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  27. 27. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizari Yahoo! taxonomy exemplu menționat de (Bouquet, Serafini & Zanobini, 2005)
  28. 28. Comerț electronic Universal Standard Products and Services Classification www.eccma.org Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  29. 29. Clasificarea serviciilor Web se realizează via tModel în cadrul WSDL (Web Service Description Language) pe baza North American Industry Classification System Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  30. 30. Clasificarea produselor alimentare WAND Food and Beverage Taxonomy Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  31. 31. Spre deosebire de folksonomii, taxonomiile sunt considerate vocabulare controlate (controlled vocabularies) www.controlledvocabulary.com Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: remarcă
  32. 32. Spre deosebire de folksonomii, taxonomiile sunt considerate vocabulare controlate (controlled vocabularies) www.controlledvocabulary.com clasificarea este realizată de experți într-un domeniu de cunoaștere și nu de utilizatori obișnuiți Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: remarcă
  33. 33. Modelarea poate fi realizată via scheme RDF Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: model
  34. 34. Permite definirea de taxonomii clase, super-clase și sub-clase de resurse Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  35. 35. Recomandare a Consorțiului Web (D. Brickley & R.V. Guha, 2004) www.w3.org/TR/rdf-schema/ Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  36. 36. Oferă o modalitate de specificare a unui vocabular de termeni și de relații între acești termeni Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  37. 37. Oferă o modalitate de specificare a unui vocabular de termeni și de relații între acești termeni precizează contrucțiile – conceptele – ce pot fi utilizate în cadrul unui domeniu dat poate descrie relațiile dintre elementele de vocabular aparținând unor vocabulare diferite Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  38. 38. Adaugă semantică predicatelor și resurselor RDF poate defini modul în care un termen trebuie interpretat, specificându-i proprietățile și stabilind ce tipuri de “lucruri” pot fi valorile acestor proprietăți Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  39. 39. Vom putea realiza definirea de proprietăți și eventuale restricții de utilizare Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  40. 40. Pune la dispoziție maniere de specificare a claselor de resurse și proprietăților obiectelor în contextul utilizării unui vocabular Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  41. 41. tip (type), clasă (Class), proprietate (Property) Persoana rdf:type Class areIdentitate rdf:type Property Aplicatie rdf:type Class ruleazaPe rdf:type Property Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: terminologie
  42. 42. sub-clasa (subClassOf) a unei clase Autor subClassOf Persoana Student subClassOf Persoana Masterand subClassOf Student Companie subClassOf Producator Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: terminologie
  43. 43. domeniu (domain) + interval (range) asociate predicatelor esteStudent domain Persoana esteStudent range xsd:Boolean areNume range xsd:String Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: terminologie
  44. 44. O schemă RDF fiind exprimată prin triple RDF, pot fi efectuate interogări SPARQL: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?clasa WHERE { descoperirea ?clasa rdf:type rdfs:Class tuturor claselor } ORDER BY ?clasa Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: terminologie
  45. 45. <http://dbpedia.org/ontology/Place> <http://dbpedia.org/ontology/Area> <http://dbpedia.org/ontology/City> <http://dbpedia.org/ontology/River> <http://dbpedia.org/ontology/Road> <http://dbpedia.org/ontology/Lake> <http://dbpedia.org/ontology/LunarCrater> <http://dbpedia.org/ontology/ShoppingMall> <http://dbpedia.org/ontology/Actor> <http://dbpedia.org/ontology/Philosopher> <http://dbpedia.org/ontology/Pope> <http://dbpedia.org/ontology/FictionalCharacter> <http://dbpedia.org/ontology/Non-ProfitOrganisation> … Dr. Sabin Buragawww.purl.org/net/busaco Exemplu: clasele de resurse oferite de DBpedia (fragment)
  46. 46. rdfs:Resource clasa resurselor rdf:Property clasa proprietăților resurselor clasa claselor (corespunde rdfs:Class conceptului de tip sau categorie) clasa privind containerele rdfs:Container de date RDF (Bag, Seq, Alt) rdfs:Datatype clasa tipurilor de date Dr. Sabin Buragawww.purl.org/net/busaco Clase fundamentale
  47. 47. Clasele specifica resurse – identificate de URI pagini Web tipuri de documente: publicații, prezentări etc. baze de date entități abstracte: persoane, intervale de timp etc. produse (in)tangibile … Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: model
  48. 48. Resursele aparținând unei clase = instanțe clasele sunt specificate via RDF Schema instanțele sunt exprimate prin RDF Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: model
  49. 49. indică faptul că o resursă rdf:type este membră a unei clase (apartenența la un tip de date) specifică relația de moștenire rdfs:subClassOf a claselor (relație tranzitivă) desemnează relația de rdfs:subPropertyOf moștenire a proprietăților Dr. Sabin Buragawww.purl.org/net/busaco Proprietăți fundamentale
  50. 50. Clasa Multimedia include subclasele Audio și Video <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description rdf:ID="Multimedia"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description> <rdf:Description rdf:ID="Video"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> <rdfs:subClassOf rdf:resource="#Multimedia" /> </rdf:Description> Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  51. 51. Clasa Multimedia include subclasele Audio și Video (continuare) <rdf:Description rdf:ID="Audio"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> <rdfs:subClassOf rdf:resource="#Multimedia" /> </rdf:Description> </rdf:RDF> Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  52. 52. Clasa Multimedia include subclasele Audio și Video (continuare) <rdf:Description rdf:ID="Audio"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> <rdfs:subClassOf rdf:resource="#Multimedia" /> </rdf:Description> </rdf:RDF> :Audio rdf:type rdfs:subClassOf rdfs:Class ; # în sintaxa Turtle :Multimedia . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  53. 53. rdfs:range restricționează valorile unei proprietăți specifică o clasă ale cărei instanțe rdfs:domain pot avea asignate valori specifice proprietății Dr. Sabin Buragawww.purl.org/net/busaco Restricții impuse asupra claselor și/sau proprietăților
  54. 54. Clasei Multimedia îi asociem proprietatea duration cu valori din mulțimea numerelor întregi <rdfs:Property rdf:ID="duration"> <rdfs:domain rdf:resource="#Multimedia" /> <rdfs:range rdf:resource="#Integer" /> </rdf:Property> Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  55. 55. Clasei Multimedia îi asociem proprietatea duration cu valori din mulțimea numerelor întregi <rdfs:Property rdf:ID="duration"> <rdfs:domain rdf:resource="#Multimedia" /> <rdfs:range rdf:resource="#Integer" /> </rdf:Property> duration a rdfs:domain rdfs:range rdf:Property ; # varianta Turtle :Multimedia ; :Integer . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  56. 56. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  57. 57. Remarcă: nu e obligatoriu să definim conceptul Integer Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: model
  58. 58. Remarcă: nu e obligatoriu să definim conceptul Integer ipoteza lumilor deschise (OWA – open world assumption) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: model
  59. 59. Remarcă: nu e obligatoriu să definim conceptul Integer ipoteza lumilor deschise (OWA – open world assumption) contrast cu modelul bazelor de date clasice Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: model
  60. 60. Dr. Sabin Buragawww.purl.org/net/busaco La ce pot fi utilizate schemele RDF?
  61. 61. clasa SpatialThing include sub-clasa Point se definesc proprietățile lat, long, alt, location SpatialThing a Point a rdfs:subClassOf rdfs:Class . rdfs:Class ; SpatialThing . long rdf:Property ; SpatialThing ; "longitude" ; "The WGS84 longitude of a SpatialThing (decimal degrees)"@en ; rdf:Property ; "location" ; foaf:based_near ; SpatialThing . a rdfs:domain rdfs:label rdfs:comment location a rdfs:label rdfs:subPropertyOf rdfs:range Dr. Sabin Buragawww.purl.org/net/busaco WGS84 Geo Positioning (Tim Berners-Lee, 2009)
  62. 62. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu specificarea domeniului și intervalului pentru o proprietate FOAF (D. Brickley & L. Miller, 2010)
  63. 63. Dr. Sabin Buragawww.purl.org/net/busaco Modelul conceptual al SIOC – Semantically Interconnected Online Communities (Bojārs & Breslin, 2010) http://rdfs.org/sioc/spec/
  64. 64. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu specificarea unei clase SIOC
  65. 65. inspirat de (Manjunath et al., 2008) cal:Vevent a rdfs:Class . cal:attendee a rdf:Property ; rdfs:domain cal:Vevent ; rdfs:range foaf:Person . cal:location a rdf:Property . cal:dtstart a rdf:Property . cal:dtend a rdf:Property . cal:relatedTo a rdf:Property ; rdfs:domain cal:Vevent ; rdfs:range cal:Vevent . clasa evenimentelor proprietate specificând participantul proprietate modelând locația proprietăți privind intervalul de timp referitor la desfășurarea evenim. relația cu alte evenimente similare Dr. Sabin Buragawww.purl.org/net/busaco Modelarea calendarelor de evenimente
  66. 66. inspirat de (Manjunath et al., 2008) Dr. Sabin Buragawww.purl.org/net/busaco Modelarea calendarelor de evenimente cal:Vevent a rdfs:Class . :WinterWebWorkshop rdf:type cal:Vevent ; cal:attendee a rdf:Property ; cal:location [ :city "Iasi" ] ; rdfs:domain cal:Vevent ; cal:dtstart "2013-12-07T09:00:00" ; rdfs:range foaf:Person . cal:dtend "2013-12-08T18:00:00" ; cal:location a rdf:Property . cal:relatedTo :DesignJamIasi, :SWeb2013; cal:dtstart a rdf:Property . cal:url <http://tinyurl.com/www-infoiasi> . cal:dtend a rdf:Property . cal:relatedTo a rdf:Property ; o posibilă instanță rdfs:domain cal:Vevent ; de eveniment rdfs:range cal:Vevent .
  67. 67. subClassOf Substantiv Verb domain domain SubiectAl Subst. comun subClassOf range Verb reflexiv Dr. Sabin Buragawww.purl.org/net/busaco subClassOf Parte de vorbire Nivelul ontologic type Crocodilii type SubiectAl Nivelul datelor se joacă specificarea părților de vorbire – part of speech adaptare după Nancy Ide (EuroLAN 2003)
  68. 68. definirea claselor <rdfs:Class rdf:about="http://www.linguistics.org/schema.rdf#Noun"> <rdfs:label>Noun</rdfs:label> <rdfs:comment xml:lang="ro"> Clasa substantivelor</rdfs:comment> <rdfs:subClassOf rdfs:resource= "http://www.linguistics.org/schema.rdf#PartOfSpeech"/> </rdfs:Class> Dr. Sabin Buragawww.purl.org/net/busaco <rdfs:Class rdf:about= "http://www.linguistics.org/schema.rdf#PartOfSpeech"> <rdfs:label>POS</rdfs:label> <rdfs:comment xml:lang="ro“>Clasa desemnând categoria generală “parte de vorbire”</rdfs:comment> </rdfs:Class>
  69. 69. specificarea unei proprietăți Dr. Sabin Buragawww.purl.org/net/busaco <rdf:Property rdf:about= "http://www.linguistics.org/schema.rdf#number"> <rdfs:domain rdf:resource= "http://www.linguistics.org/schema.rdf#PartOfSpeech" /> <rdfs:range rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Literal" /> </rdf:Property>
  70. 70. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pos="http://www.linguistics.org/schema.rdf#"> <s:Stiri xmlns:s="http://www.news.info/stirea-zilei"> <pos:Noun rdf:ID="crocodilii"> <pos:number rdf:value="Plural" /> </pos:Noun> <pos:Verb rdf:ID="se_joaca"> <pos:number rdf:value="Plural" /> </pos:Verb> adnotare </s:Stiri> explicită </rdf:RDF> Dr. Sabin Buragawww.purl.org/net/busaco Folosirea – la nivel de instanțe – a schemei RDF specificate (recurgând la sintaxa XML):
  71. 71. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pos="http://www.linguistics.org/schema.rdf#"> <s:Stiri xmlns:s="http://www.news.info/stirea-zilei"> <pos:Noun rdf:ID="crocodilii"> <pos:number rdf:value="Plural" /> </pos:Noun> <pos:Verb rdf:ID="se_joaca"> <pos:number rdf:value="Plural" /> </pos:Verb> </s:Stiri> pe baza acestui model, un instrument </rdf:RDF> software ar putea semnala unele nepotriviri gramaticale Dr. Sabin Buragawww.purl.org/net/busaco Folosirea – la nivel de instanțe – a schemei RDF specificate (recurgând la sintaxa XML):
  72. 72. graful RDF corespunzător Dr. Sabin Buragawww.purl.org/net/busaco
  73. 73. Clasele și proprietățile sunt modelate separat Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  74. 74. Clasele și proprietățile sunt modelate separat spre deosebire de paradigma orientată-obiect, proprietățile (atributele) nu fac parte din clasă Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  75. 75. Nu se pot exprima relații complexe între clase (reuniune, disjuncție,...), nici cardinalitatea – e.g., “cel puțin una” Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  76. 76. Nu se pot exprima relații complexe între clase (reuniune, disjuncție,...), nici cardinalitatea – e.g., “cel puțin una” necesitatea unui model conceptual mai expresiv vezi cursurile viitoare Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  77. 77. Oferă suport pentru modelarea clasificărilor de resurse (i.e. taxonomii) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  78. 78. Modelarea datelor pentru o aplicație de ascultat CD-uri: cdream lucrare de licență a absolventului FII Victor Grigoriu, 2003 Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: studiu de caz
  79. 79. Modelarea datelor pentru o aplicație de ascultat CD-uri: cdream clase (concepte) CD – http://cdream.ro/CD Piesă – http://cdream.ro/Piesa Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: studiu de caz
  80. 80. Aplicația cdream (Victor Grigoriu, 2003) proprietăți Durata piesei (min:sec) – http://cdream.ro/Lung Interpret/compozitor – http://cdream.ro/Artist Titlul (piesei/albumului) – http://cdream.ro/Titlu Lista pieselor de pe album – http://cdream.ro/Contine (are ca obiect un rdf:Seq) Genul muzical – http://cdream.ro/GenMuzical Numele artistului – http://cdream.ro/Nume Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: studiu de caz
  81. 81. Aplicația cdream (Victor Grigoriu, 2003) restricții proprietatea Contine se aplică numai clasei CD proprietatea Lung este specifică doar clasei Piesa proprietatea Nume se asociază autorilor, reprezentați ca resurse – eventual, noduri blanc Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: studiu de caz
  82. 82. Aplicația cdream (Victor Grigoriu, 2003) schema RDF are următoarea structură: <http://cdream.ro/CD> rdf:type rdfs:Class . <http://cdream.ro/Piesa> rdf:type rdfs:Class . <http://cdream.ro/Artist> rdf:type rdf:Property . <http://cdream.ro/Artist> rdfs:domain <http://cdream.ro/CD> . <http://cdream.ro/Artist> rdfs:range rdfs:Resource . <http://cdream.ro/Lung> rdf:type rdf:Property . <http://cdream.ro/Lung> rdfs:domain <http://cdream.ro/Piesa>. <http://cdream.ro/Lung> rdfs:range rdfs:Literal . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: studiu de caz
  83. 83. Aplicația cdream (Victor Grigoriu, 2003) schema RDF are următoarea structură – continuare: <http://cdream.ro/Contine> rdf:type rdf:Property . <http://cdream.ro/Contine> rdfs:domain <http://cdream.ro/CD>. <http://cdream.ro/Contine> rdfs:range rdf:Seq . <http://cdream.ro/Nume> rdf:type rdf:Property . <http://cdream.ro/Nume> rdfs:domainrdfs:Resource . <http://cdream.ro/Nume> rdfs:range rdfs:Literal . ... Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  84. 84. Aplicația cdream (Victor Grigoriu, 2003) implementare în limbajul C++, folosind biblioteca Redland (pe Linux) procesarea datelor RDF a recurs la analizorul Raptor interfață cu utilizatorul bazată pe Qt Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu
  85. 85. Reprezintă un model de specificare explicită a relațiilor dintre clase de “lucruri” de interes Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  86. 86. Pune bazele efectuării automate de inferențe e.g., “descoperirea” relațiilor dintre resurse detalii în (Allemang & Hendler, 2011) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  87. 87. Pune bazele efectuării automate de inferențe e.g., “descoperirea” relațiilor dintre resurse contrast cu OOP unde relațiile de dependență sunt specificate a-priori Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  88. 88. pentru subclase, având triple de forma: A rdfs:subClassOf B . r rdf:type A . putem deduce: r rdf:type B . triplu dedus (inferred triple) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  89. 89. pentru subproprietăți, având triple de forma: P rdfs:subPropertyOf R . APB. putem deduce: ARB. triplu dedus (inferred triple) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  90. 90. în cazul specificării domeniului, având triple de forma: P rdfs:domain D . xPy. putem deduce: x rdf:type D . triplu dedus (inferred triple) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  91. 91. în cazul specificării intervalului, având triple de forma: P rdfs:range R . xPy. putem deduce: y rdf:type R . triplu dedus (inferred triple) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  92. 92. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu Modelarea unui web privitor la familii de persoane :FemeieMaritata rdfs:subClassOf :Femeie . :numeDeFata rdfs:domain :FemeieMaritata . la nivel de instanțe, avem specificat :marie-curie :numeDeFata "Skłodowska" . putem deduce automat faptul :marie-curie rdf:type :Femeie .
  93. 93. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu Modelarea unui web privitor la familii de persoane
  94. 94. Generalizând, având disponibile triplele: P rdfs:domain D . D rdfs:subClassOf C . putem deduce: P rdfs:domain C . în acest context, moștenirea se stabilește în urma unei deducții logice (înseamnă de fapt inferență) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: inferențe
  95. 95. Deși sintactic nu există suport pentru specificarea operațiilor cu clase (intersecție, reuniune), le putem exprima folosind regulile de inferență (Allemang & Hendler, 2011) modelling patterns Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane
  96. 96. Intersecția de mulțimi (clase): C rdfs:subClassOf A . C rdfs:subClassOf B . având dat triplul r rdf:type C . se poate deduce: r rdf:type A . r rdf:type B . am realizat inferența într-o singură direcție Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane
  97. 97. Intersecția de mulțimi (clase) – exemplu: :Masterand rdfs:subClassOf :Student . :Masterand rdfs:subClassOf :DesignerWeb . :andreea rdf:type :Masterand . se poate deduce: :andreea rdf:type :Student . :andreea rdf:type :DesignerWeb . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane însă, un individ aparținând claselor Student și DesignerWeb nu e obligatoriu să fie membru și al clasei Masterand
  98. 98. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane Similar, se poate modela intersecția de proprietăți
  99. 99. Reuniunea de mulțimi (clase de resurse): A rdfs:subClassOf C . B rdfs:subClassOf C . având r rdf:type A . sau r rdf:type B . se poate deduce: r rdf:type C . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane
  100. 100. Reuniunea de mulțimi (clase) – exemplu: :Sit rdfs:subClassOf :Produs . :ServiciuWeb rdfs:subClassOf :Produs . :SolutieEBanking rdf:type :ServiciuWeb . (sau :SolutieEBanking rdf:type :Sit .) se poate deduce: :SolutieEBanking rdf:type :Produs . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane
  101. 101. “Transferul” de proprietăți: P rdfs:subPropertyOf Q . având triplul XPY. se poate deduce: XQY. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane
  102. 102. “Transferul” de proprietăți: are utilizări în reconcilierea terminologiilor :autor rdfs:subPropertyOf dc:creator . bib:imprumutaCarte rdfs:subPropertyOf :preiaVolum . lib:borrows rdfs:subPropertyOf :preiaVolum . Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane
  103. 103. Referințe la alte resurse rdfs:seeAlso proprietate care indică o altă resursă care conține informații suplimentare privitoare la o anumită resursă Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: alte construcții
  104. 104. Dr. Sabin Buragawww.purl.org/net/busaco PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?denumire ?url obținerea WHERE { denumirilor și ?resursa rdfs:seeAlso ?url . URL-urilor unor resurse de interes ?resursa rdfs:label ?denumire . FILTER (regex (str (?denumire), "Harry Potter")) } ORDER BY ?denumire
  105. 105. Organizarea vocabularelor rdfs:isDefinedBy sub-proprietate a rdfs:seeAlso desemnează o legătură (via un URI) spre sursa primară de informații despre o anumită resursă Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: alte construcții
  106. 106. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix og: <http://ogp.me/ns#> . og:url a rdf:Property ; rdfs:label "url"@en-US ; rdfs:comment "The canonical URL of your object that will be used as its permanent ID in the graph."@en-US ; rdfs:seeAlso dc:identifier, foaf:homepage ; rdfs:isDefinedBy og: . fragment din schema RDF og:title a rdf:Property ; (în format Turtle) rdfs:label "title"@en-US ; rdfs:subPropertyOf rdfs:label . detalii la http://ogp.me/ Dr. Sabin Buragawww.purl.org/net/busaco OGP (Open Graph Protocol) permite specificarea de meta-date asociate unei resurse Web folosite în cadrul Facebook
  107. 107. Dr. Sabin Buragawww.purl.org/net/busaco modelarea în RDF(S) a schemelor de microdate HTML5 oferite de schema.org – aici, proprietatea recipeYield (rezultatul unei rețete gastronomice) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix schema: <http://schema.org/> . schema:recipeYield a rdf:Property; rdfs:label "Recipe Yield"@en; rdfs:comment "The quantity produced by the recipe (for example, number of people served, number of servings, etc)."@en ; rdfs:domain schema:Recipe ; rdfs:range xsd:string ; rdfs:isDefinedBy <http://schema.org/Recipe> . pentru detalii, de studiat http://schema.rdfs.org/
  108. 108. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: alte construcții Modelul RDF Schema specificat în RDF Schema – fragment: <rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"> <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/> <rdfs:label>type</rdfs:label> <rdfs:comment>The subject is an instance of a class.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/> </rdf:Property>
  109. 109. rdfs:Resource rdfs:Literal rdf:XMLLiteral rdfs:Class rdf:Property rdfs:Datatype rdf:Statement rdf:Bag rdf:Seq rdf:Alt rdfs:Container rdfs:Container MembershipProperty rdf:List comment The class resource, everything. The class of literal values, e.g. textual strings and integers. The class of XML literals values. The class of classes. The class of RDF properties. The class of RDF datatypes. The class of RDF statements. The class of unordered containers. The class of ordered containers. The class of containers of alternatives. The class of RDF containers. Dr. Sabin Buragawww.purl.org/net/busaco class name The class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'. The class of RDF Lists.
  110. 110. comment domain The subject is an instance rdfs:Resource rdf:type of a class. rdfs:subClassOf The subject is a subclass of a class. rdfs:Class rdfs: subPropertyOf rdfs:domain rdfs:range rdfs:label rdfs:comment rdfs:member range rdfs:Class rdfs:Class Dr. Sabin Buragawww.purl.org/net/busaco property name The subject is a sub-property of a property. rdf:Property rdf:Property A domain of the subject property. rdf:Property rdfs:Class A range of the subject property. A human-readable name for the subject. A description of the subject resource. A member of the subject resource. rdf:Property rdfs:Class rdfs:Resource rdfs:Literal rdfs:Resource rdfs:Literal rdfs:Resource rdfs:Resource
  111. 111. rdf:first rdf:rest rdfs:seeAlso rdfs:isDefinedBy rdf:value rdf:subject rdf:predicate rdf:object comment domain range First item in the subject RDF list. rdf:List rdfs:Resource Rest of the subject RDF list rdf:List rdf:List after the first item. Further information about rdfs:Resource rdfs:Resource the subject resource. The definition of the subject rdfs:Resource rdfs:Resource resource. Idiomatic property used for structured values. The subject of the subject RDF statement. The predicate of the subject RDF statement. The object of the subject RDF statement. Dr. Sabin Buragawww.purl.org/net/busaco property name rdfs:Resource rdfs:Resource rdf:Statement rdfs:Resource rdf:Statement rdfs:Resource rdf:Statement rdfs:Resource
  112. 112. Graful modelului RDF Schema rdf schema Dr. Sabin Buragawww.purl.org/net/busaco Fabien L. Gandon et al., 2011
  113. 113. Dr. Sabin Buragawww.purl.org/net/busaco Există posibilitatea folosirii unui model conceptual mai expresiv?
  114. 114. Thesaurus: a controlled vocabulary arranged in a known order and structured so that equivalence, homographic, hierarchical, and associative relationships among terms are displayed clearly & identified by standardized relationship indicators conform ANSI/NISO Monolingual Thesaurus Standard Dr. Sabin Buragawww.purl.org/net/busaco lexicoane (tezaure)
  115. 115. Relații echivalența termenul X are (aproape) același înțeles cu termenul Y “pagină Web” sinonim cu “document Web” Dr. Sabin Buragawww.purl.org/net/busaco lexicoane (tezaure)
  116. 116. Relații omonimia (omografia) termenul X se pronunță/scrie la fel ca și Y, dar are alt înțeles “toc” versus “toc” versus “toc” “bibliotecă” (literatură) versus “bibliotecă” (programare) “comet” (astronomie) versus “Comet” (Web) Dr. Sabin Buragawww.purl.org/net/busaco lexicoane (tezaure)
  117. 117. Relații ierarhie termenul X are un înțeles mai larg/restrâns decât termenul Y “patrulater” versus “dreptunghi” “aplicație Web” versus “bibliotecă Web” Dr. Sabin Buragawww.purl.org/net/busaco lexicoane (tezaure)
  118. 118. Relații asociere termenul X este asociat termenului Y (e.g., există o relație nespecificată între ei) “cui”/“Pink Floyd” asociat termenului “ciocan” Dr. Sabin Buragawww.purl.org/net/busaco lexicoane (tezaure)
  119. 119. Asigură următoarele: conceptele se descriu într-un mod consistent utilizatorii experimentați pot să-și rafineze căutările pentru localizarea informațiilor dorite utilizatorii nu trebuie să fie familiarizați cu terminologia tehnică (particulară) folosită Dr. Sabin Buragawww.purl.org/net/busaco lexicoane (tezaure)
  120. 120. AGROVOC indexarea multilingvă a resurselor privitoare la agricultură realizată la nivelul Națiunilor Unite Cook’s Thesaurus entități desemnând ingrediente & instrumente utilizate în contextul gastronomic Dr. Sabin Buragawww.purl.org/net/busaco tezaure: exemple
  121. 121. www.gutenberg.org/ebooks/10681 WordNet – wordnet.princeton.edu Dr. Sabin Buragawww.purl.org/net/busaco Roget’s Thesaurus (parte din proiectul Gutenberg)
  122. 122. Dr. Sabin Buragawww.purl.org/net/busaco tezaure: exemple Social Semantic Web Thesaurus http://vocabulary.semantic-web.at/semweb
  123. 123. UNESCO Thesaurus http://databases.unesco.org/thesaurus/ GEMET (GEneral Multilingual Environmental Thesaurus) specifică un model conceptual referitor la mediul înconjurător www.eionet.europa.eu/gemet Dr. Sabin Buragawww.purl.org/net/busaco tezaure: exemple
  124. 124. Dr. Sabin Buragawww.purl.org/net/busaco tezaure: exemple
  125. 125. Simple Knowledge Organizational System oferă suport pentru exprimarea cunoștințele din cadrul sistemelor organizaționale, în general, și al lexicoanelor, în special modelare conceptuală via RDF și scheme RDF Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  126. 126. Simple Knowledge Organizational System suită de specificații ale Consorțiului Web (2009) http://www.w3.org/TR/skos-reference http://www.w3.org/TR/skos-primer Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  127. 127. SKOS Core modelează în special lexicoane (tezaure) utilizează spațiul de nume http://www.w3.org/2004/02/skos/core SKOS Mapping extensie ce permite asocierea de concepte provenind din tezaure diferite Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – niveluri de specificare
  128. 128. Un sistem de organizare a cunoștințelor este compus în principal din concepte med:MedicalImagery soft:Malware wordnet:Art voc:SemanticWeb rdf:type rdf:type rdf:type rdf:type skos:Concept . skos:Concept . skos:Concept . skos:Concept . se poate recurge la vocabulare diverse Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  129. 129. Definirea conceptului „instrument” <skos:Concept rdf:about="#instrument"> <skos:definition>Obiect utilizat într-un anumit scop</skos:definition> <!-- specializare a unui alt concept --> <skos:narrower rdf:resource="#obiect"/> <!-- concepte înrudite --> <skos:related rdf:resource="#unealta"/> <skos:related rdf:resource="#dispozitiv"/> <skos:related rdf:resource="#mecanism"/> <skos:scopeNote>...</skos:scopeNote> </skos:Concept> Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – exemplu
  130. 130. Specificarea lexiconului arhivelor naționale britanice UKAT – UK Archival Thesaurus (Allemang & Hendler, ‘11) UKAT:EconomicCooperation a skos:Concept ; skos:altLabel "Economic co-operation" ; skos:broader UKAT:EconomicPolicy; skos:narrower UKAT:IndustrialCooperation, UKAT:EconomicIntegration ; skos:prefLabel "Economic cooperation" ; skos:related UKAT:Interdependence ; skos:scopeNote "..." . relații dintre concepte: broader, narrower și related Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – exemplu
  131. 131. Rafinează conceptul de etichetă generică rdfs:label, oferind prefLabel, altLabel și hiddenLabel s:rocks rdf:type skos:Concept ; skos:prefLabel "rocks"@en ; skos:altLabel "basalt"@en ; skos:altLabel "granite"@en ; skos:altLabel "slate"@en . skos:prefLabel a rdf:Property ; rdfs:label "eticheta preferată" ; rdfs:subPropertyOf rdfs:label . Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  132. 132. definirea conceptului “Schema Languages” Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – exemplu
  133. 133. SKOS în cadrul DBpedia Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  134. 134. SELECT ?prefLabel1 ?prefLabel2 ?doc ?title WHERE { ?doc lifeskim:mentions <http://linkedlifedata.com/resource/umls/id/C0439994>. ?doc lifeskim:mentions ?concept1a . ?concept1a skos:broaderTransitive ?concept1 . ?concept1 skos:prefLabel "Leukocytes"@en . ?doc lifeskim:mentions ?concept2a . ?concept2a skos:broaderTransitive ?concept2 . ?concept2 skos:prefLabel "Respiration Disorders"@en . ?concept1a skos:prefLabel ?prefLabel1 . ?concept2a skos:prefLabel ?prefLabel2 . ?doc pubmed:articleTitle ?title . } exemplificare: o interogare SPARQL oferind publicațiile medicale ce descriu relația dintre leucocite, afecțiuni respiratorii și fumat http://linkedlifedata.com/sparql Dr. Sabin Buragawww.purl.org/net/busaco PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX lifeskim: <http://linkedlifedata.com/resource/lifeskim/> PREFIX pubmed: <http://linkedlifedata.com/resource/pubmed/>
  135. 135. Diverse alte lexicoane exprimate via SKOS: Cadastre and Land Administration Thesaurus Drug Administration Forms International Virtual Observatory Alliance astronomy voc. STW Thesaurus for Economics Thesaurus for the Social Sciences USA Library of Congress’ vocabularies Wikipedia Article categories www.w3.org/2001/sw/wiki/SKOS/Datasets Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  136. 136. ThManager – vizualizare & explorare de lexicoane la nivel de desktop (Java): http://thmanager.sourceforge.net/ Neologism – platformă open source (bazată pe Drupal) de publicare a vocabularelor: http://neologism.deri.ie/ SKOSEd – extensie (implementată în Java) pentru Protégé de creare & editare a modelelor SKOS http://code.google.com/p/skoseditor/ Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – instrumente software
  137. 137. TemaTres – soluție Web open source (PHP) pentru managementul cunoștințelor www.vocabularyserver.com Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – instrumente software TopBraid Enterprise Vocabulary Net management de vocabulare controlate interconectate (taxonomii, lexicoane, ontologii) la nivel de întreprindere www.topquadrant.com/solutions/ent_vocab_net.html vezi și http://www.mkbergman.com/sweet-tools-simple-list/
  138. 138. Vocabularele (schemele) RDF pot fi publicate în vederea refolosirii conform inițiativei Linked Open Data vocab.org metadataregistry.org rdfs.org Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  139. 139. vocabulare – licențiate Creative Commons – privind legislația, limbajul natural, mediul înconjurător, produsele comerciale, sănătatea etc. Dr. Sabin Buragawww.purl.org/net/busaco cataloagele existente pot fi interogate
  140. 140. “Representation is the essence of programming.” Frederick P. Brooks, The Mythical Man-Month, Addison-Wesley, 1995 Dr. Sabin Buragawww.purl.org/net/busaco concluzii
  141. 141. Dr. Sabin Buragawww.purl.org/net/busaco rezumat modelarea taxonomiilor + lexicoanelor prin RDF Schema și realizarea inferențelor simple
  142. 142. Dr. Sabin Buragawww.purl.org/net/busaco episodul viitor: modelare ontologică via OWL

×