106
Dr. Sabin Buraga http://www.purl.org/net/busaco Semantic Web <?xml version=“1.0” ?> <curs desc=“…” /> Web semantic Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Web06 Semantic Web: Ontologii OWL

Embed Size (px)

DESCRIPTION

O prezentare referitoare la modalitatile de specificare a ontologiilor via OWL (Web Ontology Language).

Citation preview

Page 1: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Web semantic

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Ontologii

Page 3: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

“Cine deschide toate portile,le poate inchide pe toate.”

Antonio Porchia

Page 4: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

necesitate

Existenta unui vocabular comun

elementele sintactice (cuvintele, marcatorii etc.) au acelaşiînțeles atât pentru transmițător, cât şi pentru destinatar

Page 5: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

necesitate

Existenta unui set comun de constrângeri

Page 6: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

necesitate

Existenta unui cadru conceptual comunoferind relații între clase de informație

înțelegerea informațiilor nu va fi influențatăde cunoştințele inițiale nespecificate(unspecified background knowledge)

Page 7: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

solutie

Modelarea cunostintelor via ontologii

Page 8: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Ontologia = teorie privitoare la existenta

Page 9: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

O ontologie reprezinta conceptualizareaunui domeniu de cunoastere

intr‐un format destinat a fi procesat de calculator, format modelind entitati, atribute, relatii si axiome

scop: conceptualizari complexeale unui domeniu de interes

Page 10: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Subiectul ontologiei este studiul categoriilorde lucruri (things) care exista sau pot existaintr‐un domeniu de interes (Sowa, 2001)

Page 11: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

O ontologie reprezinta un set de definitii formulateintr‐un limbaj formal pentru termenii ce descriu

un domeniu de interes(Adam Pease, 2007)

Page 12: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Ontologie ≡ catalog de tipuri de lucruricare se presupune că există într‐un domeniu

de interes D (domain) din perspectiva unei persoane care utilizează un limbaj L

cu scopul de a discuta despre D

Page 13: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Tipurile din ontologie reprezintă predicatele, sensurile cuvintelor sau conceptele şi

relaţiile ale limbajului L, atunci când este utilizat pentru a discuta despre domeniul D

Page 14: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Concept

Referent

Refers To

Stands For“Orange”

Term

Ontology work should be here,since logic is neededto substitute forhuman thought.

Lots of “ontology” workhas really been here.

Adam Pease, 2007 citind pe C.K. Ogden/I.A. Richards (1923)

Page 15: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Rolul ontologiilor (Jerry Hobbs, 2003)

Fixeaza intelesul conceptelor (termenilor)vocabularului comun

Page 16: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii

Folosind ontologii, asociem semantici“lucrurilor” despre care “vorbim”

descrierile semantice “ajuta” calculatoarele sa para “smart”

un program “smart” ar trebui sa fie capabil sa realizezeaceleasi inferente pe care le fac (unii) oameni

Page 17: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii – tipuri

Ontologii informale versus formale(de la limbaj natural la logica)

Page 18: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii – tipuri

Ontologii formale: axiomatice – disting sub‐tipurile prin axiome şi definiții specificate într‐un limbaj formal (logic)

bazate pe prototipuri – disting sub‐tipurile prin comparația cu un membru tipic ori specificândun prototip pentru fiecare sub‐tip în parte

Page 19: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii – tipuri

Conform nivelului de descriere oferit:Vocabular (schema XML)Taxonomie – relatii de clasificare (is­a)vedere ierarhica a conceptelor(clase, sub‐clase, supra‐clase)

Tezaur = taxonomie + termeni inruditi(via relatii de echivalenta, ierarhii, asocieri etc.)

Sistem relational (schema de baze de date)Teorie axiomatica (constrangeri ≡ axiome)

axiomă ≡ enunț logic ce nu poate fi dedus din altele,dar poate fi folosit pentru demonstrarea altora

Page 20: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Tipuri de ontologii(Daconta et al., 2003)

Page 21: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii – tipuri

Dupa scopul & contextul utilizarii:Ontologii specializatee.g., industria de automobile, aeronautica,ontologia proceselor OWL‐S, biologie etc.

