dezvoltarea aplicațiilor web (8/12): modelarea taxonomiilor şi lexicoanelor cu rdf schema
Post on 13-May-2015
477 Views
Preview:
DESCRIPTION
TRANSCRIPT
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Dezvoltarea aplicațiilor Web
modelarea cunoștințelor via RDF(S)realizarea inferențelor simple
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
“Toate erau laolaltă – după aceea a venit minteași le-a pus în ordine.”
Anaxagoras
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
constatare
RDF oferă posibilitatea de a descrie/adnota(explicit) resursele Web
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
constatare
Declaratiile RDF se situeazăla nivel de instanțe (indivizi)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
constatare
Lipsește un mecanism de declarare a unui vocabular
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
constatare
<http://www.apple.com/ipad/> rdf:type :Produs ;
foaf:name "iPad" .
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
constatare
<http://www.apple.com/ipad/> rdf:type :Produs ;
foaf:name "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.
Sab
in B
ura
ga
www.purl.org/net/busaco
necesități
O manieră de specificare (formală)a unui model de cunoștințe privitor la un web
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
necesități
O modalitate de a declararelațiile dintre (clase de) resurse
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
necesități
O modalitate de a declararelaț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.
Sab
in B
ura
ga
www.purl.org/net/busaco
necesități
Ne-ar fi util un model ce permite definireaunei taxonomii, în termeni de clase, superclase
și subclase de resurse
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii
Taxonomia reprezintă studiul principiilorgenerale de clasificare științifică
i.e. clasificare sistematică
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii
Carolus Linnaeus, Philosophia botanica (1751)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii
Resursele pot fi clasificatesub 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)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii
Taxonomie arbore:
noduriconcepte (clase)
relații dintre nodurirelații de sub-/supra-clasificare
(generalizare/specializare)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii
Fiecare nod (entitate) posedăo proprietate specifică, proprietate caracteristică
sub-clasei din care face parte
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Dewey Decimal Classificationmodelare via RDF(a),
interogare prin SPARQLdewey.info
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Warehouse Vocabularies Publishers Categories
Arts & HumanitiesBusiness Health & MedicineProducts & Services
ProductsServices
Science & TechnologyGeneral Science & TechnologyAeronautics & Astronautics…Computers
Social SciencesAnthropologyEconomy…
conform (Factiva Inc., 2009)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: exemplu
Musicmoz Music Styles – vocabularyserver.com
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
NASA Taxonomy
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: exemplu
UniProt Taxonomy – www.uniprot.org
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
o taxonomie de specificare a regulilor(Bernstein et al., 2005)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: utilizări
Clasificarea resurselor
model simplu de clasificare
o taxonomie poate reprezenta o ontologie simplă
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: utilizari
Yahoo! taxonomyexemplu menționat de (Bouquet, Serafini & Zanobini, 2005)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: utilizări
Comerț electronic
Universal Standard Products and Services Classification
www.eccma.org
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: utilizări
Clasificarea produselor alimentare
WAND Food and Beverage Taxonomy
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: remarcă
Spre deosebire de folksonomii,taxonomiile sunt considerate
vocabulare controlate (controlled vocabularies)
www.controlledvocabulary.com
Dr.
Sab
in B
ura
ga
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 domeniude cunoaștere și nu de utilizatori obișnuiți
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
taxonomii: model
Modelarea poate fi realizată via scheme RDF
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Permite definirea de taxonomii
clase, super-clase și sub-clase de resurse
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Oferă o modalitate de specificarea unui vocabular de termeni și
de relații între acești termeni
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Oferă o modalitate de specificarea 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 vocabularaparținând unor vocabulare diferite
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Vom putea realiza definirea de proprietățiși eventuale restricții de utilizare
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Pune la dispoziție maniere de specificarea claselor de resurse și proprietăților obiectelor
în contextul utilizării unui vocabular
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: terminologie
tip (type), clasă (Class), proprietate (Property)
Persoana rdf:type Class
areIdentitate rdf:type Property
Aplicatie rdf:type Class
ruleazaPe rdf:type Property
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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 {
?clasa rdf:type rdfs:Class
}
ORDER BY ?clasa
descoperireatuturor claselor
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Exemplu: clasele de resurse oferite de DBpedia (fragment)
<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.
Sab
in B
ura
ga
www.purl.org/net/busaco
Clase fundamentale
rdfs:Resource clasa resurselor
rdf:Property clasa proprietăților resurselor
rdfs:Classclasa claselor (corespundeconceptului de tip sau categorie)
rdfs:Containerclasa privind containerelede date RDF (Bag, Seq, Alt)
rdfs:Datatype clasa tipurilor de date
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: model
Clasele specifica resurse – identificate de URI
pagini Webtipuri de documente: publicații, prezentări etc.
baze de dateentități abstracte: persoane, intervale de timp etc.
produse (in)tangibile…
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
Proprietăți fundamentale
rdf:typeindică faptul că o resursăeste membră a unei clase(apartenența la un tip de date)
rdfs:subClassOfspecifică relația de moștenirea claselor (relație tranzitivă)
rdfs:subPropertyOfdesemnează relația de moștenire a proprietăților
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: exemplu
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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:Class ; # în sintaxa Turtle
rdfs:subClassOf :Multimedia .
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Restricțiiimpuse asupra claselor și/sau proprietăților
rdfs:range restricționează valorile unei proprietăți
rdfs:domainspecifică o clasă ale cărei instanțepot avea asignate valorispecifice proprietății
Dr.
Sab
in B
ura
ga
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>
Dr.
Sab
in B
ura
ga
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 rdf:Property ; # varianta Turtle
rdfs:domain :Multimedia ;
rdfs:range :Integer .
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: exemplu
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: model
Remarcă:nu e obligatoriu să definim conceptul Integer
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: model
Remarcă:nu e obligatoriu să definim conceptul Integer
ipoteza lumilor deschise(OWA – open world assumption)
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
La ce pot fi utilizate schemele RDF?
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
WGS84 Geo Positioning (Tim Berners-Lee, 2009)
clasa SpatialThing include sub-clasa Point
se definesc proprietățile lat, long, alt, location
SpatialThing a rdfs:Class .Point a rdfs:Class ;
rdfs:subClassOf SpatialThing .
long a rdf:Property ;rdfs:domain SpatialThing ;rdfs:label "longitude" ;rdfs:comment "The WGS84 longitude of a SpatialThing
(decimal degrees)"@en ;location a rdf:Property ;
rdfs:label "location" ;rdfs:subPropertyOf foaf:based_near ;rdfs:range SpatialThing .
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: exemplu
specificarea domeniului și intervaluluipentru o proprietate FOAF (D. Brickley & L. Miller, 2010)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Modelul conceptual al SIOC – Semantically Interconnected Online Communities (Bojārs & Breslin, 2010)
http://rdfs.org/sioc/spec/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: exemplu
specificarea unei clase SIOC
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Modelarea calendarelor de evenimenteinspirat de (Manjunath et al., 2008)
cal:Vevent a rdfs:Class . clasa evenimentelor
cal:attendee a rdf:Property ; proprietate specificând participantul
rdfs:domain cal:Vevent ;
rdfs:range foaf:Person .
cal:location a rdf:Property . proprietate modelând locația
cal:dtstart a rdf:Property . proprietăți privind intervalul de timp
cal:dtend a rdf:Property . referitor la desfășurarea evenim.
cal:relatedTo a rdf:Property ; relația cu alte evenimente similare
rdfs:domain cal:Vevent ;
rdfs:range cal:Vevent .
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Modelarea calendarelor de evenimenteinspirat 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 .
:WinterWebWorkshop rdf:type cal:Vevent ;
cal:location [ :city "Iasi" ] ;
cal:dtstart "2013-12-07T09:00:00" ;
cal:dtend "2013-12-08T18:00:00" ;
cal:relatedTo :DesignJamIasi, :SWeb2013;
cal:url <http://tinyurl.com/www-infoiasi> .
o posibilă instanțăde eveniment
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Parte de vorbire
Substantiv Verb
Verb reflexivSubst. comun
SubiectAldomain
Nivelul ontologic
Nivelul datelor
SubiectAlCrocodilii se joacă
type type
domain range
subClassOf subClassOf
subClassOf
specificarea părților de vorbire – part of speechadaptare după Nancy Ide (EuroLAN 2003)
Dr.
Sab
in B
ura
ga
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>
<rdfs:Classrdf: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>
definirea claselor
Dr.
Sab
in B
ura
ga
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>
specificareaunei proprietăți
Dr.
Sab
in B
ura
ga
www.purl.org/net/busacoFolosirea – 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>
</rdf:RDF>
adnotareexplicită
Dr.
Sab
in B
ura
ga
www.purl.org/net/busacoFolosirea – 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>
</rdf:RDF>pe baza acestui model, un instrument
software ar putea semnalaunele nepotriviri gramaticale
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
graful RDF corespunzător
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Clasele și proprietățile sunt modelate separat
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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 cursurileviitoare
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Oferă suport pentru modelareaclasificărilor de resurse (i.e. taxonomii)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: studiu de caz
Modelarea datelor pentru o aplicație de ascultatCD-uri: cdream
lucrare de licență a absolventului FIIVictor Grigoriu, 2003
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: studiu de caz
Modelarea datelor pentru o aplicație de ascultatCD-uri: cdream
clase (concepte)
CD – http://cdream.ro/CD
Piesă – http://cdream.ro/Piesa
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: exemplu
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Reprezintă un model de specificare explicităa relațiilor dintre clase de “lucruri” de interes
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: inferențe
Pune bazele efectuării automate de inferențe
e.g., “descoperirea” relațiilor dintre resurse
detalii în (Allemang & Hendler, 2011)
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: inferențe
pentru subproprietăți, având triple de forma:P rdfs:subPropertyOf R .
A P B .
putem deduce:A R B .
triplu dedus(inferred triple)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: inferențe
în cazul specificării domeniului, având triple de forma:P rdfs:domain D .
x P y .
putem deduce:x rdf:type D .
triplu dedus(inferred triple)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: inferențe
în cazul specificării intervalului, având triple de forma:P rdfs:range R .
x P y .
putem deduce:y rdf:type R .
triplu dedus(inferred triple)
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: exemplu
Modelarea unui web privitor la familii de persoane
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: inferențe
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: șabloane
Deși sintactic nu există suport pentru specificareaoperațiilor cu clase (intersecție, reuniune),
le putem exprima folosind regulile de inferență(Allemang & Hendler, 2011)
modelling patterns
Dr.
Sab
in B
ura
ga
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 triplulr rdf:type C .
se poate deduce:r rdf:type A .
r rdf:type B .am realizat
inferența într-o singură direcție
Dr.
Sab
in B
ura
ga
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 .
însă, un individ aparținând claselor Student și DesignerWeb
nu e obligatoriu să fie membru și al clasei Masterand
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: șabloane
Similar, se poate modela intersecția de proprietăți
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: șabloane
Reuniunea de mulțimi (clase de resurse):A rdfs:subClassOf C .
B rdfs:subClassOf C .
avândr rdf:type A . sau r rdf:type B .
se poate deduce:r rdf:type C .
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: șabloane
“Transferul” de proprietăți:
P rdfs:subPropertyOf Q .
având triplulX P Y .
se poate deduce:X Q Y .
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: alte construcții
Referințe la alte resurse
rdfs:seeAlso
proprietate care indică o altă resursă care conțineinformații suplimentare privitoare la o anumită resursă
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>SELECT ?denumire ?urlWHERE {
?resursa rdfs:seeAlso ?url .?resursa rdfs:label ?denumire . FILTER (regex (str (?denumire), "Harry Potter"))
} ORDER BY ?denumire
obținereadenumirilor și
URL-urilor unorresurse de interes
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema: alte construcții
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
OGP (Open Graph Protocol)permite specificarea de meta-date
asociate unei resurse Web folosite în cadrul Facebook
detalii la http://ogp.me/
@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: .
og:title a rdf:Property ;
rdfs:label "title"@en-US ;
rdfs:subPropertyOf rdfs:label .
fragment din schema RDF (în format Turtle)
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
modelarea în RDF(S) a schemelor de microdate HTML5oferite de schema.org – aici, proprietatea recipeYield
(rezultatul unei rețete gastronomice)
pentru detalii, de studiat http://schema.rdfs.org/
@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> .
Dr.
Sab
in B
ura
ga
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>
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
class name comment
rdfs:Resource The class resource, everything.
rdfs:Literal The class of literal values, e.g. textual strings and integers.
rdf:XMLLiteral The class of XML literals values.
rdfs:Class The class of classes.
rdf:Property The class of RDF properties.
rdfs:Datatype The class of RDF datatypes.
rdf:Statement The class of RDF statements.
rdf:Bag The class of unordered containers.
rdf:Seq The class of ordered containers.
rdf:Alt The class of containers of alternatives.
rdfs:Container The class of RDF containers.
rdfs:Container
MembershipProperty
The class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'.
rdf:List The class of RDF Lists.
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
property name comment domain range
rdf:typeThe subject is an instance
of a class.rdfs:Resource rdfs:Class
rdfs:subClassOf The subject is a subclass of a class. rdfs:Class rdfs:Class
rdfs:
subPropertyOfThe subject is a sub-property
of a property.rdf:Property rdf:Property
rdfs:domain A domain of the subject property. rdf:Property rdfs:Class
rdfs:range A range of the subject property. rdf:Property rdfs:Class
rdfs:labelA human-readable name
for the subject.rdfs:Resource rdfs:Literal
rdfs:commentA description of the subject
resource.rdfs:Resource rdfs:Literal
rdfs:member A member of the subject resource. rdfs:Resource rdfs:Resource
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
property name comment domain range
rdf:first First item in the subject RDF list. rdf:List rdfs:Resource
rdf:restRest of the subject RDF list
after the first item.rdf:List rdf:List
rdfs:seeAlsoFurther information about
the subject resource.rdfs:Resource rdfs:Resource
rdfs:isDefinedByThe definition of the subject
resource.rdfs:Resource rdfs:Resource
rdf:valueIdiomatic property used
for structured values.rdfs:Resource rdfs:Resource
rdf:subjectThe subject of the subject
RDF statement.rdf:Statement rdfs:Resource
rdf:predicateThe predicate of the subject
RDF statement.rdf:Statement rdfs:Resource
rdf:objectThe object of the subject
RDF statement.rdf:Statement rdfs:Resource
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rdf schema
Graful modelului RDF SchemaFabien L. Gandon et al., 2011
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Există posibilitatea folosiriiunui model conceptual mai expresiv?
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
lexicoane (tezaure)
Thesaurus: a controlled vocabulary arrangedin a known order and structured so that equivalence, homographic, hierarchical,
and associative relationships among termsare displayed clearly & identified by standardized
relationship indicators
conform ANSI/NISO Monolingual Thesaurus Standard
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
lexicoane (tezaure)
Relații
echivalențatermenul X are (aproape) același înțeles cu termenul Y
“pagină Web” sinonim cu “document Web”
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
lexicoane (tezaure)
Relații
ierarhietermenul X are un înțeles mai larg/restrâns
decât termenul Y
“patrulater” versus “dreptunghi”“aplicație Web” versus “bibliotecă Web”
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
lexicoane (tezaure)
Relații
asocieretermenul X este asociat termenului Y
(e.g., există o relație nespecificată între ei)
“cui”/“Pink Floyd” asociat termenului “ciocan”
Dr.
Sab
in B
ura
ga
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ărilepentru localizarea informațiilor dorite
utilizatorii nu trebuie să fie familiarizațicu terminologia tehnică (particulară) folosită
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: exemple
AGROVOCindexarea multilingvă a resurselor privitoare
la agricultură realizată la nivelul Națiunilor Unite
Cook’s Thesaurusentități desemnând ingrediente &
instrumente utilizate în contextul gastronomic
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
Roget’s Thesaurus (parte din proiectul Gutenberg)www.gutenberg.org/ebooks/10681
WordNet – wordnet.princeton.edu
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: exemple
Social Semantic Web Thesaurushttp://vocabulary.semantic-web.at/semweb
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: exemple
UNESCO Thesaurushttp://databases.unesco.org/thesaurus/
GEMET (GEneral Multilingual Environmental Thesaurus)specifică un model conceptual
referitor la mediul înconjurătorwww.eionet.europa.eu/gemet
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: exemple
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos
Simple Knowledge Organizational System
oferă suport pentru exprimarea cunoștințele din cadrulsistemelor organizaționale, în general,
și al lexicoanelor, în special
modelare conceptuală via RDF și scheme RDF
Dr.
Sab
in B
ura
ga
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos – niveluri de specificare
SKOS Coremodelează în special lexicoane (tezaure)
utilizează spațiul de numehttp://www.w3.org/2004/02/skos/core
SKOS Mappingextensie ce permite asocierea
de concepte provenind din tezaure diferite
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos
Un sistem de organizare a cunoștințeloreste compus în principal din concepte
med:MedicalImagery rdf:type skos:Concept .
soft:Malware rdf:type skos:Concept .
wordnet:Art rdf:type skos:Concept .
voc:SemanticWeb rdf:type skos:Concept .
se poate recurge la vocabulare diverse
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos – exemplu
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos – exemplu
Specificarea lexiconului arhivelor naționale britaniceUKAT – 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.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos – exemplu
definirea conceptului “Schema Languages”
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos
SKOS în cadrul DBpedia
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
exemplificare: o interogare SPARQL oferind publicațiile medicalece descriu relația dintre leucocite, afecțiuni respiratorii și fumat
http://linkedlifedata.com/sparql
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX lifeskim: <http://linkedlifedata.com/resource/lifeskim/>
PREFIX pubmed: <http://linkedlifedata.com/resource/pubmed/>
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 .
}
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos
Diverse alte lexicoane exprimate via SKOS:Cadastre and Land Administration Thesaurus
Drug Administration FormsInternational Virtual Observatory Alliance astronomy voc.
STW Thesaurus for Economics Thesaurus for the Social Sciences
USA Library of Congress’ vocabulariesWikipedia Article categories
www.w3.org/2001/sw/wiki/SKOS/Datasets
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos – instrumente software
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.
Sab
in B
ura
ga
www.purl.org/net/busaco
tezaure: skos – instrumente software
TemaTres – soluție Web open source (PHP) pentru managementul cunoștințelor
www.vocabularyserver.com
TopBraid Enterprise Vocabulary Netmanagement de vocabulare controlate interconectate
(taxonomii, lexicoane, ontologii) la nivel de întreprinderewww.topquadrant.com/solutions/ent_vocab_net.html
vezi și http://www.mkbergman.com/sweet-tools-simple-list/
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
concluzii
Vocabularele (schemele) RDF pot fi publicateîn vederea refolosirii
conform inițiativei Linked Open Data
vocab.org
metadataregistry.org
rdfs.org
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
vocabulare – licențiate Creative Commons –privind legislația, limbajul natural, mediul înconjurător,
produsele comerciale, sănătatea etc.
cataloageleexistente pot fi interogate
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
concluzii
“Representation is the essence of programming.”Frederick P. Brooks, The Mythical Man-Month,
Addison-Wesley, 1995
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
rezumat
modelarea taxonomiilor + lexicoanelor prinRDF Schema și realizarea inferențelor simple
Dr.
Sab
in B
ura
ga
www.purl.org/net/busaco
episodul viitor: modelare ontologică via OWL
top related