wade 2014—2015 (08/12): semantic web—modelarea taxonomiilor şi lexicoanelor cu rdf schema

142
Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web modelarea cunoștințelor via RDF(S) realizarea inferențelor simple

Upload: sabin-buraga

Post on 15-Jul-2015

166 views

Category:

Technology


4 download

TRANSCRIPT

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

“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/busa

co

constatare

RDF oferă posibilitatea de a descrie/adnota(explicit) resursele Web

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

constatare

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

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

constatare

Lipsește un mecanism de declarare a unui vocabular

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

constatare

<http://www.apple.com/ipad/> rdf:type :Produs ;

foaf:name "iPad" .

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

necesități

O modalitate de a declararelațiile dintre (clase de) resurse

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

taxonomii

Taxonomia reprezintă studiul principiilorgenerale de clasificare științifică

i.e. clasificare sistematică

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

taxonomii

Carolus Linnaeus, Philosophia botanica (1751)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

Dewey Decimal Classificationmodelare via RDF(a),

interogare prin SPARQLdewey.info

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

taxonomii: exemplu

Musicmoz Music Styles – vocabularyserver.com

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

NASA Taxonomy

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

taxonomii: exemplu

UniProt Taxonomy – www.uniprot.org

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

taxonomii: utilizari

Yahoo! taxonomyexemplu menționat de (Bouquet, Serafini & Zanobini, 2005)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

taxonomii: utilizări

Comerț electronic

Universal Standard Products and Services Classification

www.eccma.org

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

taxonomii: utilizări

ITIS (Integrated Taxonomic Information System)http://www.itis.gov/

clasificare sistematică a regnului animal & vegetal

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

taxonomii: utilizări

Clasificarea produselor alimentare

WAND Food and Beverage Taxonomy

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

taxonomii: model

Modelarea poate fi realizată via scheme RDF

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rdf schema

Permite definirea de taxonomii

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

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rdf schema

Recomandare a Consorțiului Web(D. Brickley & R.V. Guha, 2004, 2014)

www.w3.org/TR/rdf-schema/

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

rdf schema: exemplu

Clasei Multimedia îi asociem proprietatea duration

cu valori din mulțimea numerelor întregi

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

co

rdf schema: exemplu

Clasei Multimedia îi asociem proprietatea duration

cu valori din mulțimea numerelor întregi

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

co

rdf schema: exemplu

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rdf schema: model

Remarcă:nu e obligatoriu să definim conceptul Integer

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

La ce pot fi utilizate schemele RDF?

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

rdf schema: exemplu

specificarea domeniului și intervaluluipentru o proprietate FOAF (D. Brickley & L. Miller, 2014)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

rdf schema: exemplu

specificarea unei clase SIOC

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

<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/busa

co

<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/busa

coFolosirea – 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/busa

coFolosirea – 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/busa

co

graful RDF corespunzător

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rdf schema

Clasele și proprietățile sunt modelate separat

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

rdf schema

Oferă suport pentru modelareaclasificărilor de resurse (i.e. taxonomii)

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

rdf schema: exemplu

Modelarea unui web privitor la familii de persoane

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

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 și membru al clasei Masterand

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

rdf schema: șabloane

Similar, se poate modela intersecția de proprietăți

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

coproperty 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/busa

co

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/busa

co

rdf schema

Graful modelului RDF SchemaFabien L. Gandon et al., 2011

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

Există posibilitatea folosiriiunui model conceptual mai expresiv?

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

lexicoane (tezaure)

Relații

echivalențatermenul X are (aproape) același înțeles cu termenul Y

„document Web” sinonim cu „pagină Web”

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

tezaure: exemple

Social Semantic Web Thesaurushttp://vocabulary.semantic-web.at/semweb

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

tezaure: exemple

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

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/busa

co

tezaure: skos – exemplu

definirea conceptului “Schema Languages”

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

tezaure: skos

SKOS în cadrul DBpedia

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

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/busa

co

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 și editare a modelelor SKOS

http://code.google.com/p/skoseditor/

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/products/topbraid-enterprise-vocabulary-net/

vezi și http://www.mkbergman.com/sweet-tools-simple-list/

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

vocabulare – licențiate Creative Commons – privind legislația, limbajul natural, mediul, produsele comerciale, sănătatea etc.

cataloageleexistente pot fi interogate

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

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/busa

co

rezumat

⫛modelarea taxonomiilor + lexicoanelor prin

RDF Schema și realizarea inferențelor simple

Dr.

Sab

in B

ura

ga

www.purl.org/net/busa

co

episodul viitor: modelare ontologică via OWL