Ontologii generaleCyc, OpenCyc, ontologia lui Sowa, SUMO (Suggested Upper Merged Ontology),…

Ontologii intermediare –mid­levelMILO (MId­Level Ontology)

Page 22: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii – tipuri (Guarino, 1998)

De nivel cel mai inalt(top­level, upper­level) – cele mai generale

Specifice unui domeniu(domain­related) – verticaleSpecifice unor sarcini(task­related) – orizontaleSpecifice unei aplicatii

(application­related) – apeleaza la ontologii verticalesi/sau orizontale

Page 23: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Componente distincte:nume privind cele mai importante concepteale domeniului de cunoastere modelat

cunostinte anterioare (de “background”)sau constringeri ale domeniului

ontologii – specificare

Page 24: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Crocodil reprezinta un concept ai carui membrisunt animale de un anumit tip

Ierbivor este un concept ai carui membri sunt aceleanimale care consuma doar plante ori parti de plante

Orice membru al clasei Crocodil este vorace

Un animal nu poate fi simultan Ierbivor si Carnivor

ontologii – specificare: exemplu

Page 25: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

O ontologie va include:

categoriile, clasele, conceptele fundamentale

proprietatile conceptelor

relatiile & distinctiile dintre concepte

ontologii – specificare

Page 26: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Reprezentari uzuale ale ontologiilor:

Limbaje logice: Prolog & familia (Golog, ConGolog)KIF (Knowledge Interchange Format)

CL (Common Logic)DL (Logici ale descrierii – description logics)

Limbaje bazate pe XML: OIL, RDFS, DAML+OIL, OWL

ontologii – specificare

Page 27: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea categoriilor/conceptelorCategorie ≡ domeniu (in teoria bazelor de date)Categorie ≡ tip/sort (in inteligenta artificiala)Categorie ≡ clasa (in cazul ontologiilor Web)

Criteriile de stabilire a conceptelor sunt complexeExperienta are un rol foarte important

Exemplu: Thing – categoria cea mai generala la Cyc

ontologii – specificare

Page 28: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Clasele (categoriile)de nivel cel mai inaltale ontologiei Cyc

(Noy & Hafner, 1997)

ontologii – specificare

Page 29: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Categorii de nivel inalt – cazul SUMO (Adam Pease, 2007):Entity

PhysicalObject

SelfConnectedObjectSubstanceCorpuscularObject

RegionCollection

ProcessAbstract

ontologii – specificare

Page 30: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea proprietatilorProprietate ≡ atributProprietate ≡ slot/frame (in inteligenta artificiala)

Diferentiaza un concept de altulRelatie binara care poate specifica fapte privitoare la membrii unei clase ori la indivizi

Proprietatile se pot referi la tipuri de date (datatypeproperty) sau la obiecte (object property)

In unele cazuri, pot fi specificate si sub‐proprietati

ontologii – specificare

Page 31: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea proprietatilor – exemplu de frame

ontologii – specificare

Eugen: Person

varstaocupatie

24masterand

cardinality: 1

Page 32: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea proprietatilor – exemplu:

Modelul de date (abstract)

Instante – folosind DCMI

ontologii – specificare

Page 33: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea relatiilorPentru organizarea/ilustrarea categoriilorse folosesc arborii si grafurile

Relatiile pot fi de: hiperonimie (“general‐specific”)meronimie (“parte‐intreg”)antonimie

Remarca: in specificarea relatiilor si proprietatilorpot interveni meta‐datele

CazulWordNet

ontologii – specificare

Page 34: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Specificarea relatiilor – exemplu:

ontologii – specificare

Page 35: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

ontologii vs. limbaj vs. cunostinte

Ontologie

expandabilaindependenta de limbajprocesabila de catre masina

Limbaj (natural)

inteles de oameniambiguu

Cunostinte

se modifica rapid (“perisabile”)pot exprima local un “lucru”

Conform (Pease, 2007)

Page 36: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

intrebare

Cum exprimam ontologiile la nivel de Web?

Page 37: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL

Web Ontology Language

scop: facilitarea interpretarii de catre masinaa continutului informational

