Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limbajul OWL

706 views

Published on

Dezvoltarea aplicațiilor Web (9/12) — detalii la http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
706
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Dezvoltarea aplicațiilor Web (9/12): Specificarea ontologiilor folosind limbajul OWL

  1. 1. Dr. Sabin Buragawww.purl.org/net/busaco Dezvoltarea aplicațiilor Web modelarea cunoștințelor la nivel de Web ontologii exprimate prin OWL
  2. 2. Antonio Porchia Dr. Sabin Buragawww.purl.org/net/busaco “Cine deschide toate porțile, le poate închide pe toate.”
  3. 3. Existența unui vocabular partajabil elementele sintactice (cuvintele, marcatorii etc.) au același înțeles atât pentru transmițător, cât și pentru destinatar Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  4. 4. Existența unui set comun de constrângeri Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  5. 5. Existența unui cadru conceptual comun oferind relații între clase de date/informații/cunoștințe Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  6. 6. Existența unui cadru conceptual comun oferind relații între clase de date/informații/cunoștințe înțelegerea – automată (de dorit) – a informațiilor nu va fi influențată de anumite cunoștințe inițiale (unspecified background knowledge) Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  7. 7. “Andrei predă laboratorul materiei Tehnologii Web. Andrei e student doctorand în Computer Science.” a foaf:givenname :teach :isPartOf a a :enrolledAt rdfs:subClassOf rdfs:subClassOf :providedBy a foaf:homepage a foaf:Person . "Andrei"@ro . :WebLab . :Web . :Discipline . :PhDStudent . :PhDSchool . :PostgradStudies . :FIIStudies . :FII . :Faculty , foaf:Agent . <http://www.infoiasi.ro> . skos:Concept . Dr. Sabin Buragawww.purl.org/net/busaco :andrei :andrei :andrei :WebLab :Web :andrei :andrei :PhDSchool :PostgradStudies :FIIStudies :FII :FII :Academic
  8. 8. “Andrei predă laboratorul materiei Tehnologii Web. Andrei e student doctorand în Computer Science.” a foaf:givenname :teach :isPartOf a a :enrolledAt rdfs:subClassOf rdfs:subClassOf :providedBy a foaf:homepage a foaf:Person . "Andrei"@ro . adnotare :WebLab . semantică :Web . (explicită) :Discipline . :PhDStudent . :PhDSchool . :PostgradStudies . :FIIStudies . :FII . :Faculty , foaf:Agent . <http://www.infoiasi.ro> . skos:Concept . Dr. Sabin Buragawww.purl.org/net/busaco :andrei :andrei :andrei :WebLab :Web :andrei :andrei :PhDSchool :PostgradStudies :FIIStudies :FII :FII :Academic
  9. 9. Un limbaj de modelare complexă a cunoștințelor gestionate de o aplicație Web Dr. Sabin Buragawww.purl.org/net/busaco necesitate
  10. 10. Modelarea cunoștințelor via ontologii Dr. Sabin Buragawww.purl.org/net/busaco soluție
  11. 11. Ontologia = teorie privitoare la existență „ramură a filosofiei care studiază trăsăturile ființei, existența” (Hoklenium, 1613) ontos (ființă, existență) + logos (studiu) Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  12. 12. O ontologie reprezintă conceptualizarea unui domeniu de cunoaștere într-un format destinat a fi procesat de calculator, format modelând entități, atribute, relații și axiome Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  13. 13. Scop: conceptualizări complexe ale unui domeniu de interes Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  14. 14. Subiectul ontologiei este studiul categoriilor de lucruri (things) care există sau pot exista în cadrul unui domeniu de interes John Sowa, 2001 Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  15. 15. Dr. Sabin Buragawww.purl.org/net/busaco ontologii O ontologie reprezintă un set de definiții formulate într-un limbaj formal pentru termenii ce descriu un domeniu de interes Adam Pease, 2007
  16. 16. “Ontology is a set of knowledge terms, including the vocabulary, the semantic interconnections, and some simple rules of inference and logic for some particular topic.” James Hendler, 2001 Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  17. 17. Dr. Sabin Buragawww.purl.org/net/busaco ontologii “A rigorous and exhaustive organization of some knowledge domain that is usually hierarchical and contains all the relevant entities and their relations.” WordNet
  18. 18. 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www.purl.org/net/busaco ontologii
  19. 19. Tipurile din ontologie reprezintă predicatele, sensurile cuvintelor sau conceptele și relațiile din cadrul limbajului L, atunci când este utilizat pentru a discuta despre domeniul D Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  20. 20. Dr. Sabin Buragawww.purl.org/net/busaco Adam Pease, 2007 citând C.K. Ogden/I.A. Richards (1923)
  21. 21. Vocabular comun Aplicația A Aplicația B Limbaj(e) de modelare/marcare rolul ontologiilor (Jerry Hobbs, Eurolan 2003) Dr. Sabin Buragawww.purl.org/net/busaco Teorie abstractă
  22. 22. Teorie abstractă Vocabular comun Aplicația A Aplicația B Limbaj(e) de modelare/marcare rolul ontologiilor (Jerry Hobbs, Eurolan 2003) Dr. Sabin Buragawww.purl.org/net/busaco stabilește înțelesul conceptelor (termenilor) vocabularului comun
  23. 23. Folosind ontologii, asociem semantici “lucrurilor” despre care “vorbim” relație exemplu: un framework Web este o componentă software care facilitează dezvoltarea unui sit Web categorie (clasă) Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  24. 24. Folosind ontologii, asociem semantici “lucrurilor” despre care “vorbim” descrierile semantice “ajută” calculatoarele să pară “smart” Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  25. 25. Folosind ontologii, asociem semantici “lucrurilor” despre care “vorbim” un program “smart” ar trebui să fie capabil să realizeze aceleași inferențe pe care le fac (unii) oameni Dr. Sabin Buragawww.purl.org/net/busaco ontologii e.g., dacă Meteor este framework Web, atunci este componentă softwarenecesită un mediu de execuție și oferă suport pentru diverse tehnologii Web: URI, HTTP,…
  26. 26. Siri – asistent digital personal mobil (Tom Gruber, 2010; Apple, din 2011) bazat pe modele semantice privind domenii + activități recurge la servicii (API-uri) publice de interes manifestă o interacțiune naturală cu utilizatorul Dr. Sabin Buragawww.purl.org/net/busaco ontologii – exemplificare
  27. 27. Ontologii informale versus formale (de la limbaj natural la logică) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  28. 28. Ontologii formale: axiomatice sau bazate pe prototipuri Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  29. 29. Ontologii formale: axiomatice disting sub-tipurile prin axiome și definiții specificate într-un limbaj formal (logic) bazate pe prototipuri Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri disting sub-tipurile prin comparația cu un membru tipic ori specificând un prototip pentru fiecare sub-tip în parte
  30. 30. Conform nivelului de descriere oferit: vocabular de exemplu, specificare via o schemă XML Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  31. 31. Conform nivelului de descriere oferit: taxonomie – relații de clasificare (is-a) vedere ierarhică a conceptelor (clase, sub-clase, supra-clase) modelare prin RDF Schema vezi cursul precedent Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  32. 32. Conform nivelului de descriere oferit: lexicon = taxonomie + termeni înrudiți (via relații de echivalență, ierarhii, asocieri etc.) modelare prin SKOS vezi cursul precedent Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  33. 33. Conform nivelului de descriere oferit: sistem relațional schemă de baze de date Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  34. 34. Conform nivelului de descriere oferit: teorie axiomatică (constrângeri  axiome) axiomă  enunț logic ce nu poate fi dedus din altele, dar poate fi folosit pentru demonstrarea altora Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  35. 35. După scopul & contextul utilizării: ontologii specializate industria de automobile, aeronautica, biologie (GO – Gene Ontology), comerț electronic (GoodRelations), muzică (MO – Music Ontology), ontologia proceselor (serviciilor Web) OWL-S etc. Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  36. 36. modelul conceptual al sistemului GitHub Dr. Sabin Buragawww.purl.org/net/busaco
  37. 37. După scopul & contextul utilizării: ontologii generale Cyc OpenCyc SUMO (Suggested Upper Merged Ontology) UMBEL (Upper Mapping and Binding Exchange Layer) … Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  38. 38. După scopul & contextul utilizării: ontologii intermediare – mid-level exemplificare: MILO (MId-Level Ontology) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri
  39. 39. De nivel cel mai înalt (top-level, upper-level) – cele mai generale Specifice unui domeniu (domain-related) – verticale Specifice unor sarcini (task-related) – orizontale Specifice unei aplicații (application-related) – apelează la ontologii verticale și/sau orizontale Dr. Sabin Buragawww.purl.org/net/busaco ontologii – tipuri (Guarino, 1998)
  40. 40. Aspecte de interes – inginerie (Gasevic, Djuric & Devedzic, 2009) modelare colaborare interoperabilitate educație detalii în viitoarele cursuri Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  41. 41. Dr. Sabin Buragawww.purl.org/net/busaco ontologii YAGO (Yet Another Great Ontology) modelează entități (abstracte); utilizare în cadrul DBpedia http://yago-knowledge.org/
  42. 42. o reprezentare SVG a unei resurse YAGO (versiunea 2) inclusiv specificarea de relații via RDFS și SKOS Dr. Sabin Buragawww.purl.org/net/busaco ontologii
  43. 43. necesitatea dezambiguizării (e.g., Paris poate fi o localitate din USA) Dr. Sabin Buragawww.purl.org/net/busaco ontologii spotpx – interfață Web de interogare YAGO în acest caz: lista oamenilor de știință născuți după 1933 în jurul orașului Paris care au primit premiul Nobel în chimie
  44. 44. ODOL (Object-oriented software Design Ontology) folosită la reprezentarea șabloanelor de proiectare PersonaOnto (Ș. Negru & S. Buraga, 2012) modelează personas http://blankdots.com/open/personasonto.html Dr. Sabin Buragawww.purl.org/net/busaco ontologii – alte exemple
  45. 45. Componente distincte: nume privind cele mai importante concepte ale domeniului de cunoaștere modelat cunoștințe anterioare – de “background” – sau constrângeri ale domeniului (eventual, specificate cu ajutorul axiomelor) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  46. 46. Crocodil reprezintă un concept având ca membri animale ce prezintă anumite caracteristici Ierbivor este un concept privitor la animale care consumă doar plante ori părți de plante Orice membru al clasei Crocodil este vorace Un animal nu poate fi simultan Ierbivor și Carnivor Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare: exemplu (1)
  47. 47. Warrior desemnează un concept privitor la un anumit tip de personaj al unui joc electronic Human referă un personaj uman având o anumită rasă – disjunct de Elf, Goblin și Orc – și care poate utiliza doar arme dintr-o anumită categorie Orice membru al clasei Warrior poate folosi MagicPotion Echipamentul purtat de personajele din clasa Orc include instanțe ale clasei BarbarianEquipment Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare: exemplu (2)
  48. 48. O ontologie va include: categoriile, clasele, conceptele fundamentale proprietățile asociate conceptelor relațiile dintre concepte Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  49. 49. Reprezentări uzuale ale ontologiilor: limbaje logice: Prolog & familia (Golog, ConGolog) KIF (Knowledge Interchange Format) CL (Common Logic) diagrame UML DL (logici ale descrierii – description logics) limbaje utilizate în contextul Web: RDFS, OWL specificații vizuale Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  50. 50. Specificarea categoriilor/conceptelor categorie  domeniu în teoria bazelor de date categorie  tip/sort în inteligența artificială categorie  clasă în cazul ontologiilor Web Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  51. 51. Specificarea categoriilor/conceptelor criteriile de stabilire a conceptelor sunt complexe experiența are un rol foarte important Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  52. 52. Clasele (categoriile) de nivel cel mai înalt ale ontologiei Cyc Noy & Hafner, 1997 Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  53. 53. Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare Categorii de nivel înalt – cazul SUMO (Adam Pease, 2007) Entity Physical Object SelfConnectedObject Substance CorpuscularObject Region Collection Process Abstract
  54. 54. Specificarea proprietăților proprietate  atribut proprietate  slot/frame în inteligența artificială Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  55. 55. Specificarea proprietăților proprietate = relație binară care poate preciza fapte privitoare la membrii unei clase (indivizi) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  56. 56. Specificarea proprietăților proprietate = relație binară care poate preciza fapte privitoare la membrii unei clase (indivizi) diferențiază un concept de altul în unele cazuri, pot fi definite și sub-proprietăți Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  57. 57. Specificarea proprietăților o proprietate se poate referi la: tipuri de date – datatype property sau obiecte – object property Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  58. 58. Specificarea proprietăților – exemplu de frame Claudia: Person vârstă ocupație 25 cardinality: 1 PhDStudent ocupație WebDeveloper … … Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  59. 59. Specificarea proprietăților – exemplu de frame Claudia: Person datatype property vârstă ocupație 25 cardinality: 1 PhDStudent object property ocupație WebDeveloper … … o persoană are o singură vârstă, dar poate avea un număr arbitrar de ocupații Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  60. 60. Modalități de reprezentare vizuală: Resursă subiect Proprietate dc:Creator web.html Resursă obiect modelul de date (abstract) bazat pe RDF Schema/OWL purl.org/net /busaco instanțe (aici, adoptând vocabularul DCMI, pe baza modelului RDF) Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  61. 61. Specificarea relațiilor pentru organizarea/ilustrarea categoriilor se folosesc arborii și grafurile Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  62. 62. Specificarea relațiilor – cazul WordNet relațiile pot fi de: hiperonimie – “general-specific” meronimie – “parte-întreg” antonimie Dr. Sabin Buragawww.purl.org/net/busaco ontologii – specificare
  63. 63. Ontologie Limbaj (natural) expandabilă independentă de limbaj procesabilă de către mașină înțeles de oameni ambiguu Cunoștințe se modifică rapid (“perisabile”) pot exprima local un “lucru” conform Adam Pease (2007) Dr. Sabin Buragawww.purl.org/net/busaco ontologii vs. limbaj vs. cunoștințe
  64. 64. Dr. Sabin Buragawww.purl.org/net/busaco Cum exprimăm ontologiile la nivel de Web?
  65. 65. Web Ontology Language scop: facilitarea interpretării de către software a conținutului informațional utilizează modelul RDF și RDF Schema Dr. Sabin Buragawww.purl.org/net/busaco OWL
  66. 66. OWL 1.0 recomandare W3C (2004) – 6 părți www.w3.org/TR/owl-guide/ OWL 2.0 recomandare W3C (2009, 2012) – 13 părți www.w3.org/TR/owl2-overview/ www.w3.org/TR/owl2-primer/ Dr. Sabin Buragawww.purl.org/net/busaco OWL
  67. 67. OWL Lite folosit pentru exprimarea ierarhiilor de clasificare și a unor constrângeri de bază facilitează realizarea de raționamente simple Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  68. 68. OWL DL (Description Logics) oferă maximum de expresivitate, fără pierderea completitudinii și decidabilității Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  69. 69. OWL DL (Description Logics) oferă maximum de expresivitate, fără pierderea completitudinii și decidabilității completitudine = orice propoziție supusă regulilor de deducție poate fi demonstrată decidabilitate = mulțimea formulelor (teoremelor) unui sistem logic poate fi efectiv determinată Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  70. 70. OWL DL (Description Logics) oferă maximum de expresivitate, fără pierderea completitudinii și decidabilității formalizare via logicile descrierii (subset al logicii cu predicate de ordinul I) Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  71. 71. OWL Full oferă maximum de expresivitate și flexibilitate, fără a se pune problema completitudinii permite modificarea vocabularelor RDF și OWL Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  72. 72. OWL Lite  OWL DL  OWL Full Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: niveluri
  73. 73. Sintaxă: documente RDF se folosesc formate precum RDF/XML sau Turtle ușor de procesat, stocat, interogat (API-uri RDF, triple stores, SPARQL,…) Dr. Sabin Buragawww.purl.org/net/busaco OWL
  74. 74. Sintaxă: “abstractă” corespunde modelului logicilor descrierii e.g., sintaxa funcțională, sintaxa Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL
  75. 75. O ontologie OWL este compusă în principal din: clase proprietăți relații Dr. Sabin Buragawww.purl.org/net/busaco OWL
  76. 76. Dr. Sabin Buragawww.purl.org/net/busaco eventual, pot fi precizate: instanțe de clase axiome adnotări & importuri
  77. 77. Fiecare ontologie va fi identificată de un URI unic FOAF: http://xmlns.com/foaf/0.1/ Gene Ontology: http://purl.org/obo/owl/GO Music Ontology: http://purl.org/ontology/mo/ PersonasOnto: http://blankdots.com/open/personasonto.owl Dr. Sabin Buragawww.purl.org/net/busaco OWL
  78. 78. Fiecare ontologie va fi identificată de un URI unic URI-ul ontologiei demonstrative utilizate la acest curs: http://www.semanticweb.org/ontologies/2008/10/SWOnto.owl Dr. Sabin Buragawww.purl.org/net/busaco OWL
  79. 79. nivelul conceptual (cunoștințe) Multimedia detinutDe Audio rdfs:subClassOf Video detine Proprietar rdf:type rdf:type rdf:type detinutDe the_eye detinutDe detine ancuta anca owl:sameAs zidul Dr. Sabin Buragawww.purl.org/net/busaco rdfs:subClassOf eugen rudaCu nivelul datelor (indivizi)
  80. 80. Nu se impune a-priori o cunoaștere completă a domeniului de interes ipoteza lumii deschise (open world assumption) Dr. Sabin Buragawww.purl.org/net/busaco OWL
  81. 81. Nu se impune a-priori o cunoaștere completă a domeniului de interes ipoteza lumii deschise (open world assumption) unele definiții vor fi considerate “parțiale” Dr. Sabin Buragawww.purl.org/net/busaco OWL
  82. 82. O clasă se specifică prin owl:Class desemnează colecții de indivizi – obiecte, things,... – în vederea descrierii unei lumi (un web) reprezintă un “obiect” (“thing”) al lumii Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  83. 83. O clasă se specifică prin owl:Class desemnează colecții de indivizi – obiecte, things,... – în vederea descrierii unei lumi (un web) reprezintă un “obiect” (“thing”) al lumii cea mai generală clasă este owl:Thing Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  84. 84. Relația de derivare a claselor se exprimă via rdfs:subClassOf de la RDF Schema <owl:Class rdf:ID="Audio"> <rdfs:subClassOf rdf:resource="#Multimedia" /> </owl:Class> :Audio a rdfs:subClassOf owl:Class ; :Multimedia . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  85. 85. Expresii de clasă (class expressions): reuniune – owl:unionOf intersecție – owl:intersectionOf complementară – owl:complementOf disjuncție – owl:disjointWith semantica operațiilor e conformă cu teoria mulțimilor Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  86. 86. Expresii de clasă (class expressions): reuniune – owl:unionOf intersecție – owl:intersectionOf complementară – owl:complementOf disjuncție – owl:disjointWith se utilizează pentru specificarea unor clase Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  87. 87. 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www.purl.org/net/busaco OWL: specificarea claselor
  88. 88. Exemplu: resursele video nu sunt lumi virtuale, nici executabile Class: Video SubClassOf: DisjointWith: DisjointWith: Multimedia LumiVirtuale Executabile sintaxa Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  89. 89. Implicit, OWL se aliniază ipotezei lumii deschise cu implicații majore în ceea ce privește operațiile dintre clase și realizarea inferențelor referitoare la cardinalitate Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  90. 90. Implicit, OWL se aliniază ipotezei lumii deschise Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor în unele cazuri, putem specifica exact membrii unei clase, adoptând – local – ipoteza lumii închise (closed world)
  91. 91. Exemplu: determinarea albumului deținut de o persoană :AlbumePortishead a owl:Class ; owl:oneOf ( :Dummy :Portishead :Third ) . fiecare instanță specificată via owl:oneOf este membră a clasei respective Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  92. 92. Exemplu: determinarea albumului deținut de o persoană :AlbumePortishead a owl:Class ; owl:oneOf ( :Dummy :Portishead :Third ) . fiecare instanță specificată via owl:oneOf este membră a clasei respective știind că :me voc:detine :AlbumePortishead . se poate deduce faptul că entitatea desemnată de :me posedă măcar unul dintre ele Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  93. 93. Astfel, o clasă 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www.purl.org/net/busaco OWL: specificarea claselor
  94. 94. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor inspectarea claselor cu instrumentul Protégé http://protege.stanford.edu/
  95. 95. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor Specificarea echivalenței claselor se poate realiza recurgând la owl:equivalentClass <owl:Class rdf:ID="Designer"> <owl:equivalentClass rdf:resource="#Proiectant" /> </owl:Class> :Designer a owl:Class ; owl:equivalentClass :Proiectant .
  96. 96. Având două clase echivalente, înseamnă că vor avea doar aceeași membri Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  97. 97. Având două clase echivalente, înseamnă că vor avea doar aceeași membri alte proprietăți asociate claselor sunt proprii fiecăreia (de exemplu, rdfs:label ori rdfs:comment) Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea claselor
  98. 98. Proprietăți = relații binare ce specifică fapte privitoare la membrii unei clase sau la indivizi Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  99. 99. Proprietăți = relații binare ce specifică fapte privitoare la membrii unei clase sau la indivizi se referă la tipurile de date – datatype property sau vizează obiectele – object property Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  100. 100. Proprietăți = relații binare ce specifică fapte privitoare la membrii unei clase sau la indivizi se referă la tipurile de date – datatype property sau vizează obiectele – object property văzute drept colecții de relații între indivizi/date Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  101. 101. Exemplu: definirea unei proprietăți privitoare la obiecte care exprimă faptul că o resursă multimedia poate fi stocată pe un sit Web multimedia <owl:ObjectProperty rdf:ID="stocat"> <rdfs:domain rdf:resource="#Multimedia" /> <rdfs:range rdf:resource="#SitMultimedia" /> </owl:ObjectProperty> :stocat a rdfs:domain rdfs:range owl:ObjectProperty ; :Multimedia ; :SitMultimedia . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  102. 102. Exemplificare: definirea unei proprietăți datatype pentru a desemna relația între resurse și literali (e.g., valori de date aparținând unor 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www.purl.org/net/busaco OWL: specificarea proprietăților
  103. 103. Exemplificare: definirea unei proprietăți datatype pentru a desemna relația între resurse și literali (e.g., valori de date aparținând unor tipuri XML Schema) DataProperty: dimensiune Domain: Multimedia Range: unsignedLong sintaxa Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  104. 104. Proprietățile pot include sub-proprietăți (specializări) definite via RDF Schema Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  105. 105. Proprietățile pot include sub-proprietăți (specializări) definite via RDF Schema …și pot avea specificate caracteristici “speciale” Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  106. 106. O proprietate care nu are decât o singură valoare pentru fiecare individ – valoarea ei este unică – se numește proprietate funcțională <owl:FunctionalProperty rdf:ID="areGen"> <rdfs:domain rdf:resource="#Persoana" /> <rdfs:range rdf:resource="#Gen" /> </owl:FunctionalProperty> „O persoană are doar un singur gen.” Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  107. 107. Dacă resursa A este în relația p cu B și B este în relația p cu A, atunci p este o proprietate simetrică <owl:SymmetricProperty rdf:ID="rudaCu"> <rdfs:domain rdf:resource="#Persoana" /> <rdfs:range rdf:resource="#Persoana" /> </owl:SymmetricProperty> „Relația de rudenie între persoane este simetrică.” Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  108. 108. De remarcat faptul că unele dintre proprietățile specificate de OWL – e.g., owl:equivalentClass – sunt simetrice Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  109. 109. Proprietăți inverse dacă proprietatea p este inversa lui q și A este în relația p cu B, atunci se poate deduce că B este în relația q cu A se folosește construcția owl:inverseOf Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  110. 110. ReviewerOf este sub-proprietate a lui foaf:knows și este inversa proprietății ReviewedBy (Ciprian Amariei, 2007) Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  111. 111. ObjectProperty: ReviewerOf Annotations: rdfs:comment "Relația de recenzent (inspector)…"@ro Domain: foaf:Person Range: foaf:Person InverseOf: ReviewedBy SubPropertyOf: sintaxa foaf:knows Manchester Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  112. 112. Proprietăți tranzitive dată fiind proprietatea p tranzitivă, dacă există A p B . și B p C . atunci se poate deduce ApC. se recurge la owl:TransitiveProperty Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  113. 113. Definirea unei proprietăți tranzitive – exemplu: :utilizează a owl:TransitiveProperty , owl:ObjectProperty ; owl:inverseOf :utilizatDe . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  114. 114. O proprietate mai poate fi definită ca fiind: invers funcțională anti-simetrică reflexivă anti-reflexivă Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  115. 115. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietatilor relația rudaCu este simetrică și reflexivă
  116. 116. Folosind owl:equivalentProperty se poate defini că două proprietăți sunt echivalente Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea proprietăților
  117. 117. Un individ (membru) al unei clase se declară ca aparținând clasei respective Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  118. 118. Un individ (membru) al unei clase se declară ca aparținând clasei respective reprezintă un obiect al lumii – aparține clasei owl:Thing este “înrudit” cu alte obiecte sau valori de date via proprietăți Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  119. 119. <!-- definim individul --> <owl:Thing rdf:ID="the_wall"> <rdfs:comment xml:lang="ro"> Un film de Pink Floyd</rdfs:comment> </owl:Thing> <!-- ulterior, specificăm tipul lui (plus proprietăți/meta-date) --> <owl:Thing rdf:about="#the_wall"> <rdf:type rdf:resource="#Video" /> </owl:Thing> :the_wall a :Video ; rdfs:comment "Un film…"@ro . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  120. 120. Echivalența între indivizi se realizează prin owl:sameAs se poate folosi și owl:differentFrom Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  121. 121. Dr. Sabin Buragawww.purl.org/net/busaco :ancuta rudaCu :eugen . :ancuta owl:sameAs :anca .
  122. 122. Exemplu: specificarea a doi indivizi distincți <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www.purl.org/net/busaco OWL: specificarea indivizilor
  123. 123. Pentru a defini colecții de indivizi distincți, se utilizează owl:distinctMembers Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea indivizilor
  124. 124. Exemplu: specificarea în termeni fuzzy a localizării 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www.purl.org/net/busaco OWL: specificarea indivizilor
  125. 125. Specificarea în OWL a vocabularului FOAF http://xmlns.com/foaf/spec/ Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  126. 126. Se definesc clasele foaf:Person, foaf:Group, foaf:Organization ca fiind sub-clase ale foaf:Agent foaf:Agent rdf:type foaf:Person rdfs:subClassOf foaf:Group rdfs:subClassOf foaf:Organizationrdfs:subClassOf owl:Class . foaf:Agent . foaf:Agent . foaf:Agent . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  127. 127. Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  128. 128. Lista claselor FOAF (Dan Brickley & Libby Miller, 2010) Agent Document Group Image OnlineAccount OnlineChatAccount OnlineEcommerceAccount OnlineGamingAccount Organization Person PersonalProfileDocument Project Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  129. 129. Pentru o persoană, sunt definite diverse proprietăți: 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www.purl.org/net/busaco OWL: studiu de caz – FOAF
  130. 130. Fiecare agent (persoană, organizație,…) poate crea resurse (“things”) – se definește proprietatea foaf:made foaf:made rdfs:domain foaf:Agent . foaf:made rdfs:range owl:Thing . foaf:made owl:inverseOf foaf:maker . similar: foaf:publications foaf:publications rdfs:domain rdfs:range foaf:Person . foaf:Document . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  131. 131. Exprimarea constrângerilor: de exemplu, o persoană este identificată unic prin adresa ei de e-maildouă persoane care au aceeași adresă de e-mail reprezintă în fapt o singură persoană foaf:mbox rdf:type owl:InverseFunctionalProperty . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF idem, pentru foaf:homepage, foaf:jabberID, foaf:weblog,…
  132. 132. Lista proprietăților vizând informații personale (Dan Brickley & Libby Miller, 2010) weblog knows interest currentProject pastProject plan based_near workplaceHomepage workInfoHomepage schoolHomepage topic_interest publications geekcode myersBriggs dnaChecksum Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF
  133. 133. Model conceptual simplu privind termenii de conținut (tag-urile), cu scopul de a fi utilizat în cadrul RDFa www.commontag.org Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  134. 134. O resursă de interes adresabilă via un URI are asociat (tagged) un număr de instanțe de tip Tag Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  135. 135. Fiecare tag poate conține o referință (“pointer”) spre o altă resursă ce identifică neambiguu acel concept descris de conținut Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  136. 136. Clasa Tag cu sub-clasele AuthorTag, ReaderTag, AutoTag proprietăți: means tagged taggingDate label ctag:means a rdf:domain rdf:range owl:ObjectProperty ; ctag:Tag ; rdf:Resource . Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  137. 137. <!-- specificarea (cu RDFa) a tag-ului Portishead (grupul muzical, nu localitatea) asociat unei imagini --> <div xmlns:ctag="http://commontag.org/ns#" rel="ctag:tagged" about="#resursa"> <span typeof="ctag:Tag" rel="ctag:means" resource="http://seevl.fm/entity/3v2HbhVZ" property="ctag:label" content="Portishead"/> </div> <img id="resursa" src="…" alt="Formația Portishead" /> înțelesul termenului „Portishead” este cel dat de situl seevl.fm Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – Common Tag
  138. 138. Cum sunt modelate resursele Wikipedia, disponibile în RDF prin intermediul DBpedia? Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  139. 139. 4 scheme de clasificare: categorii de articole Wikipedia exprimate prin SKOS (Simple Knowledge Organizational System), sub controlul exercitat de editorii Wikipedia Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  140. 140. 4 scheme de clasificare: YAGO – Yet Another Great Ontology (versiunea 2) pe baza asocierii dintre categoriile-frunză Wikipedia și mulțimile de sinonime (synsets) WordNet J. Hoffart et al., “YAGO2: A Spatially and Temporally Enhanced Knowledge Base from Wikipedia”, AI Journal (2012) – http://tinyurl.com/azkqee7 Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  141. 141. 4 scheme de clasificare: UMBEL (Upper Mapping and Binding Exchange Layer) ontologie creată cu scopul interconectării datelor disponibile pe Web, derivată din OpenCyc Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  142. 142. Dr. Sabin Buragawww.purl.org/net/busaco UMBEL – model conceptual facilitând interoperabilitatea http://umbel.org/
  143. 143. 4 scheme de clasificare: DBpedia Ontology – http://dbpedia.org/ontology/ 529 clase + 2333 proprietăți 3220000 de instanțe model creat manual pe baza template-urilor Wikipedia detalii la http://wiki.dbpedia.org/Ontology Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  144. 144. Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – FOAF C. Bizer et al., “DBpedia – A Crystallization Point for the Web of Data” (2009)
  145. 145. lista claselor specificate de ontologia DBpedia (fragment) Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  146. 146. lista proprietăților DBPedia (fragment) detalii la http://wiki.dbpedia.org/Datasets/Properties Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  147. 147. Interconectarea datelor via owl:sameAs SELECT ?resursa WHERE { <http://dbpedia.org/resource/Romania> owl:sameAs ?resursa } obținerea resurselor privitoare la Romania pe baza unei interogări SPARQL Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia
  148. 148. Interconectarea datelor via owl:sameAs <http://dbpedia.org/resource/Romania> owl:sameAs Freebase <http://rdf.freebase.com/ns/m.06c1y> ; <http://linkedgeodata.org/triplify/node432425064> ; Eurostat <http://eurostat.linked-statistics.org/dic/c_ctrl#RO> ; <http://sw.cyc.com/concept/Mx4rvViC8ZwpEbGdrcN5Y29ycA> . OpenCyc Dr. Sabin Buragawww.purl.org/net/busaco OWL: studiu de caz – DBpedia astfel, pot fi realizate reconcilieri între modele conceptuale
  149. 149. Dr. Sabin Buragawww.purl.org/net/busaco Putem impune restricții suplimentare modelului de cunoștințe descrise în OWL?
  150. 150. Restricțiile sunt considerate clase definite prin descrierea proprietăților indivizilor pe care-i pot include Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  151. 151. Restricțiile sunt considerate clase definite prin descrierea proprietăților indivizilor pe care-i pot include specificând o mulțime de indivizi în termeni de clase cunoscute (proprietăți comune), putem folosi această descriere pentru a defini o nouă clasă – mai restrictivă Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  152. 152. Restricțiile impuse proprietăților trebuie să apară în cadrul elementelor owl:Restriction și owl:onProperty Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  153. 153. Tipuri de restricții: asupra valorilor allValuesFrom, someValuesFrom, hasValue privitoare la cardinalitate cardinality, minCardinality, maxCardinality Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  154. 154. Prin owl:someValuesFrom specificăm restricția: “indivizii pentru care măcar o valoare a proprietății p provine din clasa C” [a owl:onProperty owl:someValuesFrom owl:Restriction ; p; C] Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  155. 155. Exemplu: clasa mamelor reprezintă intersecția clasei femeilor cu cea a persoanelor care au copii restricția 1: clasa persoanelor care sunt femei <owl:Restriction> <owl:onProperty> <owl:FunctionalProperty rdf:about="#areGen"/> [ a owl:Restriction ; </owl:onProperty> owl:onProperty :areGen ; <owl:hasValue owl:hasValue :Feminin ] rdf:resource="#Feminin"/> </owl:Restriction> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  156. 156. Exemplu: clasa mamelor reprezintă intersecția clasei femeilor cu cea a persoanelor care au copii restricția 2: clasa persoanelor care au copii <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#areCopil"/> [a owl:Restriction ; </owl:onProperty> owl:onProperty :areCopil ; <owl:someValuesFrom rdf:resource="#Persoana"/> owl:someValuesFrom :Persoana ] </owl:Restriction> Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  157. 157. Prin owl:allValuesFrom specificăm restricția: “toți indivizii pentru care toate valorile proprietății p provin din clasa C” [a owl:Restriction ; owl:onProperty p; owl:allValuesFrom C ] Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  158. 158. 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www.purl.org/net/busaco OWL: specificarea restricțiilor
  159. 159. Exemplu: clasa persoanelor vegetariene știind că Alex este vegetarian și consumă spanac :alex a :Vegetarian . :alex :consuma :spanac . …se poate deduce faptul că spanacul aparține clasei vegetalelor: :spanac a :Vegetala . Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  160. 160. În cazul someValuesFrom, trebuie să existe măcar un membru al clasei pentru care are loc o proprietate dată aceasta implică faptul că trebuie să existe un astfel de membru Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  161. 161. Restricția allValuesFrom înseamnă “dacă există membri, atunci ei toți trebuie să aibă acea proprietate” aceasta nu implică faptul că trebuie să existe de fapt membrii corespunzători Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  162. 162. Via restricții privind cardinalitatea, poate fi stabilit numărul – minim/maxim – de valori distincte pe care o proprietate le poate avea [a owl:onProperty owl:cardinality owl:Restriction ; p; n]. Dr. Sabin Buragawww.purl.org/net/busaco OWL: specificarea restricțiilor
  163. 163. <owl:Class rdf:ID="Audio"> <rdfs:subClassOf rdf:resource="#Multimedia" /> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#stocat"> <!-- indicăm cardinalitatea minimă --> <owl:minCardinality rdf:datatype="xsd:nonNegativeInteger"> 1 </owl:minCardinality> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> </owl:Class> fiecare instanță din clasa Audio trebuie să apară măcar în cel puțin o relație “stocat” Dr. Sabin Buragawww.purl.org/net/busaco Exemplu: o resursă audio poate fi stocată măcar de un sit Web multimedia
  164. 164. Aspect important: verificarea consistenței și coerenței ontologiei inclusiv verificarea consistenței aserțiunilor privind indivizii care populează domeniul modelat de ontologie Dr. Sabin Buragawww.purl.org/net/busaco OWL
  165. 165. Dr. Sabin Buragawww.purl.org/net/busaco OWL Aspect important: clasele și proprietățile pot avea “definiții” multiple AAA – Anyone can say Anything about Any topic
  166. 166. Aspect important: declarațiile privitoare la indivizi nu trebuie obligatoriu să fie stocate în cadrul aceluiași document uzual, modelul ontologic este separat de aserțiunile privind indivizii separation of concerns Dr. Sabin Buragawww.purl.org/net/busaco OWL
  167. 167. Antet: Ontology Clase (concepte): Class, rdfs:subClassOf, intersectionOf Proprietăți: rdfs:Property, rdfs:subPropertyOf, rdfs:domain, rdfs:range (In)egalități: equivalentClass, equivalentProperty, sameAs, differentFrom, allDifferent Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: privire de ansamblu
  168. 168. Caracteristici ale proprietăților: inverseOf, TransitiveProperty, SymmetricProperty, FunctionalProperty, InverseFunctionalProperty Restricții de tip asupra proprietăților: allValuesFrom, someValuesFrom Restricții de cardinalitate: minCardinality, maxCardinality, cardinality Dr. Sabin Buragawww.purl.org/net/busaco OWL 1: privire de ansamblu
  169. 169. modelarea cunoștințelor ontologii specificate în OWL 1.0 Dr. Sabin Buragawww.purl.org/net/busaco rezumat
  170. 170. Dr. Sabin Buragawww.purl.org/net/busaco episodul viitor: OWL 2.0 + formalizare și baze de cunoștințe

×