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’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”
4. 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.
5. 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
6. 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
7. 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
11. Back on topic… Language Design Profiles Exchange Syntaxes Nifty Features Datatypecoolness Properties & Restrictions Syntactic Sugar Punning Annotations Bonus material
12. 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/
13. 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
14. Profiles OWLs living in the swamps of Amsterdam 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!
15. 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
16. Hey, show me those nifty features already! Yeah yeah…
17. 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:stringxsd:pattern "[0-9]{3}-[0-9]{2}-[0-9]{4}" ))
18. Datatypes(2) Datatype Definitions Data Range Combinations Keys Only hold for named individuals DatatypeDefinition( :adultAgeDatatypeRestriction(xsd:integerminInclusive 18) DataComplementOf( :adultAge) DataUnionOf( :adultAge :studentAge) … HasKey( :Transplantation :donorId :recipientId :ofOrgan)
19. Datatypes (3) N-arydatatypes Extension (Working Group Note)http://www.w3.org/TR/owl2-dr-linear/ Linear equations DataAllValuesFrom ( :meltingPoint :boilingPointDataComparison(Arguments(xy) leq( xy ))))
20. Properties (1) Property Types Asymmetric properties Reflexive and Irreflexive properties Top and bottom properties Property chains SubObjectPropertyOf( ObjectPropertyChain( a:hasMothera:hasSister ) a:hasAunt)
22. Just an illustration (three, actually) SubObjectPropertyOf( ObjectPropertyChain ( a:isElephantowl:TopObjectProperty a:isMouse ) a:likes )
23.
24. 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
25.
26. 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
27. 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>)
28. Bonus Material Pretty decent outreach material Comprehensive 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 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