Nifty Features of OWL 2(Or, yes I was on the OWLWG)Rinke Hoekstra
Why this topic?(… someone asked me …)Take home message“Sure, not everything about OWL 2 is great, but it does add some very nice new features that we can all use and learn to love”
Playing The Devil’s AdvocateWhere’s the Web in OWL? Where’s the Ontology in OWL?“OL” or “WL”OWL DL and OWL Full“OWLDLED”“OWL is a description logic”OWL and Rules“Rules are just more intuitive”“People think in rules”OWL and Philosophy“OWL is philosophically flawed”OWL 2 DL and reasoning“Decidability is hugely overrated”“Consistency does not exist on the web”“OWL reasoners even die on very small knowledge bases”“I only need part of OWL, so why implement a fully OWL compliant reasoner”Expressiveness“OWL is not expressive enough for my needs”“OWL is way too expressive, no-one will ever need that”“The only useful addition of OWL to RDF is owl:sameAs”
DISCLAIMERDo not be confused by OWL 2 (or any other W3C standard)In the end, every standard is a compromise;the result of a `political’ debate between different communities, and not technical insight.Compatible revisions of existing standards inherit political issues, misconceptions, and then add some of their ownIt’s just that if the communities are technical, you end up with a `technical’ standard.
DISCLAIMER For OWL 2 this means:Replaces OWL 1, but is compatibleSpecies inheritance, includingOWL DL vs. OWL Full debateCompatibility with other W3C standardsSocial ‘issues’ with WG:Over-representation of DL communityUnder-representation of RDF/SW community
Economics of OWL 2Technology pushAdvancements in Description Logics researchMarket pullExperiencesAdded expressivenessOther syntaxesBetter (‘easier’) tool developmentCaters for several communitiesHC, LS, KR, SW, Engineering, Enterprise Systems
BackgroundOWLED workshops (60-70 people)First one in 2005Users, industry, researchW3C Member submission: OWL 1.1December 2006, following vote at OWLED 2006OWL Working GroupNovember 2007, following vote at OWLED 2007OWL 2 RecommendationOctober 2009
Before
During
After
Back on topic…Language DesignProfilesExchange SyntaxesNifty FeaturesDatatypecoolnessProperties & RestrictionsSyntactic SugarPunningAnnotationsBonus material
Language Design (1)OWL 1: Abstract SyntaxFrame-basedDL: axioms, Full: rules… then why frames?Hard to use for defining semanticsto parseto extend“an OWL ontology is an RDF graph”OWL 2: Structural SpecificationAxiom centredUML/MOF data model“an OWL 2 ontology is an instance O of the Ontology UML class”“any OWL 2 ontology can also be viewed as an RDF graph”OWL 2: Functional Style Syntax BNF grammarhttp://www.w3.org/TR/owl2-syntax/
Language Design (2)OWL 1: SpeciesLite, DL, FullConfusion between semantics and syntaxOWL Lite? Nah…OWL 2: SemanticsDirect Semantics (DL), http://www.w3.org/TR/owl-direct-semanticsRDF-Based Semantics (Full), http://www.w3.org/TR/owl-rdf-based-semanticsMost OWL 2 DL ontologies are OWL 1 Full
ProfilesOWLs living in the swamps of AmsterdamOWL 2 EL Polynomial time algorithms for standard reasoning tasks; Large ontologies (TBox)OWL 2 QL Conjunctive query answering in in LogSpace using RDB technology;Lightweight ontologies that organize many individualsAccess the data directly via relational queries (e.g., SQL). OWL 2 RL(a.k.a. RDFS 3.0 ?)Polynomial time algorithms using rule-extended DB technologiesLightweight ontologies that organize many individualsOperate directly on RDF triplesRule set provided by specificationSemantics follows from syntactic restrictionsExtra “global restrictions” for OWL 2 DL, QL and ELExtensible!
Exchange SyntaxesOWL 1: RDF/XML (2004)W3C Note: OWL XML Syntax (2003)OWL 2: RDF/XML (mandatory)TurtleFunctional Style SyntaxOWL XML (2009) (+ mandatory GRDDL transformation)Manchester Syntax
Hey, show me those nifty features already!Yeah yeah…
Datatypes (1)Extended XML Schema compatibilityNew datatypes not in XML Schemaowl:real, owl:rationalDatatype definitionsxsd:minInclusive, xsd:maxInclusive, xsd:minExclusive, xsd:maxExclusivexsd:pattern (e.g. regular expressions), xsd:lengthrdf:PlainLiteral(together with RIFWG)All RDF plain literalsNot to be used in syntaxes that already deal with RDF plain literalsDatatypeDefinition(  a:SSN    DatatypeRestriction(xsd:stringxsd:pattern "[0-9]{3}-[0-9]{2}-[0-9]{4}" ))
Datatypes(2)Datatype DefinitionsData Range CombinationsKeysOnly hold for named individualsDatatypeDefinition( :adultAgeDatatypeRestriction(xsd:integerminInclusive 18)DataComplementOf( :adultAge)DataUnionOf( :adultAge :studentAge)…HasKey( :Transplantation :donorId :recipientId :ofOrgan)
Datatypes (3)N-arydatatypesExtension (Working Group Note)http://www.w3.org/TR/owl2-dr-linear/Linear equationsDataAllValuesFrom ( :meltingPoint :boilingPointDataComparison(Arguments(xy) leq( xy ))))
Properties (1)Property TypesAsymmetric propertiesReflexive and Irreflexive propertiesTop and bottom propertiesProperty chainsSubObjectPropertyOf( ObjectPropertyChain( a:hasMothera:hasSister ) a:hasAunt)
Properties (2)Property AssertionsDisjointnessProperty restrictionsSelf Restriction (local reflexivity)Qualified Cardinality RestrictionsDatatype restrictions‘ObjectInverseOf’ in restrictionsObjectHasSelf( a:likes )DataSomeValuesFrom( a:hasAgeDatatypeRestriction( xsd:integerxsd:minInclusive “13”^^xsd:integer xsd:maxExclusive “20”^^xsd:integer ) )
Just an illustration (three, actually)SubObjectPropertyOf( ObjectPropertyChain ( a:isElephantowl:TopObjectPropertya:isMouse ) a:likes )
Syntactic SugarDisjoint UnionDisjoint ClassesNegative property assertionsDisjointUnion(:BrainHemisphere :LeftHemisphere :RightHemisphere)DisjointClasses( :LeftLung :RightLung)NegativeDataPropertyAssertion( :hasAge :Frank 50^^xsd:integer )EquivalentClasses ( ObjectOneOf( :Frank ) ObjectComplementOf ( DataHasValue( :hasAge 50^^xsd:integer )) )
Punning (wordplay)Any name can be used for any type of entityDirect SemanticsInterpreted as separate entitiesRDF-Based SemanticsInterpreted as the same entity… but no punning between:Datatype and Class namesData-, Object- and Annotation property names(actually supported by most implementations)ConsequenceStrongly typed syntax (FS, OWLXML)…but not in RDF graphs
AnnotationsNo semantics in Direct SemanticsSupported on all entitiesClasses, individuals, propertiesAxioms, annotations, ontologiesAnnotation axiomsAnnotation SubpropertiesDomain and RangeAnnotationAssertion (skos:prefLabel :SWMeeting “Semantic Web Meeting”@en )SubClassOf( Annotation( rdfs:comment ”Every SWMeeting is a Meeting.")												:SWMeeting :Meeting)
Imports & VersioningImport by location… but comes down to ‘just’ dereferencingOntologyIRI and VersionIRIOntologies should be accessible atOntologyIRIIf no VersionIRI supplied or if it is the latest versionVersionIRIIf a VersionIRI is suppliedImport statement may point to either
Other things…Internationalized Resource IdentifiersBNodes are existentialsGlobal restrictions for Direct SemanticsAnonymous individuals are BNodes… no change in RDFDeclarationsIndicate what ontology defines an entity… but mostly just nice for parsers, no change in RDFObjectPropertyAssertion(<http://example.org/p> <http://example.org/a> 											_:http://example.org/#genid-x)ClassAssertion(ObjectSomeValuesFrom(<http://example.org/p> owl:Thing) 												   <http://example.org/a>)
Bonus MaterialPretty decent outreach materialComprehensive OWL 2 Overviewhttp://www.w3.org/TR/owl-overview/OWL 2 Quick Reference Cardhttp://www.w3.org/TR/owl-quick-reference/OWL 2 Primerhttp://www.w3.org/TR/owl-primer/OWL 2 New Features and Rationalehttp://www.w3.org/TR/owl-new-features/OWL 2 Conformancehttp://www.w3.org/TR/owl-conformance
What I like about OWL 2Cleaner language designAdded expressivenessPropertiesDatatypesIncreased compatibility between Full and DLPunningAnnotation propertiesProfiles… most notably OWL 2 RL … hooks for extensibility

Vu Semantic Web Meeting 20091123

  • 1.
    Nifty Features ofOWL 2(Or, yes I was on the OWLWG)Rinke Hoekstra
  • 2.
    Why this topic?(…someone asked me …)Take home message“Sure, not everything about OWL 2 is great, but it does add some very nice new features that we can all use and learn to love”
  • 3.
    Playing The Devil’sAdvocateWhere’s the Web in OWL? Where’s the Ontology in OWL?“OL” or “WL”OWL DL and OWL Full“OWLDLED”“OWL is a description logic”OWL and Rules“Rules are just more intuitive”“People think in rules”OWL and Philosophy“OWL is philosophically flawed”OWL 2 DL and reasoning“Decidability is hugely overrated”“Consistency does not exist on the web”“OWL reasoners even die on very small knowledge bases”“I only need part of OWL, so why implement a fully OWL compliant reasoner”Expressiveness“OWL is not expressive enough for my needs”“OWL is way too expressive, no-one will ever need that”“The only useful addition of OWL to RDF is owl:sameAs”
  • 4.
    DISCLAIMERDo not beconfused by OWL 2 (or any other W3C standard)In the end, every standard is a compromise;the result of a `political’ debate between different communities, and not technical insight.Compatible revisions of existing standards inherit political issues, misconceptions, and then add some of their ownIt’s just that if the communities are technical, you end up with a `technical’ standard.
  • 5.
    DISCLAIMER For OWL2 this means:Replaces OWL 1, but is compatibleSpecies inheritance, includingOWL DL vs. OWL Full debateCompatibility with other W3C standardsSocial ‘issues’ with WG:Over-representation of DL communityUnder-representation of RDF/SW community
  • 6.
    Economics of OWL2Technology pushAdvancements in Description Logics researchMarket pullExperiencesAdded expressivenessOther syntaxesBetter (‘easier’) tool developmentCaters for several communitiesHC, LS, KR, SW, Engineering, Enterprise Systems
  • 7.
    BackgroundOWLED workshops (60-70people)First one in 2005Users, industry, researchW3C Member submission: OWL 1.1December 2006, following vote at OWLED 2006OWL Working GroupNovember 2007, following vote at OWLED 2007OWL 2 RecommendationOctober 2009
  • 8.
  • 9.
  • 10.
  • 11.
    Back on topic…LanguageDesignProfilesExchange SyntaxesNifty FeaturesDatatypecoolnessProperties & RestrictionsSyntactic SugarPunningAnnotationsBonus material
  • 12.
    Language Design (1)OWL1: Abstract SyntaxFrame-basedDL: axioms, Full: rules… then why frames?Hard to use for defining semanticsto parseto extend“an OWL ontology is an RDF graph”OWL 2: Structural SpecificationAxiom centredUML/MOF data model“an OWL 2 ontology is an instance O of the Ontology UML class”“any OWL 2 ontology can also be viewed as an RDF graph”OWL 2: Functional Style Syntax BNF grammarhttp://www.w3.org/TR/owl2-syntax/
  • 13.
    Language Design (2)OWL1: SpeciesLite, DL, FullConfusion between semantics and syntaxOWL Lite? Nah…OWL 2: SemanticsDirect Semantics (DL), http://www.w3.org/TR/owl-direct-semanticsRDF-Based Semantics (Full), http://www.w3.org/TR/owl-rdf-based-semanticsMost OWL 2 DL ontologies are OWL 1 Full
  • 14.
    ProfilesOWLs living inthe swamps of AmsterdamOWL 2 EL Polynomial time algorithms for standard reasoning tasks; Large ontologies (TBox)OWL 2 QL Conjunctive query answering in in LogSpace using RDB technology;Lightweight ontologies that organize many individualsAccess the data directly via relational queries (e.g., SQL). OWL 2 RL(a.k.a. RDFS 3.0 ?)Polynomial time algorithms using rule-extended DB technologiesLightweight ontologies that organize many individualsOperate directly on RDF triplesRule set provided by specificationSemantics follows from syntactic restrictionsExtra “global restrictions” for OWL 2 DL, QL and ELExtensible!
  • 15.
    Exchange SyntaxesOWL 1:RDF/XML (2004)W3C Note: OWL XML Syntax (2003)OWL 2: RDF/XML (mandatory)TurtleFunctional Style SyntaxOWL XML (2009) (+ mandatory GRDDL transformation)Manchester Syntax
  • 16.
    Hey, show methose nifty features already!Yeah yeah…
  • 17.
    Datatypes (1)Extended XMLSchema compatibilityNew datatypes not in XML Schemaowl:real, owl:rationalDatatype definitionsxsd:minInclusive, xsd:maxInclusive, xsd:minExclusive, xsd:maxExclusivexsd:pattern (e.g. regular expressions), xsd:lengthrdf:PlainLiteral(together with RIFWG)All RDF plain literalsNot to be used in syntaxes that already deal with RDF plain literalsDatatypeDefinition(  a:SSN    DatatypeRestriction(xsd:stringxsd:pattern "[0-9]{3}-[0-9]{2}-[0-9]{4}" ))
  • 18.
    Datatypes(2)Datatype DefinitionsData RangeCombinationsKeysOnly hold for named individualsDatatypeDefinition( :adultAgeDatatypeRestriction(xsd:integerminInclusive 18)DataComplementOf( :adultAge)DataUnionOf( :adultAge :studentAge)…HasKey( :Transplantation :donorId :recipientId :ofOrgan)
  • 19.
    Datatypes (3)N-arydatatypesExtension (WorkingGroup Note)http://www.w3.org/TR/owl2-dr-linear/Linear equationsDataAllValuesFrom ( :meltingPoint :boilingPointDataComparison(Arguments(xy) leq( xy ))))
  • 20.
    Properties (1)Property TypesAsymmetricpropertiesReflexive and Irreflexive propertiesTop and bottom propertiesProperty chainsSubObjectPropertyOf( ObjectPropertyChain( a:hasMothera:hasSister ) a:hasAunt)
  • 21.
    Properties (2)Property AssertionsDisjointnessPropertyrestrictionsSelf Restriction (local reflexivity)Qualified Cardinality RestrictionsDatatype restrictions‘ObjectInverseOf’ in restrictionsObjectHasSelf( a:likes )DataSomeValuesFrom( a:hasAgeDatatypeRestriction( xsd:integerxsd:minInclusive “13”^^xsd:integer xsd:maxExclusive “20”^^xsd:integer ) )
  • 22.
    Just an illustration(three, actually)SubObjectPropertyOf( ObjectPropertyChain ( a:isElephantowl:TopObjectPropertya:isMouse ) a:likes )
  • 23.
    Syntactic SugarDisjoint UnionDisjointClassesNegative property assertionsDisjointUnion(:BrainHemisphere :LeftHemisphere :RightHemisphere)DisjointClasses( :LeftLung :RightLung)NegativeDataPropertyAssertion( :hasAge :Frank 50^^xsd:integer )EquivalentClasses ( ObjectOneOf( :Frank ) ObjectComplementOf ( DataHasValue( :hasAge 50^^xsd:integer )) )
  • 24.
    Punning (wordplay)Any namecan be used for any type of entityDirect SemanticsInterpreted as separate entitiesRDF-Based SemanticsInterpreted as the same entity… but no punning between:Datatype and Class namesData-, Object- and Annotation property names(actually supported by most implementations)ConsequenceStrongly typed syntax (FS, OWLXML)…but not in RDF graphs
  • 25.
    AnnotationsNo semantics inDirect SemanticsSupported on all entitiesClasses, individuals, propertiesAxioms, annotations, ontologiesAnnotation axiomsAnnotation SubpropertiesDomain and RangeAnnotationAssertion (skos:prefLabel :SWMeeting “Semantic Web Meeting”@en )SubClassOf( Annotation( rdfs:comment ”Every SWMeeting is a Meeting.") :SWMeeting :Meeting)
  • 26.
    Imports & VersioningImportby location… but comes down to ‘just’ dereferencingOntologyIRI and VersionIRIOntologies should be accessible atOntologyIRIIf no VersionIRI supplied or if it is the latest versionVersionIRIIf a VersionIRI is suppliedImport statement may point to either
  • 27.
    Other things…Internationalized ResourceIdentifiersBNodes are existentialsGlobal restrictions for Direct SemanticsAnonymous individuals are BNodes… no change in RDFDeclarationsIndicate what ontology defines an entity… but mostly just nice for parsers, no change in RDFObjectPropertyAssertion(<http://example.org/p> <http://example.org/a> _:http://example.org/#genid-x)ClassAssertion(ObjectSomeValuesFrom(<http://example.org/p> owl:Thing) <http://example.org/a>)
  • 28.
    Bonus MaterialPretty decentoutreach materialComprehensive OWL 2 Overviewhttp://www.w3.org/TR/owl-overview/OWL 2 Quick Reference Cardhttp://www.w3.org/TR/owl-quick-reference/OWL 2 Primerhttp://www.w3.org/TR/owl-primer/OWL 2 New Features and Rationalehttp://www.w3.org/TR/owl-new-features/OWL 2 Conformancehttp://www.w3.org/TR/owl-conformance
  • 29.
    What I likeabout OWL 2Cleaner language designAdded expressivenessPropertiesDatatypesIncreased compatibility between Full and DLPunningAnnotation propertiesProfiles… most notably OWL 2 RL … hooks for extensibility