web06 semantic web: ontologii owl
Post on 05-Jul-2015
2.376 Views
Preview:
DESCRIPTION
TRANSCRIPT
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Web semantic
Dr. SabinCorneliu BuragaFacultatea de Informatica
Universitatea “A.I.Cuza” – Iasi, Romania
http://www.infoiasi.ro/~busaco/
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Ontologii
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
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
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
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)
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
solutie
Modelarea cunostintelor via ontologii
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
ontologii
Ontologia = teorie privitoare la existenta
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
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)
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)
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
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
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)
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
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
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)
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
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 (isa)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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Tipuri de ontologii(Daconta et al., 2003)
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 –midlevelMILO (MIdLevel Ontology)
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(toplevel, upperlevel) – cele mai generale
Specifice unui domeniu(domainrelated) – verticaleSpecifice unor sarcini(taskrelated) – orizontaleSpecifice unei aplicatii
(applicationrelated) – apeleaza la ontologii verticalesi/sau orizontale
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
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
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
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
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
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
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
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
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Specificarea relatiilor – exemplu:
ontologii – specificare
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)
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?
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/owlguide/
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)
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
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
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…
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
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 apriori o cunoastere completaa domeniului de interes – ipoteza open world
fiecare ontologie va fi identificata de un URI
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
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>
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
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
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)
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
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>
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>
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)
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)
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>
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>
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”
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.
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.
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
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
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>
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
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
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
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
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>
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
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
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>
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
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>
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 .
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 .
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 .
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 email (doua persoane care au aceeasiadresa de email in fapt reprezinta o singura persoana)
foaf:mbox rdf:type owl:InverseFunctionalProperty .
idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…
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?
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
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
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 ]
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>
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>
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 ]
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>
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 ]
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>
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 .
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
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
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”
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
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
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
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
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
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
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 magazinuluivirtual
“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
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
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
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
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
OWL: inferente – demo
UnealtaWeb OWLSight – semnalarea inconsistentelor
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
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
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
Rezumat
Modelarea cunostintelor:ontologii specificate via OWL
Dr. Sabin Buraga http://www.purl.org/net/busaco
Semantic Web <?xml version=“1.0” ?><curs desc=“…” />
?
top related