Vu Semantic Web Meeting 20091123

Preview:

DESCRIPTION

 

Citation preview

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 Advocate• Where’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”

DISCLAIMER• Do 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 own

• It’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 compatible– Species inheritance, including• OWL DL vs. OWL Full debate

– Compatibility with other W3C standards• Social ‘issues’ with WG:– Over-representation of DL community– Under-representation of RDF/SW community

Economics of OWL 2

• Technology push– Advancements in Description Logics research

• Market pull– Experiences• Added expressiveness• Other syntaxes

– Better (‘easier’) tool development• Caters for several communities– HC, LS, KR, SW, Engineering, Enterprise Systems

Background

• OWLED workshops (60-70 people)– First one in 2005– Users, industry, research

• W3C Member submission: OWL 1.1– December 2006, following vote at OWLED 2006

• OWL Working Group– November 2007, following vote at OWLED 2007

• OWL 2 Recommendation– October 2009

Before

Topics

PoliticsTechnology PushMarket Pull

During

Topics

PoliticsTechnology PushMarket Pull

After

Topics

PoliticsTechnology pushMarket pull

Back on topic…

• Language Design• Profiles• Exchange Syntaxes• Nifty Features

– Datatype coolness– Properties & Restrictions– Syntactic Sugar– Punning– Annotations

• Bonus material

Language Design (1)• OWL 1: Abstract Syntax

– Frame-based• DL: axioms, Full: rules… then why frames?

– Hard to • use for defining semantics• to parse• to extend

– “an OWL ontology is an RDF graph”• OWL 2: Structural Specification

– Axiom centred– UML/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 grammar

http://www.w3.org/TR/owl2-syntax/

Language Design (2)

• OWL 1: Species– Lite, DL, Full– Confusion between semantics and syntax– OWL Lite? Nah…

• OWL 2: Semantics– Direct Semantics (DL),

http://www.w3.org/TR/owl-direct-semantics

– RDF-Based Semantics (Full), http://www.w3.org/TR/owl-rdf-based-semantics

• Most OWL 2 DL ontologies are OWL 1 Full

Profiles• OWL 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 individuals– Access 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 technologies– Lightweight ontologies that organize many individuals– Operate directly on RDF triples– Rule set provided by specification

• Semantics follows from syntactic restrictions– Extra “global restrictions” for OWL 2 DL, QL and EL– Extensible!

OWLs living in the swamps of

Amsterdam

Exchange Syntaxes

• OWL 1: – RDF/XML (2004)

• W3C Note: – OWL XML Syntax (2003)

• OWL 2: – RDF/XML (mandatory)– Turtle– Functional Style Syntax– OWL XML (2009) (+ mandatory GRDDL transformation)– Manchester Syntax

Hey, show me those nifty features already!

Yeah yeah…

Datatypes (1)• Extended XML Schema compatibility• New datatypes not in XML Schema

– owl:real, owl:rational

• Datatype definitions– xsd:minInclusive, xsd:maxInclusive, xsd:minExclusive, xsd:maxExclusive– xsd:pattern (e.g. regular expressions), xsd:length

• rdf:PlainLiteral (together with RIFWG)

– All RDF plain literals– Not to be used in syntaxes that already deal with RDF plain literals

DatatypeDefinition( a:SSN    DatatypeRestriction( xsd:string xsd:pattern "[0-9]{3}-[0-9]{2}-[0-9]{4}" ))

Datatypes (2)

• Datatype Definitions

• Data Range Combinations

• Keys– Only hold for named individuals

DatatypeDefinition( :adultAge DatatypeRestriction(xsd:integer minInclusive 18)

DataComplementOf( :adultAge )DataUnionOf( :adultAge :studentAge )…

HasKey( :Transplantation :donorId :recipientId :ofOrgan )

Datatypes (3)

• N-ary datatypes– Extension (Working Group Note)

http://www.w3.org/TR/owl2-dr-linear/ – Linear equations

DataAllValuesFrom ( :meltingPoint :boilingPointDataComparison(Arguments(x y) leq( x y ))))

Properties (1)

• Property Types– Asymmetric properties– Reflexive and Irreflexive properties– Top and bottom properties

• Property chainsSubObjectPropertyOf( ObjectPropertyChain( a:hasMother a:hasSister ) a:hasAunt )

Properties (2)

• Property Assertions– Disjointness

• Property restrictions– Self Restriction (local reflexivity)– Qualified Cardinality Restrictions– Datatype restrictions

– ‘ObjectInverseOf’ in restrictions

ObjectHasSelf( a:likes )

DataSomeValuesFrom( a:hasAge DatatypeRestriction( xsd:integer xsd:minInclusive “13”^^xsd:integer xsd:maxExclusive 

“20”^^xsd:integer ) )

Just an illustration (three, actually)

SubObjectPropertyOf( ObjectPropertyChain ( a:isElephant owl:TopObjectProperty a:isMouse ) a:likes )

Syntactic Sugar

• Disjoint Union

• Disjoint Classes

• Negative property assertions

DisjointUnion(: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 entity

– Direct Semantics• Interpreted as separate entities

– RDF-Based Semantics• Interpreted as the same entity

• … but no punning between:– Datatype and Class names– Data-, Object- and Annotation property names

(actually supported by most implementations)

• Consequence– Strongly typed syntax (FS, OWLXML)– …but not in RDF graphs

Annotations

• No semantics in Direct Semantics• Supported on all entities– Classes, individuals, properties

– Axioms, annotations, ontologies

• Annotation axioms– Annotation Subproperties– Domain and Range

AnnotationAssertion (skos:prefLabel :SWMeeting “Semantic Web Meeting”@en )

SubClassOf( Annotation( rdfs:comment ”Every SWMeeting is a Meeting.") :SWMeeting :Meeting)

Imports & Versioning

• Import by location– … but comes down to ‘just’ dereferencing

• OntologyIRI and VersionIRI• Ontologies should be accessible at– OntologyIRI• If no VersionIRI supplied or if it is the latest version

– VersionIRI• If a VersionIRI is supplied

• Import statement may point to either

Other things…• Internationalized Resource Identifiers• BNodes are existentials

– Global restrictions for Direct Semantics

• Anonymous individuals are BNodes– … no change in RDF

• Declarations– Indicate what ontology defines an entity– … but mostly just nice for parsers, no change in RDF

ObjectPropertyAssertion(<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 Material

• Pretty decent outreach material– Comprehensive OWL 2 Overview

http://www.w3.org/TR/owl-overview/– OWL 2 Quick Reference Card

http://www.w3.org/TR/owl-quick-reference/ – OWL 2 Primer

http://www.w3.org/TR/owl-primer/– OWL 2 New Features and Rationale

http://www.w3.org/TR/owl-new-features/– OWL 2 Conformance

http://www.w3.org/TR/owl-conformance

What I like about OWL 2

• Cleaner language design• Added expressiveness– Properties– Datatypes

• Increased compatibility between Full and DL– Punning– Annotation properties

• Profiles– … most notably OWL 2 RL

• … hooks for extensibility

Recommended