Emanuele Della Valle [email_address] http://emanueledellavalle.org   Ontologies in RDF-S/OWL
Share, Remix, Reuse — Legally This work is licensed under the Creative Commons Attribution 3.0 Unported License.  Your are free: to Share  — to copy, distribute and transmit the work to Remix  — to adapt the work Under the following conditions Attribution  — You must attribute the work by inserting “ © applied-semantic-web.org” at the end of each reused slide a credits slide stating: these slides are partially based on  “Ontologies in RDF-S/OWL” by Emanuele Della Valle  http://applied-semantic-web.org/2010/03/03_RDFS-OWL.ppt   To view a copy of this license, visit  http://creativecommons.org/licenses/by/3.0/
Ontology: RDF-S and OWL
RDF-S/OWL in a nutshell Ontology definition Philosophy (400BC):  Systematic explanation of Existence  Neches (91):  Ontology defines basic terms and relations comprising the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary Gruber (93):  Explicit specification of a conceptualization Borst (97):  Formal specification of a shared conceptualization  Studer(98) Formal, explicit specification of a shared conceptualization
RDF-S/OWL in a nutshell What does it mean? Formal, explicit specification of a shared conceptualization Machine readable Several people agrees that such conceptual model is adequate to  describe  such  aspects of the reality A conceptual  model of some aspects of the reality It makes domain assumption explicit
RDF-S/OWL in a nutshell  Questa è un’ontologia? NO, perchè È una  concettualizzazione È  condivisa  dalla comunità che l’ha sviluppata …  ma non è esplicita  (la dimensione dei rami molto probabilmente non indica la numerosità delle speci) formale  (nessuna macchina può usarla)
RDF-S/OWL in a nutshell  Esempio di ontologia Concetti e relazioni  primitivi essere umano maschio femmina ha figlio Concetti e relazioni  derivate un  uomo  è un  essere umano  ed  è un  maschio una   donna  è un  essere umano  ed  è una  femmina una  madre  è una  donna  che  ha  almeno un  figlio una  padre  è un  uomo  che  ha  almeno un  figlio un  genitore  è o un  padre  o una  madre un  nonno  è un  uomo  che ha  almeno un  figlio  che è un  genitore  “ essere figlio di ” è  la relazione inversa a  “avere un figlio” Fatti asseriti Antonio ,  Lorenzo  e  Carlo  sono  uomini Rosanna è una donna Antonio ha figlio Lorenzo Rosanna ha figlio Carlo Carlo è figlio di Lorenzo Una macchina in grado di “capire” un linguaggio ontologico “sa inferire” Concetti: un nonno è un genitore Fatti:  Antonio è un nonno, Lorenzo è un padre, Rosanna è una madre
RDF-S/OWL in a nutshell  Linguaggio Ontologico Concetti e relazioni primitivi essere umano maschio femmina ha figlio Concetti e relazioni derivate un  uomo  è un  essere umano  ed  è un  maschio una  donna  è un  essere umano  ed  è una  femmina una  madre  è una  donna  che   ha  almeno un  figlio una  padre  è un  uomo  che   ha  almeno   un  figlio un  genitore  è o un  padre  o una  madre un  nonno  è un  uomo  che ha  almeno un  figlio  che è un  genitore  “ essere figlio di”  è la relazione inversa a  “avere un figlio” Fatti asseriti Antonio ,   Lorenzo   e   Carlo   sono   uomini Rosanna  è una  donna Antonio ha figlio Lorenzo Rosanna ha figlio Carlo Carlo è figlio di Lorenzo Una macchina in grado di “capire” un linguaggio ontologico “sa inferire” Concetti:  un  nonno  è un  genitore Fatti:  Antonio  è un  nonno, Lorenzo  è un  padre, Rosanna  è una  madre
RDF-S/OWL in a nutshell  Le parti di un linguaggio ontologico  concetti astrazioni del dominio applicativo tipicamente visti come insiemi relazioni esprimono l’esistenza di relazioni tra i concetti del dominio tipicamente viste come relazioni binarie tra gli individui assiomi formalizzano quali combinazioni di concetti e relazioni sono ammissibili individui elementi degli insiemi definiti dai concetti asserzioni  dichiarano l’appartenenza di un individuo ad un insieme fatti legano due individui tramite una relazione
RDF-S/OWL in a nutshell Strong vs. Weak Semantics? “ A  little semantics ,  goes a long way” [James Hendler, 2001] “ A Little Semantic Web Goes a Long Way in Biology” [ Wolstencroft et al., 2005]
RDF-S/OWL in a nutshell A simple ontology Artist Piece Painter Paint paints Sculptor Sculpt sculpts creates
RDF-S/OWL in a nutshell Specifying classes, sub-classes and instances Creating a class  RDFS:  Artist rdf:type owl:Class .  FOL:   x Artist(x) Creating a subclass  RDFS:  Painter rdfs:subClassOf Artist . RDFS:  Sculptor rdfs:subClassOf Artist . FOL:   x [Painter(x)    Sculptor(x)    Artist(x)] Creating an instance RDFS:  Rodin rdf:type Sculptor . FOL:  Sculptor(Rodin) Artist Painter Sculptor Rodin
Creating a property RDFS:  creates rdf:type owl:ObjectProperty . FOL:   x   y Creates(x,y) Using a property RDFS:  Rodin creates TheKiss . FOL:  Creates(Rodin, TheKiss) Creating subproperties  RDFS:  paints rdfs:subPropertyOf creates . FOL:   x   y [Paints(x,y)    Creates(x,y)] RDFS:  sculpts rdfs:subPropertyOf creates .  FOL:   x   y [Sculpts(x,y)    Creates(x,y)] RDF-S/OWL in a nutshell Specifying properties and sub-properties  -   - creates paints
È abbastanza importante parlare di OWL import e la parte di metadati di un’ontologia altrimenti non si possono validare le ontologie con  http://owl.cs.manchester.ac.uk/validator/
RDF-S/OWL in a nutshell Specifying domain/range constrains Checking which classes and properties can be use together RDFS: creates rdfs:domain Artist . creates rdfs:range Piece . paints rdfs:domain Painter . paints rdfs:range Paint . sculpts rdfs:domain Sculptor . sculpts rdfs:range Sculpt . FOL:  x   y [Creates(x,y)    Artist(x)    Piece(y)]  x   y [Paints(x,y)    Painter(x)    Paint(y)]  x   y [Sculpts(x,y)    Sculptor(x)    Sculpt(y)]
RDF-S/OWL in a nutshell The ontology we specified Artist Piece Painter Paint paints Sculptor Sculpt sculpts creates
RDF-S/OWL in a nutshell RDF-S semantics (a part of it) if   then x rdfs:subClassOf y .   a rdf:type y . a rdf:type x . x rdfs:subClassOf y .   x rdfs:subClassOf z . y rdfs:subClassOf z . x a y .   x b y .  a rdfs:subPropertyOf b . a rdfs:subPropertyOf b .  a rdfs:subPropertyOf c . b rdfs:subPropertyOf c . x a y .   x rdf:type z . a rdfs:domain z . x a u .   u rdf:type z . a rdfs:range z . Read out more in RDF Semantics  http://www.w3.org/TR/rdf-mt/
RDF-S/OWL in a nutshell RDF-S semantics at work Shared the ontology ... @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix ex:  <http://www.ex.org/schema#> . ex:Sculptor rdfs:subClassOf ex:Artist . ex:Painter rdfs:subClassOf ex:Artist . ex:Sculpt rdfs:subClassOf ex:Piece. ex:Painting rdfs:subClassOf ex:Piece . ex:creates rdfs:domain ex:Artist . ex:creates rdfs:range ex:Piece. ex:sculpts rdfs:subPropertyOf ex:creates . ex:sculpts rdfs:domain ex:Sculptor . ex:sculpts rdfs:range ex:Sculpt . ... when transmitting the following triple … ex:Rodin ex:sculpts ex:TheKiss .
RDF-S/OWL in a nutshell Without Inference A recipient, that only understands XML syntax, receiving <RDF> <Description about=&quot;Rodin&quot;> <sculpts resource=&quot;TheKiss&quot;/> </Description> </RDF> can answer the following queries What does Rodin sculpt? RDF/Description[@about='Rodin']/sculpts/@resource Who does sculpt TheKiss? RDF/Description[sculpts/@resource='TheKiss']/@about Try out your self at  http://www.mizar.dk/XPath/   but it cannot answer Who is Rodin? What is TheKiss? Is there any Sculptor/Scupts? Is there any Artist/Piece?
RDF-S/OWL in a nutshell Knowing the ontology and RDF-S semantics … A recipient, that knows the ontology and  “understands” RDF semantics , Receiving  Rodin sculpts TheKiss . Rodin TheKiss Artist Piece Painter Paint paints Sculptor Sculpt sculpts creates
RDF-S/OWL in a nutshell … a reasoner can answer  the previous queries What does Rodin sculpt? ex:TheKiss Who does sculpt TheKiss? ex:Rodin it can also answer Who is Rodin? ex:Artist, ex:Sculptor, rdfs: Resource What is TheKiss? ex:Sclupt, ex:Piece, rdfs: Resource Is there any Sculptor? ex:Rodin Is the any Artist? ex:Rodin Is there any Sculpt? ex:TheKiss Is there any Piece? ex:TheKiss Is there any Paint? 0 results Is there any Painter? 0 results
RDF-S/OWL in a nutshell More expressive power  1/3 RDFS is a light ontological language that allows for defining simple vocabularies. One may want also express Cardinality constrains (max, min, exactly) for properties usage Es. a Polygon has 3 or more edges  x [Polygon(x)    ≥3y Edge(y)    Forms(y,x) ] Property types transitive e.g.  hasAncestor  is a transitive property: if  A hasAncestor B  and  B hasAncestor C , then  A hasAncestor C .   x   y   z [HasAncestor(x,y)    HasAncestor(y,z)    HasAncestor(x,z) ] inverse e.g.  sclupts  has  isSculptedBy  as inverse property: if  A sclupts B  then  B isSculptedBy A  x   y [Sculpts(x,y)    IsSculptedBy(y,x) ]
RDF-S/OWL in a nutshell More expressive power  2/3 simmetric e.g.  isCloseTo  is a simmetric property:  if  A isCloseTo B  then  B isCloseTo A  x   y [IsCloseTo(x,y)    IsCloseTo(y,x) ] Restrictions of usage for a specific property All values of property must be of a certain kind e.g. a D.O.C. Wine can be only produced by a Certified Wienery  x   y [DOCWine(x)    Produces(x,y)    CertifiedWienery(y)] Some values of property must be of a certain kind e.g. a Famous Painter must have painted some Famous Painting  x [FamousPainter(x)      y FamousPaint(y)    IsPaintedBy(y,x)] A class is defined combining other classes (union, intersection, negation, ...)  A white wine is a Wine and its color is “white”  x [Wine(x)    White(x)]
RDF-S/OWL in a nutshell More expressive power  3/3 Two instances refers to the same real object “ The Boss” and “Bruce Springsteen” are two names for the same person TheBoss = BruceSpringsteen  Two classes refers to the same set “ Painters” in english and “Pittori” in italian  x [Painter(x)    Pittore(x)] Two properties refers to the same binary relationship “ Paints” in english and “Dipinge” in italian  x   y [Paints(x,y)    Dipinge(x,y)]
RDF-S/OWL in a nutshell Expressivity vs. Tractability The more an ontological language is expressive the less is tractable the Web Ontology Language (OWL) comes with several profiles that offers different trade-offs between expressivity and tractability.
RDF-S/OWL in a nutshell OWL 2 profiles OWL 1 defines only one fragment (OWL Lite) And it isn’t very tractable! OWL 2 defines several different fragments with Useful computational properties E.g., reasoning complexity in range LOGSPACE to PTIME Useful implementation possibilities E.g., Smaller fragments implementable using RDBs OWL 2 profiles OWL 2 EL, OWL 2 QL, OWL 2 RL
RDF-S/OWL in a nutshell OWL 2 EL Useful for applications employing ontologies that contain very large number of properties and/or classes Captures expressive power used by many large-scaleontologies E.g.;  SNOMED CT, NCI thesaurus Features Included: existential restrictions, intersection, subClass,equivalentClass, disjointness, range and domain, object property inclusion possibly involving property chains, and data property inclusion, transitive properties, keys … Missing: include value restrictions, Cardinality restrictions (min, max and exact), disjunction and negation Maximal language for which reasoning (including query answering) known to be worst-case  polynomial
RDF-S/OWL in a nutshell OWL 2 QL Useful for applications that use  very large volumes of data,  and where query answering is the most important task Captures expressive power of simple ontologies like thesauri, classifications, and (most of) expressive power of ER/UML schemas E.g.,  CIM10, Thesaurus of Nephrology, ... Features Included: limited form of existential restrictions, subClass, equivalentClass, disjointness, range & domain, symmetric properties, … Missing: existential quantification to a class, self restriction, nominals, universal quantification to a class, disjunction etc. Can be implemented on top of  standard relational DBMS Maximal language for which reasoning (including query answering) is known to be worst case  logspace (same as DB)
RDF-S/OWL in a nutshell OWL 2 RL Useful for applications that require scalable reasoning without sacrifying too much expressive power, and where query answering is the most important task Support most OWL features  but with restrictions placed on the syntax of OWL 2 standard semantics only apply when they are used in a restricted way Can be implemented on top of rule extended DBMS E.g., Oracle’s OWL Prime implemented using forward chaining rules in Oracle 11g Related to DLP  and pD* Allows for scalable ( polynomial) reasoning using rule-based  technologies
RDF-S/OWL in a nutshell  RDF -S/OWL  Resources OWL Frequently Asked Questions http://www.w3.org/2003/08/owlfaq.html   RDF-S/OWL implementations - community maintained list of open-source and commercial SPARQL engines http://esw.w3.org/topic/SemanticWebTools#head-d07454b4f0d51f5e9d878822d911d0bfea9dcdfd   RDF-S Specification http://www.w3.org/TR/rdf-schema/   OWL Working Group Wiki http://www.w3.org/2007/OWL/wiki