exprima ontologii

RecomandareW3C (2004) – 6 parti:www.w3.org/TR/owl­guide/

Page 38: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL

Se bazeaza pe modelul RDF si RDF Schema

succesor al DAML+OILDARPA Agent Markup Language + Ontology Inference Layer

modelul formal se bazeaza pe logicile descrierii(subset al logicii cu predicate de ordinul I)

Page 39: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL Lite – pentru exprimarea ierarhiilorde clasificare si a unor constringeri simple

OWL DL – ofera maximum de expresivitate, fara pierderea completitudinii & decidabilitatii

OWL Full – maximum de expresivitate si flexibilitate,fara a se pune problema completitudinii

OWL Lite⊂ OWL DL ⊂ OWL Full

OWL: niveluri

Page 40: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL Full – extensie a RDF, permite modificarea vocabularelor RDF si OWL

OWL DL – parte a OWL Full conformacu modelul formal oferit de logicile descrierii

OWL Lite – faciliteaza realizarea de rationamente(reasoning) simple

OWL Lite⊂ OWL DL ⊂ OWL Full

OWL: niveluri

Page 41: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL

Constructii pentru descrierea proprietatilor si claselor: 

relatiile dintre clase – e.g., disjunctiacardinalitatea – e.g., “exact una”

egalitatea/echivalenta (conceptelor, proprietatilor,…)specificarea tipurilor de proprietati

caracteristicile proprietatilor – e.g., simetria, inversa…

Page 42: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL

Sintaxe:

documente RDF/XMLusor de procesat, stocat, interogat

“abstracta”corespundemodelului logicilor descrierii

Page 43: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL

O ontologie OWL este compusa din:clase

instante de claserelatii intre instantele claselor

nu se impune a­priori o cunoastere completaa domeniului de interes – ipoteza open world

fiecare ontologie va fi identificata de un URI

Page 44: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

O clasa se specifica prin owl:Classcolectii de indivizi (obiecte, things,...)

modalitate de a descrie o lumereprezinta un “obiect” (“thing”) al lumii

cea mai generala clasa va fi owl:Thing

Page 45: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Relatia de derivare a claselorse exprima via rdfs:subClassOf

<owl:Class rdf:ID="Audio"><rdfs:subClassOf rdf:resource="#Multimedia" />

</owl:Class>

Page 46: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Expresii de clasa: reuniune <owl:unionOf>

intersectie <owl:intersectionOf>complementara <owl:complementOf>

disjunctie <owl:disjointWith>

semantica operatiilor e conforma cu teoria multimilor

expresiile de clasa sunt folosite la specificarea claselor

Page 47: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplu:resursele video nu sunt lumi virtuale, nici executabile

<owl:Class rdf:ID="Video"><rdfs:subClassOf rdf:resource="#Multimedia" /><owl:disjointWith rdf:resource="#LumiVirtuale" /><owl:disjointWith rdf:resource="#Executabile" />

</owl:Class>

OWL: specificarea claselor

Page 48: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Implicit, OWL se aliniaza ipotezei lumii deschise(open world assumption)

cu implicatii majore in ceea ce priveste operatiiledintre clase si realizarea inferentelor

referitoare la cardinalitate

in unele cazuri, putem specifica exact membrii unei clase,adoptind – local – ipoteza lumii inchise (closed world)

Page 49: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Exemplu: determinarea albumului detinut de o persoana:AlbumePortishead a owl:Class ;

owl:oneOf ( :Dummy :Portishead :Third ) .

fiecare instanta specificata via owl:oneOfeste membra a clasei respective

stiind ca :Anca :detine :AlbumePortishead .se poate deduce faptul ca detine macar unul dintre ele

Page 50: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Astfel, o clasa se poate definidoar prin enumerarea membrilor ei:

<owl:Class rdf:ID="Gen"><owl:oneOf rdf:parseType="Collection">

<Gen rdf:about="#Masculin"/> <Gen rdf:about="#Feminin"/>

</owl:oneOf> </owl:Class>

Page 51: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Specificarea echivalentei claselor se poate realizaprin owl:equivalentClass

