Web06 Semantic Web: Ontologii OWL

2,623 views
2,534 views

Published on

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

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,623
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
133
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Web06 Semantic Web: Ontologii OWL

  1. 1. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Web semantic Dr. Sabin­Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  2. 2. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Ontologii Dr. Sabin Buraga http://www.purl.org/net/busaco
  3. 3. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> “Cine deschide toate portile, le poate inchide pe toate.” Antonio Porchia Dr. Sabin Buraga http://www.purl.org/net/busaco
  4. 4. <?xml version=“1.0” ?> Semantic Web <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
  5. 5. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitate Existenta unui set comun de constrângeri Dr. Sabin Buraga http://www.purl.org/net/busaco
  6. 6. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> necesitate Existenta unui cadru conceptual comun oferind 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
  7. 7. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutie Modelarea cunostintelor via ontologii Dr. Sabin Buraga http://www.purl.org/net/busaco
  8. 8. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii Ontologia = teorie privitoare la existenta Dr. Sabin Buraga http://www.purl.org/net/busaco
  9. 9. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii O ontologie reprezinta conceptualizarea unui domeniu de cunoastere intr‐un format destinat a fi procesat de calculator,  format modelind entitati, atribute, relatii si axiome scop: conceptualizari complexe ale unui domeniu de interes Dr. Sabin Buraga http://www.purl.org/net/busaco
  10. 10. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii Subiectul ontologiei este studiul categoriilor de lucruri (things) care exista sau pot exista intr‐un domeniu de interes (Sowa, 2001) Dr. Sabin Buraga http://www.purl.org/net/busaco
  11. 11. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii O ontologie reprezinta un set de definitii formulate intr‐un limbaj formal pentru termenii ce descriu un domeniu de interes (Adam Pease, 2007) Dr. Sabin Buraga http://www.purl.org/net/busaco
  12. 12. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii Ontologie ≡ catalog de tipuri de lucruri care 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
  13. 13. <?xml version=“1.0” ?> Semantic Web <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
  14. 14. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii Ontology work should be here, Concept since logic is needed Refers To to substitute for human thought. “Orange” Lots of “ontology” work Stands For Term Referent has really been here. Adam Pease, 2007 citind pe C.K. Ogden/I.A. Richards (1923) Dr. Sabin Buraga http://www.purl.org/net/busaco
  15. 15. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii Rolul ontologiilor (Jerry Hobbs, 2003) Fixeaza intelesul  conceptelor (termenilor) vocabularului comun Dr. Sabin Buraga http://www.purl.org/net/busaco
  16. 16. <?xml version=“1.0” ?> Semantic Web <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 realizeze aceleasi inferente pe care le fac (unii) oameni Dr. Sabin Buraga http://www.purl.org/net/busaco
  17. 17. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – tipuri Ontologii informale versus formale (de la limbaj natural la logica) Dr. Sabin Buraga http://www.purl.org/net/busaco
  18. 18. <?xml version=“1.0” ?> Semantic Web <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ând un prototip pentru fiecare sub‐tip în parte Dr. Sabin Buraga http://www.purl.org/net/busaco
  19. 19. <?xml version=“1.0” ?> Semantic Web <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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  20. 20. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Tipuri de ontologii (Daconta et al., 2003) Dr. Sabin Buraga http://www.purl.org/net/busaco
  21. 21. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – tipuri Dupa scopul & contextul utilizarii: Ontologii specializate e.g., industria de automobile, aeronautica, ontologia proceselor OWL‐S, biologie etc. Ontologii generale Cyc, OpenCyc, ontologia lui Sowa,  SUMO (Suggested Upper Merged Ontology),… Ontologii intermediare – mid­level MILO (MId­Level Ontology) Dr. Sabin Buraga http://www.purl.org/net/busaco
  22. 22. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – tipuri (Guarino, 1998) De nivel cel mai inalt (top­level, upper­level) – cele mai generale Specifice unui domeniu (domain­related) – verticale Specifice unor sarcini (task­related) – orizontale Specifice unei aplicatii (application­related) – apeleaza la ontologii verticale si/sau orizontale Dr. Sabin Buraga http://www.purl.org/net/busaco
  23. 23. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Componente distincte: nume privind cele mai importante concepte ale domeniului de cunoastere modelat cunostinte anterioare (de “background”) sau constringeri ale domeniului Dr. Sabin Buraga http://www.purl.org/net/busaco
  24. 24. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare: exemplu Crocodil reprezinta un concept ai carui membri sunt animale de un anumit tip Ierbivor este un concept ai carui membri sunt acele animale care consuma doar plante ori parti de plante Orice membru al clasei Crocodil este vorace Un animal nu poate fi simultan Ierbivor si Carnivor Dr. Sabin Buraga http://www.purl.org/net/busaco
  25. 25. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare O ontologie va include: categoriile, clasele, conceptele fundamentale proprietatile conceptelor relatiile & distinctiile dintre concepte Dr. Sabin Buraga http://www.purl.org/net/busaco
  26. 26. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  27. 27. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea categoriilor/conceptelor Categorie ≡ domeniu (in teoria bazelor de date) Categorie ≡ tip/sort (in inteligenta artificiala) Categorie ≡ clasa (in cazul ontologiilor Web) Criteriile de stabilire a conceptelor sunt complexe Experienta are un rol foarte important Exemplu: Thing – categoria cea mai generala la Cyc Dr. Sabin Buraga http://www.purl.org/net/busaco
  28. 28. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Clasele (categoriile) de nivel cel mai inalt ale ontologiei Cyc (Noy & Hafner, 1997) Dr. Sabin Buraga http://www.purl.org/net/busaco
  29. 29. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Categorii de nivel inalt – cazul SUMO (Adam Pease, 2007): Entity Physical Object SelfConnectedObject Substance CorpuscularObject Region Collection Process Abstract Dr. Sabin Buraga http://www.purl.org/net/busaco
  30. 30. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea proprietatilor Proprietate ≡ atribut Proprietate ≡ slot/frame (in inteligenta artificiala) Diferentiaza un concept de altul Relatie binara care poate specifica fapte privitoare la  membrii unei clase ori la indivizi Proprietatile se pot referi la tipuri de date (datatype property) sau la obiecte (object property) In unele cazuri, pot fi specificate si sub‐proprietati Dr. Sabin Buraga http://www.purl.org/net/busaco
  31. 31. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea proprietatilor – exemplu de frame Eugen: Person varsta 24 cardinality: 1 ocupatie masterand Dr. Sabin Buraga http://www.purl.org/net/busaco
  32. 32. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea proprietatilor – exemplu: Modelul de date (abstract) Instante – folosind DCMI Dr. Sabin Buraga http://www.purl.org/net/busaco
  33. 33. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea relatiilor Pentru organizarea/ilustrarea categoriilor se folosesc arborii si grafurile Relatiile pot fi de:  Cazul hiperonimie (“general‐specific”) WordNet meronimie (“parte‐intreg”) antonimie Remarca: in specificarea relatiilor si proprietatilor pot interveni meta‐datele Dr. Sabin Buraga http://www.purl.org/net/busaco
  34. 34. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea relatiilor – exemplu: Dr. Sabin Buraga http://www.purl.org/net/busaco
  35. 35. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii vs. limbaj vs. cunostinte Conform (Pease, 2007) Ontologie Limbaj (natural) expandabila inteles de oameni independenta de limbaj ambiguu procesabila de catre masina Cunostinte se modifica rapid (“perisabile”) pot exprima local un “lucru” Dr. Sabin Buraga http://www.purl.org/net/busaco
  36. 36. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> intrebare Cum exprimam ontologiile la nivel de Web? Dr. Sabin Buraga http://www.purl.org/net/busaco
  37. 37. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL Web Ontology Language scop: facilitarea interpretarii de catre masina a continutului informational exprima ontologii Recomandare W3C (2004) – 6 parti: www.w3.org/TR/owl­guide/ Dr. Sabin Buraga http://www.purl.org/net/busaco
  38. 38. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL Se bazeaza pe modelul RDF si RDF Schema succesor al DAML+OIL DARPA 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
  39. 39. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: niveluri OWL Lite – pentru exprimarea ierarhiilor de 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 Dr. Sabin Buraga http://www.purl.org/net/busaco
  40. 40. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: niveluri OWL Full – extensie a RDF,  permite modificarea vocabularelor RDF si OWL OWL DL – parte a OWL Full conforma cu modelul formal oferit de logicile descrierii OWL Lite – faciliteaza realizarea de rationamente (reasoning) simple OWL Lite ⊂ OWL DL ⊂ OWL Full Dr. Sabin Buraga http://www.purl.org/net/busaco
  41. 41. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL Constructii pentru descrierea proprietatilor si claselor:  relatiile dintre clase – e.g., disjunctia cardinalitatea – 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
  42. 42. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL Sintaxe: documente RDF/XML usor de procesat, stocat, interogat “abstracta” corespunde modelului logicilor descrierii Dr. Sabin Buraga http://www.purl.org/net/busaco
  43. 43. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL O ontologie OWL este compusa din: clase instante de clase relatii intre instantele claselor nu se impune a­priori o cunoastere completa a domeniului de interes – ipoteza open world fiecare ontologie va fi identificata de un URI Dr. Sabin Buraga http://www.purl.org/net/busaco
  44. 44. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea claselor O clasa se specifica prin owl:Class colectii de indivizi (obiecte, things,...) modalitate de a descrie o lume reprezinta un “obiect” (“thing”) al lumii cea mai generala clasa va fi owl:Thing Dr. Sabin Buraga http://www.purl.org/net/busaco
  45. 45. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea claselor Relatia de derivare a claselor se 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
  46. 46. <?xml version=“1.0” ?> Semantic Web <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
  47. 47. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea claselor 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> Dr. Sabin Buraga http://www.purl.org/net/busaco
  48. 48. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea claselor Implicit, OWL se aliniaza ipotezei lumii deschise (open world assumption) cu implicatii majore in ceea ce priveste operatiile dintre 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
  49. 49. <?xml version=“1.0” ?> Semantic Web <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:oneOf este 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
  50. 50. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea claselor Astfel, o clasa se poate defini doar 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
  51. 51. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea claselor Specificarea echivalentei claselor se poate realiza prin owl:equivalentClass <owl:Class rdf:ID=Designer> <owl:equivalentClass rdf:resource=#Proiectant /> </owl:Class> Dr. Sabin Buraga http://www.purl.org/net/busaco
  52. 52. <?xml version=“1.0” ?> Semantic Web <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
  53. 53. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Proprietati = relatii binare care pot specifica fapte privitoare 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
  54. 54. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Exemplu: definirea unei proprietati de tip obiect care exprima 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
  55. 55. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Exemplu: definirea unei proprietati datatype pentru a 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
  56. 56. <?xml version=“1.0” ?> Semantic Web <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
  57. 57. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor O proprietate care nu are decit o singura valoare pentru 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
  58. 58. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Daca resursa A este in relatia p cu B si B 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
  59. 59. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor De remarcat faptul ca unele dintre proprietatile specificate de OWL – e.g., owl:equivalentClass – sunt simetrice Dr. Sabin Buraga http://www.purl.org/net/busaco
  60. 60. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Proprietati inverse daca 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
  61. 61. <?xml version=“1.0” ?> Semantic Web <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
  62. 62. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Proprietati tranzitive data fiind proprietatea p tranzitiva, daca exista A p B . si B p C . atunci se poate deduce ApC. se recurge la owl:TransitiveProperty Dr. Sabin Buraga http://www.purl.org/net/busaco
  63. 63. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Mai pot fi specificate proprietati: invers functionale antisimetrice reflexive antireflexive Dr. Sabin Buraga http://www.purl.org/net/busaco
  64. 64. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea proprietatilor Folosind owl:equivalentProperty se poate specifica echivalenta a doua proprietati Dr. Sabin Buraga http://www.purl.org/net/busaco
  65. 65. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea indivizilor Un individ (membru) al unei clase se declara ca apartinind clasei respective reprezinta un obiect al lumii (Thing) este “inrudit” cu alte obiecte sau valori de date via proprietati Dr. Sabin Buraga http://www.purl.org/net/busaco
  66. 66. <?xml version=“1.0” ?> Semantic Web <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
  67. 67. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Dr. Sabin Buraga http://www.purl.org/net/busaco
  68. 68. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea indivizilor Echivalenta intre indivizi se realizeaza prin owl:sameAs Se poate folosi si owl:differentFrom Dr. Sabin Buraga http://www.purl.org/net/busaco
  69. 69. <?xml version=“1.0” ?> Semantic Web <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
  70. 70. <?xml version=“1.0” ?> Semantic Web <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
  71. 71. <?xml version=“1.0” ?> Semantic Web <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
  72. 72. <?xml version=“1.0” ?> Semantic Web <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
  73. 73. <?xml version=“1.0” ?> Semantic Web <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
  74. 74. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: studiu de caz – FOAF Fiecare agent (persoana, organizatie,…) poate creea resurse (“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
  75. 75. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: studiu de caz – FOAF Exprimarea constringerii: o persoana este identificata unic prin adresa ei de e­mail (doua persoane care au aceeasi adresa de e­mail 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
  76. 76. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> intrebare Putem impune restrictii suplimentare modelului de cunostinte descrise in OWL? Dr. Sabin Buraga http://www.purl.org/net/busaco
  77. 77. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Restrictiile sunt considerate clase definite prin descrierea proprietatilor indivizilor pe care‐i pot include specificind o multime de indivizi in termeni de clase cunoscute (proprietati comune), putem folosi aceasta descriere pentru a defini o noua clasa – mai restrictiva Dr. Sabin Buraga http://www.purl.org/net/busaco
  78. 78. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Restrictiile impuse proprietatilor trebuie sa 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
  79. 79. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Prin owl:someValuesFrom specificam restrictia:  “toti indivizii pentru care macar o valoare a proprietatii p provine din clasa C” [a owl:Restriction ; owl:onProperty p ; owl:someValuesFrom C ] Dr. Sabin Buraga http://www.purl.org/net/busaco
  80. 80. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Exemplu: clasa mamelor reprezinta intersectia clasei persoanelor 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
  81. 81. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Exemplu: clasa mamelor reprezinta intersectia clasei persoanelor 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
  82. 82. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Exemplu: clasa mamelor reprezinta intersectia clasei persoanelor 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
  83. 83. <?xml version=“1.0” ?> Semantic Web <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
  84. 84. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Prin owl:allValuesFrom specificam restrictia: “toti indivizii pentru care toate valorile proprietatii p provin din clasa C” [a owl:Restriction ; owl:onProperty p ; owl:allValuesFrom C ] Dr. Sabin Buraga http://www.purl.org/net/busaco
  85. 85. <?xml version=“1.0” ?> Semantic Web <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
  86. 86. <?xml version=“1.0” ?> Semantic Web <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
  87. 87. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor In cazul someValuesFrom, trebuie sa existe macar un membru al clasei pentru care are loc o proprietate data;  aceasta implica faptul ca trebuie sa existe un 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 fapt membrii corespunzatori Dr. Sabin Buraga http://www.purl.org/net/busaco
  88. 88. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Via restrictii privind cardinalitatea, poate fi specificat numarul (minim/maxim) de valori distincte pe care o proprietate le poate avea [a owl:Restriction ; owl:onProperty p; owl:cardinality n]. owl:minCardinality owl:maxCardinality Dr. Sabin Buraga http://www.purl.org/net/busaco
  89. 89. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: specificarea restrictiilor Exemplu: o resursa audio poate fi stocata macar de un sit Web multimedia <owl:Class rdf:ID=Audio> Fiecare instanta <rdfs:subClassOf rdf:resource=#Multimedia /> din clasa Audio  <rdfs:subClassOf> trebuie sa apara <owl:Restriction> macar in cel putin <owl:onProperty rdf:resource=#stocat> o relatie “stocat” <!-- indicam cardinalitatea minima --> <owl:minCardinality rdf:datatype=&xsd;nonNegativeInteger> 1 </owl:minCardinality> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Dr. Sabin Buraga http://www.purl.org/net/busaco
  90. 90. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL Aspecte importante: verificarea consistentei si coerentei ontologiei verificarea consistentei asertiunilor privind indivizii – care populeaza lumea modelata de ontologie Dr. Sabin Buraga http://www.purl.org/net/busaco
  91. 91. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL Clasele si proprietatile pot avea “definitii” multiple Declaratiile privitoare la indivizi nu trebuie obligatoriu sa fie stocate in cadrul aceluiasi document Dr. Sabin Buraga http://www.purl.org/net/busaco
  92. 92. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 1 – hotul & calatorul fara bilet Primul 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> Dr. Sabin Buraga http://www.purl.org/net/busaco
  93. 93. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 1 – hotul & calatorul fara bilet Alt 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> Dr. Sabin Buraga http://www.purl.org/net/busaco
  94. 94. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 1 – hotul & calatorul fara bilet Alt treilea fapt: Politia poseda informatiile <individ rdf:about=http://www.persoane.ro#MocoFin> <owl:sameAs rdf:resource=http://www.persoane.ro#JijiBerka /> </individ> Dr. Sabin Buraga http://www.purl.org/net/busaco
  95. 95. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 1 – hotul & calatorul fara bilet Concluzie: se poate realiza inferenta “Moco Fin este acelasi individ cu Jiji Berka.” OWL ofera posibilitatea de a exprima faptul ca doua resurse (e.g., doua persoane) sunt identice Dr. Sabin Buraga http://www.purl.org/net/busaco
  96. 96. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 2 – achizitionarea unei camere Dupa (Costello et al., 2003) SLR este o camera? Asistent Web  pentru “Trimite‐mi catalogul 3 cumparaturi de produse” online 1 Situl Web <SLR rdf:ID=Olympus-OM10> al magazi­ <f-stop>1.4</f-stop> nului “Iata <lens u=mm>300</lens> catalogul...” virtual ... <cost currency=USD>120</cost> 2 </SLR> Dr. Sabin Buraga http://www.purl.org/net/busaco
  97. 97. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 2 – achizitionarea unei camere Asistentul (agentul) Web consulta o ontologie OWL  privitoare la camere digitale de unde se poate determina ca SLR este sub‐clasa a clasei Camera Se poate deduce: “Olympus‐OM10 e o camera digitala.” Camera SLR Large-Format Digital Dr. Sabin Buraga http://www.purl.org/net/busaco
  98. 98. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 2 – achizitionarea unei camere ontologiile exprimate in OWL pot conduce la  descoperirea dinamica a relatiilor dintre resurse Dr. Sabin Buraga http://www.purl.org/net/busaco
  99. 99. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 3 – locul de nastere al regelui Kamehameha Fapt: 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> Dr. Sabin Buraga http://www.purl.org/net/busaco
  100. 100. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente Exemplul 3 – locul de nastere al regelui Kamehameha ontologia privitoare la indivizi indica faptul ca un individ are un unic loc de nastere se poate trage concluzia ca Hawaii, Sandwich Islands si Aloha reprezinta aceeasi locatie OWL ofera suport pentru precizarea cardinalitatii unei relatii dintre o resursa si o alta – in acest caz, exact una proprietate Resursa Resursa (valoare) (subiect) 1 Dr. Sabin Buraga http://www.purl.org/net/busaco
  101. 101. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente – demo Utilizarea unui reasoner (aici, Pellet) inclus in SWOOP Dr. Sabin Buraga http://www.purl.org/net/busaco
  102. 102. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> OWL: inferente – demo Unealta Web OWLSight – semnalarea inconsistentelor Dr. Sabin Buraga http://www.purl.org/net/busaco
  103. 103. <?xml version=“1.0” ?> Semantic Web <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
  104. 104. <?xml version=“1.0” ?> Semantic Web <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
  105. 105. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Rezumat Modelarea cunostintelor: ontologii specificate via OWL Dr. Sabin Buraga http://www.purl.org/net/busaco
  106. 106. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ? Dr. Sabin Buraga http://www.purl.org/net/busaco

×