Ontologies in RDF-S/OWL

  • 1.
    Emanuele Della Valle[email_address] http://emanueledellavalle.org Ontologies in RDF-S/OWL
  • 2.
    Share, Remix, Reuse— Legally This work is licensed under the Creative Commons Attribution 3.0 Unported License. Your are free: to Share — to copy, distribute and transmit the work to Remix — to adapt the work Under the following conditions Attribution — You must attribute the work by inserting “ © applied-semantic-web.org” at the end of each reused slide a credits slide stating: these slides are partially based on “Ontologies in RDF-S/OWL” by Emanuele Della Valle http://applied-semantic-web.org/2010/03/03_RDFS-OWL.ppt To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/
  • 3.
  • 4.
    RDF-S/OWL in anutshell Ontology definition Philosophy (400BC): Systematic explanation of Existence Neches (91): Ontology defines basic terms and relations comprising the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary Gruber (93): Explicit specification of a conceptualization Borst (97): Formal specification of a shared conceptualization Studer(98) Formal, explicit specification of a shared conceptualization
  • 5.
    RDF-S/OWL in anutshell What does it mean? Formal, explicit specification of a shared conceptualization Machine readable Several people agrees that such conceptual model is adequate to describe such aspects of the reality A conceptual model of some aspects of the reality It makes domain assumption explicit
  • 6.
    RDF-S/OWL in anutshell Questa è un’ontologia? NO, perchè È una concettualizzazione È condivisa dalla comunità che l’ha sviluppata … ma non è esplicita (la dimensione dei rami molto probabilmente non indica la numerosità delle speci) formale (nessuna macchina può usarla)
  • 7.
    RDF-S/OWL in anutshell Esempio di ontologia Concetti e relazioni primitivi essere umano maschio femmina ha figlio Concetti e relazioni derivate un uomo è un essere umano ed è un maschio una donna è un essere umano ed è una femmina una madre è una donna che ha almeno un figlio una padre è un uomo che ha almeno un figlio un genitore è o un padre o una madre un nonno è un uomo che ha almeno un figlio che è un genitore “ essere figlio di ” è la relazione inversa a “avere un figlio” Fatti asseriti Antonio , Lorenzo e Carlo sono uomini Rosanna è una donna Antonio ha figlio Lorenzo Rosanna ha figlio Carlo Carlo è figlio di Lorenzo Una macchina in grado di “capire” un linguaggio ontologico “sa inferire” Concetti: un nonno è un genitore Fatti: Antonio è un nonno, Lorenzo è un padre, Rosanna è una madre
  • 8.
    RDF-S/OWL in anutshell Linguaggio Ontologico Concetti e relazioni primitivi essere umano maschio femmina ha figlio Concetti e relazioni derivate un uomo è un essere umano ed è un maschio una donna è un essere umano ed è una femmina una madre è una donna che ha almeno un figlio una padre è un uomo che ha almeno un figlio un genitore è o un padre o una madre un nonno è un uomo che ha almeno un figlio che è un genitore “ essere figlio di” è la relazione inversa a “avere un figlio” Fatti asseriti Antonio , Lorenzo e Carlo sono uomini Rosanna è una donna Antonio ha figlio Lorenzo Rosanna ha figlio Carlo Carlo è figlio di Lorenzo Una macchina in grado di “capire” un linguaggio ontologico “sa inferire” Concetti: un nonno è un genitore Fatti: Antonio è un nonno, Lorenzo è un padre, Rosanna è una madre
  • 9.
    RDF-S/OWL in anutshell Le parti di un linguaggio ontologico concetti astrazioni del dominio applicativo tipicamente visti come insiemi relazioni esprimono l’esistenza di relazioni tra i concetti del dominio tipicamente viste come relazioni binarie tra gli individui assiomi formalizzano quali combinazioni di concetti e relazioni sono ammissibili individui elementi degli insiemi definiti dai concetti asserzioni dichiarano l’appartenenza di un individuo ad un insieme fatti legano due individui tramite una relazione
  • 10.
    RDF-S/OWL in anutshell Strong vs. Weak Semantics? “ A little semantics , goes a long way” [James Hendler, 2001] “ A Little Semantic Web Goes a Long Way in Biology” [ Wolstencroft et al., 2005]
  • 11.
    RDF-S/OWL in anutshell A simple ontology Artist Piece Painter Paint paints Sculptor Sculpt sculpts creates
  • 12.
    RDF-S/OWL in anutshell Specifying classes, sub-classes and instances Creating a class RDFS: Artist rdf:type owl:Class . FOL:  x Artist(x) Creating a subclass RDFS: Painter rdfs:subClassOf Artist . RDFS: Sculptor rdfs:subClassOf Artist . FOL:  x [Painter(x)  Sculptor(x)  Artist(x)] Creating an instance RDFS: Rodin rdf:type Sculptor . FOL: Sculptor(Rodin) Artist Painter Sculptor Rodin
  • 13.
    Creating a propertyRDFS: creates rdf:type owl:ObjectProperty . FOL:  x  y Creates(x,y) Using a property RDFS: Rodin creates TheKiss . FOL: Creates(Rodin, TheKiss) Creating subproperties RDFS: paints rdfs:subPropertyOf creates . FOL:  x  y [Paints(x,y)  Creates(x,y)] RDFS: sculpts rdfs:subPropertyOf creates . FOL:  x  y [Sculpts(x,y)  Creates(x,y)] RDF-S/OWL in a nutshell Specifying properties and sub-properties - - creates paints
  • 14.
    È abbastanza importanteparlare di OWL import e la parte di metadati di un’ontologia altrimenti non si possono validare le ontologie con http://owl.cs.manchester.ac.uk/validator/
  • 15.
    RDF-S/OWL in anutshell Specifying domain/range constrains Checking which classes and properties can be use together RDFS: creates rdfs:domain Artist . creates rdfs:range Piece . paints rdfs:domain Painter . paints rdfs:range Paint . sculpts rdfs:domain Sculptor . sculpts rdfs:range Sculpt . FOL:  x  y [Creates(x,y)  Artist(x)  Piece(y)]  x  y [Paints(x,y)  Painter(x)  Paint(y)]  x  y [Sculpts(x,y)  Sculptor(x)  Sculpt(y)]
  • 16.
    RDF-S/OWL in anutshell The ontology we specified Artist Piece Painter Paint paints Sculptor Sculpt sculpts creates
  • 17.
    RDF-S/OWL in anutshell RDF-S semantics (a part of it) if then x rdfs:subClassOf y . a rdf:type y . a rdf:type x . x rdfs:subClassOf y . x rdfs:subClassOf z . y rdfs:subClassOf z . x a y . x b y . a rdfs:subPropertyOf b . a rdfs:subPropertyOf b . a rdfs:subPropertyOf c . b rdfs:subPropertyOf c . x a y . x rdf:type z . a rdfs:domain z . x a u . u rdf:type z . a rdfs:range z . Read out more in RDF Semantics http://www.w3.org/TR/rdf-mt/
  • 18.
    RDF-S/OWL in anutshell RDF-S semantics at work Shared the ontology ... @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix ex: <http://www.ex.org/schema#> . ex:Sculptor rdfs:subClassOf ex:Artist . ex:Painter rdfs:subClassOf ex:Artist . ex:Sculpt rdfs:subClassOf ex:Piece. ex:Painting rdfs:subClassOf ex:Piece . ex:creates rdfs:domain ex:Artist . ex:creates rdfs:range ex:Piece. ex:sculpts rdfs:subPropertyOf ex:creates . ex:sculpts rdfs:domain ex:Sculptor . ex:sculpts rdfs:range ex:Sculpt . ... when transmitting the following triple … ex:Rodin ex:sculpts ex:TheKiss .
  • 19.
    RDF-S/OWL in anutshell Without Inference A recipient, that only understands XML syntax, receiving <RDF> <Description about=&quot;Rodin&quot;> <sculpts resource=&quot;TheKiss&quot;/> </Description> </RDF> can answer the following queries What does Rodin sculpt? RDF/Description[@about='Rodin']/sculpts/@resource Who does sculpt TheKiss? RDF/Description[sculpts/@resource='TheKiss']/@about Try out your self at http://www.mizar.dk/XPath/ but it cannot answer Who is Rodin? What is TheKiss? Is there any Sculptor/Scupts? Is there any Artist/Piece?
  • 20.
    RDF-S/OWL in anutshell Knowing the ontology and RDF-S semantics … A recipient, that knows the ontology and “understands” RDF semantics , Receiving Rodin sculpts TheKiss . Rodin TheKiss Artist Piece Painter Paint paints Sculptor Sculpt sculpts creates
  • 21.
    RDF-S/OWL in anutshell … a reasoner can answer the previous queries What does Rodin sculpt? ex:TheKiss Who does sculpt TheKiss? ex:Rodin it can also answer Who is Rodin? ex:Artist, ex:Sculptor, rdfs: Resource What is TheKiss? ex:Sclupt, ex:Piece, rdfs: Resource Is there any Sculptor? ex:Rodin Is the any Artist? ex:Rodin Is there any Sculpt? ex:TheKiss Is there any Piece? ex:TheKiss Is there any Paint? 0 results Is there any Painter? 0 results
  • 22.
    RDF-S/OWL in anutshell More expressive power 1/3 RDFS is a light ontological language that allows for defining simple vocabularies. One may want also express Cardinality constrains (max, min, exactly) for properties usage Es. a Polygon has 3 or more edges  x [Polygon(x)  ≥3y Edge(y)  Forms(y,x) ] Property types transitive e.g. hasAncestor is a transitive property: if A hasAncestor B and B hasAncestor C , then A hasAncestor C .  x  y  z [HasAncestor(x,y)  HasAncestor(y,z)  HasAncestor(x,z) ] inverse e.g. sclupts has isSculptedBy as inverse property: if A sclupts B then B isSculptedBy A  x  y [Sculpts(x,y)  IsSculptedBy(y,x) ]
  • 23.
    RDF-S/OWL in anutshell More expressive power 2/3 simmetric e.g. isCloseTo is a simmetric property: if A isCloseTo B then B isCloseTo A  x  y [IsCloseTo(x,y)  IsCloseTo(y,x) ] Restrictions of usage for a specific property All values of property must be of a certain kind e.g. a D.O.C. Wine can be only produced by a Certified Wienery  x  y [DOCWine(x)  Produces(x,y)  CertifiedWienery(y)] Some values of property must be of a certain kind e.g. a Famous Painter must have painted some Famous Painting  x [FamousPainter(x)   y FamousPaint(y)  IsPaintedBy(y,x)] A class is defined combining other classes (union, intersection, negation, ...) A white wine is a Wine and its color is “white”  x [Wine(x)  White(x)]
  • 24.
    RDF-S/OWL in anutshell More expressive power 3/3 Two instances refers to the same real object “ The Boss” and “Bruce Springsteen” are two names for the same person TheBoss = BruceSpringsteen Two classes refers to the same set “ Painters” in english and “Pittori” in italian  x [Painter(x)  Pittore(x)] Two properties refers to the same binary relationship “ Paints” in english and “Dipinge” in italian  x  y [Paints(x,y)  Dipinge(x,y)]
  • 25.
    RDF-S/OWL in anutshell Expressivity vs. Tractability The more an ontological language is expressive the less is tractable the Web Ontology Language (OWL) comes with several profiles that offers different trade-offs between expressivity and tractability.
  • 26.
    RDF-S/OWL in anutshell OWL 2 profiles OWL 1 defines only one fragment (OWL Lite) And it isn’t very tractable! OWL 2 defines several different fragments with Useful computational properties E.g., reasoning complexity in range LOGSPACE to PTIME Useful implementation possibilities E.g., Smaller fragments implementable using RDBs OWL 2 profiles OWL 2 EL, OWL 2 QL, OWL 2 RL
  • 27.
    RDF-S/OWL in anutshell OWL 2 EL Useful for applications employing ontologies that contain very large number of properties and/or classes Captures expressive power used by many large-scaleontologies E.g.; SNOMED CT, NCI thesaurus Features Included: existential restrictions, intersection, subClass,equivalentClass, disjointness, range and domain, object property inclusion possibly involving property chains, and data property inclusion, transitive properties, keys … Missing: include value restrictions, Cardinality restrictions (min, max and exact), disjunction and negation Maximal language for which reasoning (including query answering) known to be worst-case polynomial
  • 28.
    RDF-S/OWL in anutshell OWL 2 QL Useful for applications that use very large volumes of data, and where query answering is the most important task Captures expressive power of simple ontologies like thesauri, classifications, and (most of) expressive power of ER/UML schemas E.g., CIM10, Thesaurus of Nephrology, ... Features Included: limited form of existential restrictions, subClass, equivalentClass, disjointness, range & domain, symmetric properties, … Missing: existential quantification to a class, self restriction, nominals, universal quantification to a class, disjunction etc. Can be implemented on top of standard relational DBMS Maximal language for which reasoning (including query answering) is known to be worst case logspace (same as DB)
  • 29.
    RDF-S/OWL in anutshell OWL 2 RL Useful for applications that require scalable reasoning without sacrifying too much expressive power, and where query answering is the most important task Support most OWL features but with restrictions placed on the syntax of OWL 2 standard semantics only apply when they are used in a restricted way Can be implemented on top of rule extended DBMS E.g., Oracle’s OWL Prime implemented using forward chaining rules in Oracle 11g Related to DLP and pD* Allows for scalable ( polynomial) reasoning using rule-based technologies
  • 30.
    RDF-S/OWL in anutshell RDF -S/OWL Resources OWL Frequently Asked Questions http://www.w3.org/2003/08/owlfaq.html RDF-S/OWL implementations - community maintained list of open-source and commercial SPARQL engines http://esw.w3.org/topic/SemanticWebTools#head-d07454b4f0d51f5e9d878822d911d0bfea9dcdfd RDF-S Specification http://www.w3.org/TR/rdf-schema/ OWL Working Group Wiki http://www.w3.org/2007/OWL/wiki