<owl:Class rdf:ID="Designer"><owl:equivalentClass rdf:resource="#Proiectant" />

</owl:Class>

Page 52: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea claselor

Avind doua clase echivalente, aceasta inseamna ca vor avea doar aceeasi membri

alte proprietati ale claselor sunt proprii fiecareia(de exemplu, rdfs:label)

Page 53: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Proprietati = relatii binare care pot specifica fapteprivitoare la membrii unei clase sau la indivizi

se refera la tipurile de date (datatype property)se refera la obiecte (object property)

vazute drept colectii de relatii intre indivizi (si date)

Page 54: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Exemplu: definirea unei proprietati de tip obiect careexprima faptul ca o resursa multimedia poate fi stocata

pe un sit Web multimedia

<owl:ObjectProperty rdf:ID="stocat"><rdfs:domain rdf:resource="#Multimedia" /><rdfs:range rdf:resource="#SitMultimedia" />

</owl:ObjectProperty>

Page 55: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Exemplu: definirea unei proprietati datatype pentrua specifica relatia intre resurse si literali sau valori de date 

avind tipuri XML Schema

<owl:DatatypeProperty rdf:ID="dimensiune"><rdfs:domain rdf:resource="#Multimedia" /><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedLong" />

</owl:DatatypeProperty>

Page 56: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Definind o proprietate, in fapt se impune o restrictie

Proprietatile pot include sub‐proprietati (specializari)si pot avea specificate caracteristici “speciale”

Page 57: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

O proprietate care nu are decit o singura valoarepentru fiecare individ – valoarea ei este unica –

se numeste proprietate functionala

<owl:FunctionalProperty rdf:ID="areGen"><rdfs:domain rdf:resource="#Persoana" /><rdfs:range rdf:resource="#Gen" />

</owl:FunctionalProperty>O persoana are doar un singur gen.

Page 58: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Daca resursa A este in relatia p cu B siB este in relatia p cu A, 

atunci p este o proprietate simetrica

<owl:SymmetricProperty rdf:ID="rudaCu"><rdfs:domain rdf:resource="#Persoana" /><rdfs:range rdf:resource="#Persoana" />

</owl:SymmetricProperty>Relatia de rudenie intre persoane este simetrica.

Page 59: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

De remarcat faptul ca unele dintre proprietatilespecificate de OWL – e.g., owl:equivalentClass –

sunt simetrice

Page 60: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Proprietati inversedaca proprietatea p este inversa lui q

si A este in relatia p cu B, atunci se poate deduce ca B este in relatia q cu A

se foloseste constructia owl:inverseOf

Page 61: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Proprietati inverse – exemplu:

<owl:ObjectProperty rdf:ID="esteFormataDin"> <rdfs:domain rdf:resource="#Echipa"/><rdfs:range rdf:resource="#Persoana"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:ID="formeaza">

<rdf:type rdf:resource="owl:InverseFunctionalProperty" /><owl:inverseOf rdf:resource="#esteFormataDin" />

</owl:ObjectProperty>

Page 62: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Proprietati tranzitivedata fiind proprietatea p tranzitiva,

daca exista A p B . si B p C .atunci se poate deduce

A p C .

se recurge la owl:TransitiveProperty

Page 63: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Mai pot fi specificate proprietati:invers functionaleantisimetricereflexive

antireflexive

Page 64: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea proprietatilor

Folosind owl:equivalentProperty se poate specificaechivalenta a doua proprietati

Page 65: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea indivizilor

Un individ (membru) al unei clasese declara ca apartinind clasei respective

reprezinta un obiect al lumii (Thing)

este “inrudit” cu alte obiecte sau valori de datevia proprietati

Page 66: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea indivizilor

<!-- definim individul --><owl:Thing rdf:ID="the_wall">

<rdfs:comment>Un film de Pink Floyd</rdfs:comment></owl:Thing><!-- ulterior, specificăm tipul lui

(eventual proprietăţi/meta-date) --><owl:Thing rdf:about="#the_wall">

<rdf:type rdf:resource="#Video" /></owl:Thing>

Page 67: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Page 68: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea indivizilor

Echivalenta intre indivizi se realizeazaprin owl:sameAs

