SlideShare une entreprise Scribd logo
1  sur  142
Télécharger pour lire hors ligne
Dr. Sabin Buragawww.purl.org/net/busaco

Dezvoltarea aplicațiilor Web

modelarea cunoștințelor via RDF(S)
realizarea inferențelor simple
Anaxagoras

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

“Toate erau laolaltă – după aceea a venit mintea
și le-a pus în ordine.”
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 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
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
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
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
între două obiecte (instanțe de clase de resurse)

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

necesități
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
Taxonomia reprezintă studiul principiilor
generale de clasificare științifică
i.e. clasificare sistematică

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

taxonomii
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 relații în prealabil fixate stabilite
între entitățile pe care le reprezintă în lumea reală

detalii în (Daum et al., 2003)
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
Fiecare nod (entitate) posedă
o proprietate specifică, proprietate caracteristică
sub-clasei din care face parte

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

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

Dewey Decimal Classification
modelare via RDF(a),
interogare prin SPARQL
dewey.info
Dr. Sabin Buragawww.purl.org/net/busaco
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
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.purl.org/net/busaco

taxonomii: utilizări
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
Dr. Sabin Buragawww.purl.org/net/busaco

taxonomii: utilizari

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

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

taxonomii: utilizări
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
Clasificarea produselor alimentare
WAND Food and Beverage Taxonomy

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

taxonomii: utilizări
Spre deosebire de folksonomii,
taxonomiile sunt considerate
vocabulare controlate (controlled vocabularies)
www.controlledvocabulary.com

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

taxonomii: remarcă
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ă
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 schema
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
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
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
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
Vom putea realiza definirea de proprietăți
și eventuale restricții de utilizare

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

rdf schema
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
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
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
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
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
<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)
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
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
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
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
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
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
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
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
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
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
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 Buragawww.purl.org/net/busaco

rdf schema: model
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
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: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)
Dr. Sabin Buragawww.purl.org/net/busaco

rdf schema: exemplu

specificarea domeniului și intervalului
pentru o proprietate FOAF (D. Brickley & L. Miller, 2010)
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/
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: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
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 .
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)
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>
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>
<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):
<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):
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) nu fac parte din clasă

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

rdf schema
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
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
Oferă suport pentru modelarea
clasificărilor de resurse (i.e. taxonomii)

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

rdf schema
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
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
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
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
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
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
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
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
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
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
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
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
î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
î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
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 .
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 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
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
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
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
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 .
se poate deduce:
r rdf:type C .

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

rdf schema: șabloane
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
“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
“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
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
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
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
@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
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/
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>
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.
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
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
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,
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)
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)
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)
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)
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)
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)
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
www.gutenberg.org/ebooks/10681

WordNet – wordnet.princeton.edu

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

Roget’s Thesaurus (parte din proiectul Gutenberg)
Dr. Sabin Buragawww.purl.org/net/busaco

tezaure: exemple

Social Semantic Web Thesaurus
http://vocabulary.semantic-web.at/semweb
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
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, în general,
și al lexicoanelor, în special

modelare conceptuală via RDF și scheme RDF

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

tezaure: skos
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
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
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
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
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
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
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/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/>
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
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
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/
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
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
“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
Dr. Sabin Buragawww.purl.org/net/busaco

rezumat

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

episodul viitor: modelare ontologică via OWL

Contenu connexe

En vedette

Despre gtd20.ro
Despre gtd20.roDespre gtd20.ro
Despre gtd20.roPetrvs L.
 
Turism market blogul specialistilor in turism ppt
Turism market  blogul specialistilor in turism pptTurism market  blogul specialistilor in turism ppt
Turism market blogul specialistilor in turism pptCarmina Nitescu
 
Ghid de turism - Paula Posea - General 2
Ghid de turism - Paula Posea - General 2Ghid de turism - Paula Posea - General 2
Ghid de turism - Paula Posea - General 2IMI PQ NET Romania
 
Seminar 3 - Turism International
Seminar 3 - Turism InternationalSeminar 3 - Turism International
Seminar 3 - Turism InternationalMarius Lazin
 
