/
CC7220-1 La Web de CC7220-1 La Web de

CC7220-1 La Web de - PowerPoint Presentation

debby-jeon
debby-jeon . @debby-jeon
Follow
346 views
Uploaded On 2019-12-28

CC7220-1 La Web de - PPT Presentation

CC72201 La Web de Datos Primavera 2019 Lecture 4 Web Ontology Language OWL I Aidan Hogan aidhoggmailcom Last time Semantic Web Logic More or less RDF Schema R D F S Class ID: 771616

rdf owl parent type owl rdf type parent zebroid michael person vito mary property equine fredo vincent carmela class

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "CC7220-1 La Web de" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

CC7220-1La Web de DatosPrimavera 2019Lecture 4: Web Ontology Language (OWL) [I] Aidan Hogan aidhog@gmail.com

Last time …

Semantic Web: Logic * More or less

RDF Schema: RDFS Class c is a sub-class of Class d If ( x,rdf:type,c ) then (x,rdf:type,d)Property p is a sub-property of qIf ( x,p,y) then (x,q,y) Property p has domain class c If ( x,p,y ) then ( x,rdf:type,c )Property p has range class cIf ( x,p,y) then ( y,rdf:type,c)

Today's topic ...

Semantic Web: Logic * More or less

What can we intuitively conclude about Zia ?

What can we intuitively conclude about Zia ? Zia is also a Zebroid ! What kind of reasoning are we using here? Deductive (mostly)

Very specific to this example What assumptions do we make to conclude that Zia is a Zebroid ? If x has same sire and dam as y and y is a Zebroid then x is a Zebroid !

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a ( ¬Zebra and a Equine )

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a ( ¬Zebra and a Equine ) A Zebroid is a sub-class of Equine An Equine has exactly two parents

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a ( ¬Zebra and a Equine ) A Zebroid is a sub-class of Equine An Equine has exactly two parents Two things cannot be related by sire and dam at the same time

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a ( ¬Zebra and a Equine ) A Zebroid is a sub-class of Equine An Equine has exactly two parents Two things cannot be related by sire and dam at the same time Which are expressible in RDFS ?

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a ( ¬Zebra and a Equine ) A Zebroid is a sub-class of Equine An Equine has exactly two parents Two things cannot be related by sire and dam at the same time Which are expressible in RDFS ?

What assumptions do we make to conclude that Zia is a Zebroid ? sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a ( ¬Zebra and a Equine ) A Zebroid is a sub-class of Equine An Equine has exactly two parents Two things cannot be related by sire and dam at the same time Which are expressible in RDFS ? The rest we can express in OWL

Web Ontology Language: OWL

OWL (2): A Web Standardhttps://www.w3.org/TR/owl2-overview/

Formal Underpinnings: Description Logics

:Carmela :Vito :Sonny :Connie : Fredo :Michael :Vincent :Mary For today: A running example

Logical Assumptions

:Vito : Fredo :Michael :Vito : hasChild :Connie , :Sonny , :Michael . :Vito : hasChild : Fredo . ... ? Vito has 3 children? Vito has at least 3 children? :Sonny :Connie : hasChild Open World Assumption (OWA) How many children does Vito have according to this RDF graph?

Open World AssumptionRDF(S) and OWL:Take an Open World Assumption (OWA):Anything not known is not assumed to be false, simply unknownWithout further information, Vito may have children that we don’t know about! Why might this assumption be important for the Web? OWA : Assuming Web data to be complete a bad idea

:Vito : Fredo :Michael :Vito : hasChild :Connie , :Sonny , :Michael . :Vito : hasChild : Fredo . ... ? Vito has 3 children? Vito has at least 3 children? Vito has at least one child ! :Sonny :Connie : hasChild No Unique Name Assumption (No UNA) How many children does Vito have according to this RDF graph?