Se poate folosi si owl:differentFrom

Page 69: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea indivizilor

Exemplu: specificarea a 2 indivizi distincti

<owl:Thing rdf:ID="zidul"><rdfs:comment>Un film din România</rdfs:comment>

</owl:Thing><rdf:Description rdf:about="#zidul">

<owl:differentFrom rdf:resource="#the_wall"/><rdfs:comment>Nu are legătură cu 'The Wall'</rdfs:comment><rdf:type rdf:resource="#Video" />

</rdf:Description>

Page 70: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea indivizilor

Pentru a defini colectii de indivizi distincti, se utilizeaza owl:distinctMembers

Page 71: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea indivizilor

Exemplu:specificarea in termeni fuzzy a localizarii unei resurse

<owl:AllDifferent><owl:distinctMembers rdf:parseType="Collection">

<localizare rdf:about="#local" /><localizare rdf:about="#intranet" /><localizare rdf:about="#extranet" />

</owl:distinctMembers></owl:AllDifferent>

Page 72: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: studiu de caz – FOAF

Se definesc clasele foaf:Person, foaf:Group, foaf:Organization ca fiind sub‐clase ale foaf:Agent

foaf:Agent rdf:type owl:Class .foaf:Person rdfs:subClassOf foaf:Agent .foaf:Group rdfs:subClassOf foaf:Agent .

foaf:Organization rdfs:subClassOf foaf:Agent .

Page 73: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: studiu de caz – FOAF

Pentru o persoana, sunt specificate diverse proprietati: foaf:name, foaf:surname, foaf:nick etc.

foaf:name rdfs:domain owl:Thing .foaf:name rdfs:subPropertyOf rdfs:label .

foaf:surname owl:equivalentProperty foaf:family_name .

Page 74: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: studiu de caz – FOAF

Fiecare agent (persoana, organizatie,…) poate creearesurse (“things”) – se defineste proprietatea foaf:made

foaf:made rdfs:domain foaf:Agent .foaf:made rdfs:range owl:Thing .

foaf:made owl:inverseOf foaf:maker .

similar:foaf:publications rdfs:domain foaf:Person .

foaf:publications rdfs:range foaf:Document .

Page 75: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: studiu de caz – FOAF

Exprimarea constringerii: o persoana este identificata unicprin adresa ei de e­mail (doua persoane care au aceeasiadresa de e­mail in fapt reprezinta o singura persoana)

foaf:mbox rdf:type owl:InverseFunctionalProperty .

idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…

Page 76: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

intrebare

Putem impune restrictii suplimentaremodelului de cunostinte descrise in OWL?

Page 77: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Restrictiile sunt considerate clasedefinite prin descrierea proprietatilor indivizilor

pe care‐i pot include

specificind o multime de indivizi in termeni de clasecunoscute (proprietati comune), putem folosi aceastadescriere pentru a defini o noua clasa – mai restrictiva

Page 78: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Restrictiile impuse proprietatilor trebuiesa apara in cadrul elementelor

<owl:Restriction> si <owl:onProperty>

tipuri de restrictii uzuale:asupra valorilor: allValuesFrom, someValuesFrom, hasValue

asupra cardinalitatii: minCardinality, maxCardinality

Page 79: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Prin owl:someValuesFrom specificam restrictia: “toti indivizii pentru care macar o valoarea proprietatii p provine din clasa C”

[ a owl:Restriction ;owl:onProperty p ;owl:someValuesFrom C ]

Page 80: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: clasa mamelor reprezinta intersectia claseipersoanelor care au copii cu cea a clasei femeilor

restrictia 1: clasa persoanelor care au copii<owl:Restriction>

<owl:onProperty><owl:ObjectProperty rdf:about="#areCopil"/>

</owl:onProperty><owl:someValuesFrom rdf:resource="#Persoana"/>

</owl:Restriction>

Page 81: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: clasa mamelor reprezinta intersectia claseipersoanelor care au copii cu cea a clasei femeilor

restrictia 2: clasa persoanelor care sunt femei<owl:Restriction>

<owl:onProperty><owl:FunctionalProperty rdf:about="#areGen"/>