Editor's Notes

  • #7 07/04/10 © 2005 - Della Valle - CEFRIEL
  • #8 07/04/10 © 2005 - Della Valle - CEFRIEL
  • #9 07/04/10 © 2005 - Della Valle - CEFRIEL
  • #10 07/04/10 © 2005 - Della Valle - CEFRIEL
  • #19 @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; . @prefix ex: &lt;http://www.ex.org/schema#&gt; . @prefix owl: &lt;http://www.w3.org/2002/07/owl#&gt; . ex:Artist a owl:Class . ex:Piece a owl:Class . ex:Sculptor a owl:Class . ex:Sculptor rdfs:subClassOf ex:Artist . ex:creates a owl:ObjectProperty . ex:creates rdfs:domain ex:Artist . ex:Rodin a ex:Sculptor . ex:TheKiss a ex:Piece . ex:Rodin ex:creates ex:TheKiss .
  • #20 &lt;RDF&gt; &lt;Description about=&amp;quot;Rodin&amp;quot;&gt; &lt;sculpts resource=&amp;quot;TheKiss&amp;quot;/&gt; &lt;/Description&gt; &lt;Description about=&amp;quot;Painting&amp;quot;&gt; &lt;subClassOf resource=&amp;quot;Piece&amp;quot;/&gt; &lt;/Description&gt; &lt;Description about=&amp;quot;sculpts&amp;quot;&gt; &lt;range resource=&amp;quot;Sculpt&amp;quot;/&gt; &lt;domain resource=&amp;quot;Sculptor&amp;quot;/&gt; &lt;subPropertyOf resource=&amp;quot;creates&amp;quot;/&gt; &lt;/Description&gt; &lt;Description about=&amp;quot;Sculpt&amp;quot;&gt; &lt;subClassOf resource=&amp;quot;Piece&amp;quot;/&gt; &lt;/Description&gt; &lt;Description about=&amp;quot;creates&amp;quot;&gt; &lt;range resource=&amp;quot;Piece&amp;quot;/&gt; &lt;domain resource=&amp;quot;Artist&amp;quot;/&gt; &lt;/Description&gt; &lt;Description about=&amp;quot;Sculptor&amp;quot;&gt; &lt;subClassOf resource=&amp;quot;Artist&amp;quot;/&gt; &lt;/Description&gt; &lt;Description about=&amp;quot;Painter&amp;quot;&gt; &lt;subClassOf resource=&amp;quot;Artist&amp;quot;/&gt; &lt;/Description&gt; &lt;/RDF&gt; RDF/Description[@about=&apos;Rodin&apos;]/sculpts/@resource RDF/Description[sculpts/@resource=&apos;TheKiss&apos;]/@about