No Unique Name Assumption (No UNA)RDF(S) and OWL:Do not take a Unique Name Assumption:Two or more IRIs may refer to the same thing!Without further information, the IRIs we know to be Vito’s children may refer to one real-world thing! Why might this assumption be important for the Web? No UNA : Assuming strict naming agreement on the Web a bad idea

sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a (¬Zebra and a Equine)A Zebroid is a sub-class of Equine An Equine has exactly two parent s Two things cannot be related by sire and dam at the same time Which assumptions are needed under the Open World Assumption ?

sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a (¬Zebra and a Equine)A Zebroid is a sub-class of Equine An Equine has exactly two parent s Two things cannot be related by sire and dam at the same time Which assumptions are needed under the Open World Assumption ?

sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a (¬Zebra and a Equine)A Zebroid is a sub-class of Equine An Equine has exactly two parent s Two things cannot be related by sire and dam at the same time Which assumptions are needed without a Unique Name Assumption ?

sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a (¬Zebra and a Equine)A Zebroid is a sub-class of Equine An Equine has exactly two parent s Two things cannot be related by sire and dam at the same time Which assumptions are needed without a Unique Name Assumption ?

Let’s start with some RDFS …

rdfs:subPropertyOf :Carmela :Vito : husbandOf : wifeOf :spouse :spouse :Vito : husbandOf :Carmela . : husbandOf rdfs:subPropertyOf :spouse . ⇒ :Vito :spouse :Carmela . :Carmela : wifeOf :Vito . : wifeOf rdfs:subPropertyOf :spouse . ⇒ :Carmela :spouse :Vito .

rdfs:subClassOf :Mary rdf:type rdf:type :Woman :Person :Mary rdf:type :Woman . :Woman rdfs:subClassOf :Person . ⇒ :Mary rdf:type :Person .

rdfs:domain :Carmela : motherOf :Carmela : motherOf : Fredo . : motherOf rdfs:domain :Female. ⇒ :Carmela rdf:type :Female . : Fredo : Female rdf:type

rdfs:range :Carmela : hasSon :Carmela : hasSon : Fredo . : hasSon rdfs:range : Male .⇒ :Fredo rdf:type : Male . :Fredo : Male rdf:type

(In)Equality in OWL …

: VitoYoung owl:sameAs : VitoOld owl:sameAs : VitoOld owl:sameAs : VitoYoung . owl:sameAs : VitoOld : VitoYoung :Mary : Vincent : hasGrandson : granddaugtherOf : hasGrandson : granddaugtherOf

:Vito : Fredo :Michael :Vito : hasChild :Connie , :Sonny, :Michael, : Fredo . :Connie owl:differentFrom :Sonny, :Michael, :Fredo .Vito has at least two children! :Sonny :Connie : hasChild owl:differentFrom owl:differentFrom How many children does Vito have according to this RDF graph?

Inconsistency in OWL … : VitoYoung : VitoOld owl:sameAs owl:differentFrom : VitoOld owl:sameAs : VitoYoung . : VitoOld owl:differentFrom : VitoYoung . ⇒ FALSE

Property Axioms in OWL …

:Vito : parentOf :Michael . :Michael : hasChild :Mary . :parentOf owl:equivalentProperty :hasChild .⇒ :Vito :hasChild :Michael . ⇒ :Michael : parentOf :Mary . owl:equivalentProperty :Vito :Mary :Michael : parentOf : hasChild : hasChild : parentOf

:Carmela : parentOf :Sonny . :Vincent : childOf :Sonny . :parentOf owl:inverseOf :childOf .⇒ :Sonny :parentOf :Vincent . ⇒ :Sonny : childOf :Carmela . owl:inverseOf :Vincent :Sonny : parentOf : childOf : parentOf :Carmela : childOf

owl:SymmetricProperty :Connie :sibling :Connie :sibling : Fredo . :sibling rdf:type owl:SymmetricProperty . ⇒ :Fredo :sibling :Connie . :sibling : Fredo