</owl:onProperty><owl:hasValue rdf:resource="#Feminin"/>

</owl:Restriction>

Page 82: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: clasa mamelor reprezinta intersectia claseipersoanelor care au copii cu cea a clasei femeilor

restrictia 1: clasa persoanelor care au copii[ a owl:Restriction ;

owl:onProperty :areCopil ;owl:someValuesFrom :Persoana ]restrictia 2: clasa persoanelor care sunt femei

[ a owl:Restriction ;owl:onProperty :areGen ;owl:hasValue :Feminin ]

Page 83: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: stabilirea genului unei persoane<owl:Class rdf:ID="Femeie">

<owl:equivalentClass> <owl:Class>

<owl:intersectionOf rdf:parseType="Collection"><owl:Class rdf:about="#Persoana"/> <owl:Restriction>

<owl:onProperty> <owl:FunctionalProperty rdf:about="#areGen"/>

</owl:onProperty> <owl:hasValue rdf:resource="#Feminin"/>

</owl:Restriction> </owl:intersectionOf></owl:Class></owl:equivalentClass>

</owl:Class>

Page 84: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Prin owl:allValuesFrom specificam restrictia:“toti indivizii pentru care toate valorileproprietatii p provin din clasa C”

[ a owl:Restriction ;owl:onProperty p ;owl:allValuesFrom C ]

Page 85: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: clasa persoanelor vegetariene

<owl:Class rdf:about="#Vegetarian"><rdfs:subClassOf rdf:resource="#Persoana" /><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#consuma"/> <owl:allValuesFrom rdf:resource="#Vegetala"/>

</owl:Restriction></rdfs:subClassOf>

</owl:Class>

Page 86: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: clasa persoanelor vegetariene

stiind ca Emanuel este vegetarian si ca el consuma spanac::Emanuel a :Vegetarian .

:Emanuel :consuma :Spanac .

…se poate deduce faptul ca spanacul este vegetala::Spanac a :Vegetala .

Page 87: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

In cazul someValuesFrom, trebuie sa existe macarun membru al clasei pentru care are loc o proprietate data; 

aceasta implica faptul ca trebuie sa existeun astfel de membru

Restrictia allValuesFrom inseamna “daca exista membri, atunci ei toti trebuie sa aiba proprietatea data”;

aceasta nu implica faptul ca trebuie sa existe de faptmembrii corespunzatori

Page 88: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Via restrictii privind cardinalitatea, poate fi specificatnumarul (minim/maxim) de valori distincte

pe care o proprietate le poate avea

[ a owl:Restriction ;owl:onProperty p ;owl:cardinality n ] .

owl:minCardinalityowl:maxCardinality

Page 89: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: specificarea restrictiilor

Exemplu: o resursa audio poate fi stocatamacar de un sit Web multimedia

<owl:Class rdf:ID="Audio"><rdfs:subClassOf rdf:resource="#Multimedia" /><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#stocat"><!-- indicam cardinalitatea minima --><owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">

1 </owl:minCardinality> </owl:onProperty></owl:Restriction>

</rdfs:subClassOf></owl:Class>

Fiecare instantadin clasa Audio trebuie sa aparamacar in cel putino relatie “stocat”

Page 90: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Aspecte importante:verificarea consistentei si coerentei ontologiei

verificarea consistentei asertiunilor privind indivizii– care populeaza lumea modelata de ontologie

OWL

Page 91: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Clasele si proprietatile pot avea “definitii” multiple

Declaratiile privitoare la indivizinu trebuie obligatoriu sa fie stocate

in cadrul aceluiasi document

OWL

Page 92: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 1 – hotul & calatorul fara biletPrimul fapt: amprentele gasite la locul unui jaf

au identificat ca posibil hot pe Jiji Berka

<infractiune rdf:ID="raport-2008-10-29-pol4" tip="jaf"><desc>...</desc><suspect>

<individ rdf:about="http://www.persoane.ro#JijiBerka" /></suspect>

</infractiune>

OWL: inferente

Page 93: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 1 – hotul & calatorul fara biletAlt doilea fapt: in tramvai, a fost gasit un calator fara bilet, 

