SlideShare a Scribd company logo
1 of 106
Download to read offline
<?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
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                  Ontologii
Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?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
<?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
<?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
<?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
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                      solutie


           Modelarea cunostintelor via ontologii




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                   ontologii


         Ontologia = teorie privitoare la existenta




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?xml version=“1.0” ?>
Semantic Web                                                    <curs desc=“…” />




                                                     Tipuri de ontologii
                                                    (Daconta et al., 2003)

Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?xml version=“1.0” ?>
Semantic Web                                            <curs desc=“…” />




                       ontologii – specificare
                   Specificarea relatiilor – exemplu:




Dr. Sabin Buraga    http://www.purl.org/net/busaco
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?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
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                   Rezumat




                    Modelarea cunostintelor:
                   ontologii specificate via OWL


Dr. Sabin Buraga   http://www.purl.org/net/busaco
<?xml version=“1.0” ?>
Semantic Web                                        <curs desc=“…” />




                                         ?

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

More Related Content

More from Sabin Buraga

Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)Sabin Buraga
 

More from Sabin Buraga (20)

Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 

Web06 Semantic Web: Ontologii OWL

  • 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. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Ontologii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 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. <?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. <?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. <?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. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> solutie Modelarea cunostintelor via ontologii Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ontologii – specificare Specificarea relatiilor – exemplu: Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> Dr. Sabin Buraga http://www.purl.org/net/busaco
  • 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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?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. <?xml version=“1.0” ?> Semantic Web <curs desc=“…” /> ? Dr. Sabin Buraga http://www.purl.org/net/busaco