:Carmela owl:TransitiveProperty :Carmela : ancestorOf :Michael . :Michael : ancestorOf :Mary .: ancestorOf rdf:type owl:TransitiveProperty . ⇒ :Carmela : ancestorOf :Mary . :Mary :Michael : ancestorOf : ancestorOf : ancestorOf

:Sonny owl:propertyChainAxiom :Sonny : brotherOf :Michael . :Michael : parentOf :Mary . :uncleOf owl:propertyChainAxiom (:brotherOf :parentOf) . ⇒ :Sonny : uncleOf :Mary . :Michael : brotherOf : parentOf : uncleOf :Mary

:similarTo rdf:type owl:ReflexiveProperty . ⇒ :Connie : similarTo :Connie . :Freddie :similarTo :Freddie . # everything :similarTo itself owl:ReflexiveProperty :Connie : Fredo : similarTo : similarTo

: VitoYoung : VitoOld : VitoYoung owl:FunctionalProperty : VitoOld : Fredo : hasBioFather :VitoOld .: Fredo :hasBioFather : VitoYoung .:hasBioFather rdf:type owl:FunctionalProperty . ⇒ : VitoOld owl:sameAs : VitoYoung . : Fredo : hasBioFather

Aside …Tom Hagen, the adopted son of VitoMaybe he has two fathers? What if we said : hasFather was functional?

: VitoYoung :Connie owl:InverseFunctionalProperty : VitoOld : VitoOld : bioFatherOf :Connie . : VitoYoung : bioFatherOf :Connie .: bioFatherOf rdf:type owl:InverseFunctionalProperty .⇒ :VitoOld owl:sameAs : VitoYoung . : bioFatherOf : VitoOld : VitoYoung

owl:hasKey :Connie a :Singleton ; : hasBioMother :Carmela ; :born “1922-04-16”^^ xsd:date . :Constanza a :Singleton ; :hasBioMother :Carmela ; :born “1922-04-16”^^ xsd:date . :Singleton owl:hasKey ( :hasBioMother :born ) .⇒ :Connie owl:sameAs : Constanza . : Constanza :Carmela :Singleton 1922-04-16 :born rdf:type :Connie : hasBioMother

owl:IrreflexiveProperty : Fredo : hasBrother : Fredo . : hasBrother rdf:type owl:IrreflexiveProperty . ⇒ FALSE : Fredo : hasBrother

: VitoYoung owl:AsymmetricProperty : Fredo : hasFather : hasFather : Fredo : hasFather : VitoYoung .: VitoYoung :hasFather :Fredo . : hasFather rdf:type owl:AsymmetricProperty . ⇒ FALSE

: Sonny : VitoYoung owl:propertyDisjointWith : hasFather : hasSon :Sonny : hasFather : VitoYoung . :Sonny : hasSon : VitoYoung . : hasSon owl: propertyDisjointWith :hasFather . ⇒ FALSE

:Connie Negative property assertions : Fredo ¬ : hasMother : hasMother [] owl:sourceIndividual : Fredo ; owl:assertionProperty :hasMother ; owl:targetIndividual :Connie . : Fredo :hasMother :Connie . ⇒ FALSE

Recap OWL property axiomsWhat would be the owl:inverseOf the property : fatherOf ? Name an owl:SymmetricProperty for family relations? Name an owl:TransitiveProperty for family relations? Give an owl:propertyChainAxiom for : hasNiece?Name an owl:AsymmetricProperty for family relations? Name an owl:FunctionalProperty for family relations?

Class Axioms in OWL

:Vincent owl:equivalentClass rdf:type rdf:type :Vincent rdf:type :Human . :Mary rdf:type :Person . :Human owl:equivalentClass :Person . ⇒ :Vincent rdf:type :Person . :Mary rdf:type :Human . :Human :Person :Mary rdf:type rdf:type