numit Moco Fin

<amenda rdf:ID="raport-2008-10-29-pol54"><desc>...</desc><cetatean>

<individ rdf:about="http://www.persoane.ro#MocoFin" /></cetatean>

</amenda>

OWL: inferente

Page 94: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 1 – hotul & calatorul fara biletAlt treilea fapt: Politia poseda informatiile

<individ rdf:about="http://www.persoane.ro#MocoFin"> <owl:sameAs

rdf:resource="http://www.persoane.ro#JijiBerka" /></individ>

OWL: inferente

Page 95: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 1 – hotul & calatorul fara bilet

OWL: inferente

Concluzie: se poate realiza inferenta“Moco Fin este acelasi individ cu Jiji Berka.”

OWL ofera posibilitatea de a exprima faptulca doua resurse (e.g., doua persoane) sunt identice

Page 96: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 2 – achizitionarea unei camere

AsistentWeb pentru

cumparaturionline

Situl Webal magazi­nuluivirtual

“Trimite‐mi catalogulde produse”

<SLR rdf:ID="Olympus-OM10"><f-stop>1.4</f-stop><lens u="mm">300</lens>...<cost currency="USD">120</cost>

</SLR>

"SLR" esteo camera?

“Iatacatalogul...”

1

2

3

Dupa

(Costello et al., 2003)

OWL: inferente

Page 97: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 2 – achizitionarea unei camereAsistentul (agentul) Web consulta o ontologie OWL 

privitoare la camere digitale de unde se poate determinaca SLR este sub‐clasa a clasei Camera

Se poate deduce: “Olympus‐OM10 e o camera digitala.”

Camera

SLR Large-Format Digital

OWL: inferente

Page 98: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 2 – achizitionarea unei camere

ontologiile exprimate in OWL pot conduce la descoperirea dinamica a relatiilor dintre resurse

OWL: inferente

Page 99: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 3 – locul de nastere al regelui KamehamehaFapt: In urma extragerii de date de pe Web, s‐a obtinut:

<individ rdf:about="http://www.persoane.ro#Kamehameha"><locNastere rdf:about="http://www.states.com/Hawaii" />

</individ><individ rdf:about="http://www.persoane.ro#Kamehameha">

<locNastere rdf:about="http://world.info/Sandwich_Islands" /></individ><individ rdf:about="http://www.persoane.ro#Kamehameha">

<locNastere rdf:about="http://history.org/Aloha" /></individ>

OWL: inferente

Page 100: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Exemplul 3 – locul de nastere al regelui Kamehamehaontologia privitoare la indivizi indica faptul ca

un individ are un unic loc de nasterese poate trage concluzia ca Hawaii, Sandwich Islands

si Aloha reprezinta aceeasi locatie

OWL ofera suport pentru precizarea cardinalitatii uneirelatii dintre o resursa si o alta – in acest caz, exact una

Resursa(valoare)

Resursa(subiect)

proprietate

1

OWL: inferente

Page 101: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Utilizarea unui reasoner (aici, Pellet) inclus in SWOOP

OWL: inferente – demo

Page 102: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: inferente – demo

UnealtaWeb OWLSight – semnalarea inconsistentelor

Page 103: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: privire de ansamblu

Antet:Ontology

Clase (concepte):Class, rdfs:subClassOf, intersectionOf

Proprietati: rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range

(In)egalitati:equivalentClass, equivalentProperty,sameAs, differentFrom, allDifferent

Page 104: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

OWL: privire de ansamblu

Caracteristici ale proprietatilor: inverseOf, TransitiveProperty, SymmetricProperty, 

FunctionalProperty, InverseFunctionalProperty

Restrictii de tip asupra proprietatilor: allValuesFrom, someValuesFrom

Restrictii de cardinalitate: minCardinality, maxCardinality, cardinality

Page 105: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

Rezumat

Modelarea cunostintelor:ontologii specificate via OWL

Page 106: Web06 Semantic Web: Ontologii OWL

Dr. Sabin Buraga http://www.purl.org/net/busaco

Semantic Web <?xml version=“1.0” ?><curs desc=“…” />

?