Seminar 2 - Turism International
Seminar 2 - Turism InternationalSeminar 2 - Turism International
Seminar 2 - Turism InternationalMarius Lazin
 

En vedette (6)

Despre gtd20.ro
Despre gtd20.roDespre gtd20.ro
Despre gtd20.ro
 
Prezentare vanzare aplicata turism by RTT
Prezentare vanzare aplicata turism by RTTPrezentare vanzare aplicata turism by RTT
Prezentare vanzare aplicata turism by RTT
 
Turism market blogul specialistilor in turism ppt
Turism market  blogul specialistilor in turism pptTurism market  blogul specialistilor in turism ppt
Turism market blogul specialistilor in turism ppt
 
Ghid de turism - Paula Posea - General 2
Ghid de turism - Paula Posea - General 2Ghid de turism - Paula Posea - General 2
Ghid de turism - Paula Posea - General 2
 
Seminar 3 - Turism International
Seminar 3 - Turism InternationalSeminar 3 - Turism International
Seminar 3 - Turism International
 
Seminar 2 - Turism International
Seminar 2 - Turism InternationalSeminar 2 - Turism International
Seminar 2 - Turism International
 

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

WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)Sabin Buraga
 
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...Sabin Buraga
 
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...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 (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 (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 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
 
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 (4/12) Aspects regarding Data and Knowledge Modeling
WADe 2017-2018 (4/12) Aspects regarding Data and Knowledge ModelingWADe 2017-2018 (4/12) Aspects regarding Data and Knowledge Modeling
WADe 2017-2018 (4/12) Aspects regarding Data and Knowledge ModelingSabin 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
 
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 (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 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQLWADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQLSabin Buraga
 
Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...
Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...
Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...Sabin Buraga
 
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...Sabin Buraga
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin 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
 
WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL
WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWLWADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL
WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWLSabin Buraga
 
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...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
 

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

WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
WADe 2017-2018 (5/12) Data Modeling in RDF (Resource Description Framework)
 
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
WADe 2014—2015 (10/12): Semantic Web—Specificarea ontologiilor via OWL 2. Log...
 
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
WADe 2017-2018 (7/12) Architecture of RDF-based Applications. Linked Open Dat...
 
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 (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 (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 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...
 
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 (4/12) Aspects regarding Data and Knowledge Modeling
WADe 2017-2018 (4/12) Aspects regarding Data and Knowledge ModelingWADe 2017-2018 (4/12) Aspects regarding Data and Knowledge Modeling
WADe 2017-2018 (4/12) Aspects regarding Data and Knowledge Modeling
 
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
 
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 (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 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQLWADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
WADe 2017-2018 (6/12) RDF Data Management. Accessing RDF Data via SPARQL
 
Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...
Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...
Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limba...
 
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
Dezvoltarea aplicațiilor Web (10/12): Specificarea ontologiilor via OWL 2. Lo...
 
Sabin Buraga: Participând la Web
Sabin Buraga: Participând la WebSabin Buraga: Participând la Web
Sabin Buraga: Participând la Web
 
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...
 
WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL
WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWLWADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL
WADe 2014—2015 (09/12): Semantic Web—Specificarea ontologiilor în limbajul OWL
 
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
Dezvoltarea aplicațiilor Web (1/12): Dezvoltarea de aplicaţii Web: Concepte &...
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
 

Plus de 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 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 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
 
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
 
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
 
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
 
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 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 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 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 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 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
 

Plus de 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 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 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
 
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
 
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. ...
 
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
 
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 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 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 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 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 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
 

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

  • 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. Anaxagoras Dr. Sabin Buragawww.purl.org/net/busaco “Toate erau laolaltă – după aceea a venit mintea și le-a pus în ordine.”
  • 3. RDF oferă posibilitatea de a descrie/adnota (explicit) resursele Web Dr. Sabin Buragawww.purl.org/net/busaco constatare
  • 4. Declaratiile RDF se situează la nivel de instanțe (indivizi) Dr. Sabin Buragawww.purl.org/net/busaco constatare
  • 5. Lipsește un mecanism de declarare a unui vocabular Dr. Sabin Buragawww.purl.org/net/busaco constatare
  • 6. <http://www.apple.com/ipad/> rdf:type foaf:name :Produs ; "iPad" . Dr. Sabin Buragawww.purl.org/net/busaco constatare
  • 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. 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. 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. O modalitate de a declara relațiile dintre (clase de) resurse Dr. Sabin Buragawww.purl.org/net/busaco necesități
  • 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. 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. Taxonomia reprezintă studiul principiilor generale de clasificare științifică i.e. clasificare sistematică Dr. Sabin Buragawww.purl.org/net/busaco taxonomii
  • 14. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii Carolus Linnaeus, Philosophia botanica (1751)
  • 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. 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. 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. Dr. Sabin Buragawww.purl.org/net/busaco Dewey Decimal Classification modelare via RDF(a), interogare prin SPARQL dewey.info
  • 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. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: exemplu Musicmoz Music Styles – vocabularyserver.com
  • 22. NASA Taxonomy Dr. Sabin Buragawww.purl.org/net/busaco
  • 23. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: exemplu UniProt Taxonomy – www.uniprot.org
  • 24. Dr. Sabin Buragawww.purl.org/net/busaco o taxonomie de specificare a regulilor (Bernstein et al., 2005)
  • 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. 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. Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizari Yahoo! taxonomy exemplu menționat de (Bouquet, Serafini & Zanobini, 2005)
  • 28. Comerț electronic Universal Standard Products and Services Classification www.eccma.org Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  • 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. Clasificarea produselor alimentare WAND Food and Beverage Taxonomy Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: utilizări
  • 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. 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. Modelarea poate fi realizată via scheme RDF Dr. Sabin Buragawww.purl.org/net/busaco taxonomii: model
  • 34. Permite definirea de taxonomii clase, super-clase și sub-clase de resurse Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  • 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. 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. 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. 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. Vom putea realiza definirea de proprietăți și eventuale restricții de utilizare Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  • 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 57. Remarcă: nu e obligatoriu să definim conceptul Integer Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: model
  • 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. 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. Dr. Sabin Buragawww.purl.org/net/busaco La ce pot fi utilizate schemele RDF?
  • 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. 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. 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. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu specificarea unei clase SIOC
  • 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. 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. 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. 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. 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. <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. <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. graful RDF corespunzător Dr. Sabin Buragawww.purl.org/net/busaco
  • 73. Clasele și proprietățile sunt modelate separat Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  • 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. 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. 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. Oferă suport pentru modelarea clasificărilor de resurse (i.e. taxonomii) Dr. Sabin Buragawww.purl.org/net/busaco rdf schema
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. î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. î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. 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. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: exemplu Modelarea unui web privitor la familii de persoane
  • 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. 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. 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. 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. Dr. Sabin Buragawww.purl.org/net/busaco rdf schema: șabloane Similar, se poate modela intersecția de proprietăți
  • 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. 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. “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. “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. 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. 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. 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. @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. 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. 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. 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. 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. 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. Graful modelului RDF Schema rdf schema Dr. Sabin Buragawww.purl.org/net/busaco Fabien L. Gandon et al., 2011
  • 113. Dr. Sabin Buragawww.purl.org/net/busaco Există posibilitatea folosirii unui model conceptual mai expresiv?
  • 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. 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. 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. 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. 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. 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. 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. 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. Dr. Sabin Buragawww.purl.org/net/busaco tezaure: exemple Social Semantic Web Thesaurus http://vocabulary.semantic-web.at/semweb
  • 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
  • 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. 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. 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. 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. 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. 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. 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. definirea conceptului “Schema Languages” Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos – exemplu
  • 133. SKOS în cadrul DBpedia Dr. Sabin Buragawww.purl.org/net/busaco tezaure: skos
  • 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. 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. 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. 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. 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. 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. “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. Dr. Sabin Buragawww.purl.org/net/busaco rezumat modelarea taxonomiilor + lexicoanelor prin RDF Schema și realizarea inferențelor simple
  • 142. Dr. Sabin Buragawww.purl.org/net/busaco episodul viitor: modelare ontologică via OWL