owl:disjointWith :Lawful rdf:type :Vincent rdf:type : MafiaBoss , :Lawful . : MafiaBoss owl:disjointWith :Lawful . ⇒ FALSE : MafiaBoss :Vincent rdf:type

owl:disjointWith (ii) :Lawful rdf:type :Vincent rdf:type : MafiaBoss . :Mary rdf:type :Lawful . :MafiaBoss owl:disjointWith : Lawful . ⇒ :Vincent owl:differentFrom :Mary : MafiaBoss :Vincent rdf:type :Mary owl:differentFrom

Class Definitions in OWL

Description Logics

:Parent ⊓ :Mother owl:intersectionOf ( ⊓ ) [ i ] :Female :Carmela rdf:type rdf:type :Carmela rdf:type :Mother . :Mother rdfs:subClassOf [ owl:intersectionOf ( :Female :Parent ) ] ⇒ :Carmela rdf:type :Female , :Parent . rdf:type ⊑

:Parent owl:intersectionOf ( ⊓ ) [ ii] :Female :Carmela rdf:type rdf:type rdf:type :Mother ≡ ⊓ :Carmela rdf:type :Female , :Parent . :Mother owl:equivalentClass [ owl:intersectionOf ( :Female :Parent ) ] ⇒ :Carmela rdf:type :Mother .

:Vincent rdf:type :Lawful . :Person owl:equivalentClass [ owl:unionOf ( :Criminal :Lawful ) ]⇒ :Vincent rdf:type :Person . owl:unionOf ( ⊔) [ i] :Criminal :Person ⊔ :Vincent rdf:type rdf:type ≡ :Lawful

:Vincent rdf:type owl:unionOf ( ⊔ ) [ii] :Vincent rdf:type :Person . :Person owl:equivalentClass [ owl:unionOf ( :Criminal :Lawful ) ]⇒ # :Vincent must be either :Lawful or :Criminal (or both) :Criminal :Person ⊔ ≡ :Lawful

:Vincent rdf:type owl:disjointUnionOf ( ⊔ D ) :Criminal :Person ≡ :Lawful ⊔ D :Vincent rdf:type :Person . :Person owl:equivalentClass [ owl:disjointUnionOf ( :Criminal :Lawful ) ] ⇒ # :Vincent must be either :Lawful or :Criminal ( not both)

:Mary rdf:type :Alive . :Dead owl:equivalentClass [ owl:complementOf :Alive ] ⇒ [] owl:sourceIndividual :Mary ; owl:targetProperty rdf:type ; owl:targetIndividual :Dead . :Mary :Alive owl:complementOf ( ¬ ) [ i ] rdf:type ¬ rdf:type :Dead ≡ ¬

:Vito rdf:type :Dead . :Dead owl:equivalentClass [ owl:complementOf :Alive ] ⇒ [] owl:sourceIndividual :Vito ; owl:targetProperty rdf:type ; owl:targetIndividual :Alive . :Alive owl:complementOf ( ¬ ) [ ii] rdf:type :Dead ≡ ¬ :Vito ¬ rdf:type

, owl:one O f ( {} ) { :Godfather owl:equivalentClass [ owl:oneOf (:Vito :Michael :Vincent) ] ⇒ :Vito rdf:type :Godfather . ⇒ :Michael rdf:type :Godfather .⇒ :Vincent rdf:type :Godfather . :Godfather } :Vito :Michael :Vincent , rdf:type rdf:type rdf:type ≡

owl:allValuesFrom ( ∀ ) :Person ∀ rdf:type :Person : hasParent . ⊑ :Mary rdf:type :Person ; : hasParent :Michael . :Person rdfs:subClassOf [ owl:allValuesFrom :Person ; owl:onProperty :hasParent ] ⇒ :Michael rdf:type :Person . :Michael :Mary : hasParent rdf:type

owl:someValuesFrom ( ∃) [ i ] :Parent rdf:type :Person :Michael : hasChild :Mary . :Mary rdf:type :Person . :Parent owl:equivalentClass [ owl:someValuesFrom :Person ; owl:onProperty :hasChild ] ⇒ :Michael rdf:type :Parent . :Mary :Michael : hasChild rdf:type ∃ : hasChild . ≡

? owl:someValuesFrom ( ∃) [ ii] :Parent rdf:type :Person :Michael rdf:type :Parent . :Parent owl:equivalentClass [ owl:someValuesFrom :Person ; owl:onProperty :hasChild ] ⇒ :Michael : hasChild _:someone . _:someone rdf:type :Person . ? :Michael : hasChild rdf:type ∃ : hasChild . ≡

owl:hasValue ( ∃P.{x}) [ i ] ∃ :species. :species ⊑ { } :Mary rdf:type :Person . :Person rdfs:subClassOf [ owl:hasValue : H.Sapiens ; owl:onProperty :species ] ⇒ :Mary :species : H.Sapiens . : H.Sapiens :Mary :Person rdf:type

owl:hasValue ( ∃P.{x}) [ i ] ∃ :species. :species { } :Mary :species : H.Sapiens . :Person owl:equivalentClass [ owl:hasValue :H.Sapiens ; owl:onProperty :species ] ⇒ :Mary rdf:type :Person . : H.Sapiens :Mary :Person rdf:type ≡

owl:hasSelf ( Self ) [ i ] Self( :loves ) ⊑ :loves :Michael rdf:type :Narcissist . :Narcissist rdfs:subClassOf [ owl:hasSelf true ; owl:onProperty :loves ] ⇒ :Michael :loves :Michael . :Michael rdf:type :Narcissist

owl:hasSelf ( Self ) [ii] Self( :loves ) :loves :Michael :loves :Michael . :Narcissist owl:equivalentClass [ owl:hasSelf true ; owl:onProperty :loves ]⇒ :Michael rdf:type Narcissist . :Michael rdf:type :Narcissist ≡

Cardinality restrictions (≥, ≤,=)Define a class with a given number of values for a property:Exact: : Person ⊑ = 2 (: hasBioParent ) Max : :Monogamist ⊑ ≤ 1 (:currentSpouse)Min: :Parent ≡ ≥ 1 (: hasChild) :Person rdfs:subClassOf [ owl:cardinality 2 ; owl:onProperty : hasBioParent ] . :Monogamist rdfs:subClassOf [ owl:maxCardinality 1 ; owl:onProperty : currentSpouse ] . :Parent owl:equivalentClass [ owl:minCardinality 1 ; owl:onProperty : hasChild ] .

Qualified cardinality restrictions (≥, ≤,=)Define a class with a given number of values from a given class for a property:Exact: :Person ≡ =1 (: hasBioParent.Woman ) Only counts members of that class! Analogous versions of Max and Min .:Person owl:equivalentClass [ owl:qualifiedCardinality 1 ; owl:onProperty :hasBioParent ; owl:onClass :Woman ] .

Recap OWL class axioms/definitionsA class : HumanParent might be equivalent to the owl:unionOf which classes? What is the difference/relation between owl:complementOf and owl:disjointWith ? Give an example use of owl:allValuesFrom for family relationsGive an example use of owl:someValuesFrom for :Uncle. How might we codify the semantics of a class :OnlyChild in OWL? A ⊑ ( B ⊓ ∃P.C ) ?

, { ⇒ : VitoYoung must be owl:sameAs :Vito or :Michael or :Vincent :Godfather } :Vito :Michael :Vincent , ≡ Slides are examples, not definitions : VitoYoung rdf:type

sire is a sub-property of parent d am is a sub-property of parent A Zebroid has exactly one parent a ZebraA Zebroid has exactly one parent a (¬Zebra and a Equine)A Zebroid is a sub-class of Equine An Equine has exactly two parent s Two things cannot be related by sire and dam at the same time

Questions?

Related Contents


Next Show more