the distributed ontology language (dol): use cases, syntax, and extensibility

31
Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility Terminology and Knowledge Engineering 2012 Christoph Lange 1,2 , Till Mossakowski 1,3 , Oliver Kutz 1 , Christian Galinski 4 , Michael Grüninger 5 , Daniel Couto Vale 1 1 Research Center on Spatial cognition, University of Bremen, Germany 2 School of Computer Science, Univ. of Birmingham, UK 3 DFKI GmbH, Bremen, Germany 4 International Information Centre for Terminology (Infoterm), Vienna, Austria 5 Department of Mechanical and Industrial Engineering, University of Toronto, Canada Project page: http://ontoiop.org 2012-06-20 Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 1

Upload: christoph-lange

Post on 11-May-2015

716 views

Category:

Technology


0 download

DESCRIPTION

Terminology and Knowledge Engineering (TKE), June 20, 2012, Madríd, Spain.

TRANSCRIPT

Page 1: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

The Distributed Ontology Language (DOL):Use Cases, Syntax, and ExtensibilityTerminology and Knowledge Engineering 2012

Christoph Lange1,2, Till Mossakowski1,3, Oliver Kutz1,Christian Galinski4, Michael Grüninger5, Daniel Couto Vale1

1Research Center on Spatial cognition, University of Bremen, Germany2School of Computer Science, Univ. of Birmingham, UK

3DFKI GmbH, Bremen, Germany4International Information Centre for Terminology (Infoterm), Vienna, Austria

5Department of Mechanical and Industrial Engineering, University of Toronto, CanadaProject page: http://ontoiop.org

2012-06-20

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 1

Page 2: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Smart Devices

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 2

Page 3: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Smart Devices

interoperable with washing machine

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 2

Page 4: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

The Big Picture of Interoperability

Ontology

Ontology Language/Logic

Knowledge Software Agents

written in

Concepts/Data/Individuals

represented in terms of

Service Description

Service Descr. Language

written in

Service

satisfies

processes

refers to

Target (Device)accesses

Service-Oriented Architecture

Smart Environment

Target Description

conforms to

Device

Target Descr. Language

written in

Ontology

Ontology Language/Logic

Concepts/Data/Individuals

Service Description

Service Descr. Language

Service Target (Device)

Target Description

Device

Target Descr. Language

Knowledge Infrastructure

map

ping

s fo

rin

tero

pera

bilit

y

Hardware

Data

Models

Metamodels

For now we focus onthe “content”/“knowledge” column

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 3

Page 5: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Overview of OntoIOp and DOL (DistributedOntology Language)

In practical applications, one ontology language and onelogic doesn’t suffice to achieve semantic integration andinteroperability

ISO Standard 17347 “Ontology Integration and Interoperability”(developed by ISO/TC 37/SC 3) will provide ameta-language(DOL) for:

logically heterogeneous ontologiesmodular ontologiesformal and informal links between ontologies/modulesannotation and documentation of ontologies

DOL has a formal semantics and concrete XML, RDF and textserializations

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 4

Page 6: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Ontohub Repository Engine: Motivation

http://ontolog.cim3.net/cgi-bin/wiki.pl?OpenOntologyRepository

Open Ontology Repository(OOR) initiativepromoting global sharing ofontologies by(i) a hosted registry-repository;(ii) facilitating open, federated,collaborative ontology repositories,and(iii) establishing best practices forexpressing interoperable ontologies.In an ontology repository ontologies andrelated information artifacts can bestored, retrieved andmanaged.

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 5

Page 7: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Ontohub Features: Welcome Page

http://ontohub.informatik.uni-bremen.deLange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 6

Page 8: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Ontohub Features: Ontology Overview

http://ontohub.informatik.uni-bremen.de/ontologies/Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 7

Page 9: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Ontohub: View of One Basic Ontology

http://ontohub.informatik.uni-bremen.de/ontologies/<ID>Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 8

Page 10: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Ontohub Repository Engine: Database Schema

Ontologies OntoIOp Registry (→ Extensibility)Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 9

Page 11: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

COLORE Repository: Metadata and RelationsCommon Logic Repository (http://colore.googlecode.com)

more than 500 generic ontologies in Common Logicverification of ontologies for commonsense domains: time,space, shape, processes, . . . (prove equivalence to coremathematical concepts: orderings, incidence structures,graphs, algebraic structure, . . . )Interesting features for DOL:

metadata (module provenance, axiom provenance; currentlyrepresented in XML w/o formal semantics): DOL allows forreusing, e.g., the OMV OWL vocabulary for that (near future)meta-theoretical relations (first results):

DOL has built-in support for signature morphisms, definitionalextensions, conservative extensions, inconsistencies betweenmodules, imports, relative interpretations, faithfulinterpretations, and definable equivalence.Hets supports their automatic validation.

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 10

Page 12: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

DO-ROAM: Ontology-driven Map UIData andOntology driven Route-findingOf Activity-orientedMobility web service (http://www.do-roam.org)

places taggedwith terms from a set of aligned OWLontologiesmap-based UI withmultilingual labels↔ ontology terms

DOL port in progress:coherentrepresentation of thealigned ontologies asone distributedontologyeasier maintenance oflabels as annotationsinside the ontology

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 11

Page 13: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Ambient Assisted Living (AAL):Devices of Differing ComplexityDifferent devices (e.g. wheelchair, door, freezer), which interact

with their users (e.g. elderly persons or persons with disabilities)with each otherand possibly with a central home controller

DOL’s potential over single-logic approaches (e.g. the OpenAALOWL ontology): greater coverage

full width of the domain: not just OpenAAL’s assisted personsand assistive devices, but also nutrition requirements (andproduct descriptions)full depth of the representation

light switch can be described in propositional logicsmart wheelchair needs spatial calculus for navigation⇒ FOL⇒ logically heterogeneous ontology

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 12

Page 14: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Generic Example: Mereology (I)%prefix( : <http://www.example.org/mereology#> %% prefix for this distributed ontology

owl: <http://www.w3.org/2002/07/owl#> %% OWL basic ontology languagelog: <http://purl.net/dol/logics/> %% DOL-conforming logicstrans: <http://purl.net/dol/translations/> %% translations between these logicsser: <http://purl.net/dol/serializations/> %) %% serializations, i.e. concrete syntaxes

distributed-ontology Mereology

logic log:Propositional syntax ser:Prop/Hets %% non-standard serialization built into Hetsontology Taxonomy = %% basic taxonomic information about mereology reused from DOLCEprops PT, T, S, AR, PD. S ∨ T ∨ AR ∨ PD Ð→ PT %% PT is the top concept. S ∧ T Ð→ � %% PD, S, T, AR are pairwise disjoint. T ∧ AR Ð→ � %% and so on

logic log:SROIQ syntax ser:OWL2/Manchester %% OWL Manchester syntaxontology BasicParthood = %% Parthood in SROIQ, as far as expressibleClass: ParticularCategory SubClassOf: Particular %% omitted similar declarations of the other classesDisjointUnionOf: SpaceRegion, TimeInterval, AbstractRegion, Perdurant

%% pairwise disjointness more compact thanks to an OWL built-inObjectProperty: isPartOf Characteristics: TransitiveObjectProperty: isProperPartOf Characteristics: Asymmetric SubPropertyOf: isPartOfClass: Atom EquivalentTo: inverse isProperPartOf only owl:Nothing

interpretation TaxonomyToParthood : Taxonomy to BasicParthood =translate with trans:PropositionalToSROIQ, %% translate the logic, then rename the entitiesPT ↦ Particular, S ↦ SpaceRegion, T ↦ TimeInterval, A ↦ AbstractRegion, %[ and so on ]%

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 13

Page 15: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Generic Example: Mereology (I)%prefix( : <http://www.example.org/mereology#> %% prefix for this distributed ontology

owl: <http://www.w3.org/2002/07/owl#> %% OWL basic ontology languagelog: <http://purl.net/dol/logics/> %% DOL-conforming logicstrans: <http://purl.net/dol/translations/> %% translations between these logicsser: <http://purl.net/dol/serializations/> %) %% serializations, i.e. concrete syntaxes

distributed-ontology Mereology

logic log:Propositional syntax ser:Prop/Hets %% non-standard serialization built into Hetsontology Taxonomy = %% basic taxonomic information about mereology reused from DOLCEprops PT, T, S, AR, PD. S ∨ T ∨ AR ∨ PD Ð→ PT %% PT is the top concept. S ∧ T Ð→ � %% PD, S, T, AR are pairwise disjoint. T ∧ AR Ð→ � %% and so on

logic log:SROIQ syntax ser:OWL2/Manchester %% OWL Manchester syntaxontology BasicParthood = %% Parthood in SROIQ, as far as expressibleClass: ParticularCategory SubClassOf: Particular %% omitted similar declarations of the other classesDisjointUnionOf: SpaceRegion, TimeInterval, AbstractRegion, Perdurant

%% pairwise disjointness more compact thanks to an OWL built-inObjectProperty: isPartOf Characteristics: TransitiveObjectProperty: isProperPartOf Characteristics: Asymmetric SubPropertyOf: isPartOfClass: Atom EquivalentTo: inverse isProperPartOf only owl:Nothing

interpretation TaxonomyToParthood : Taxonomy to BasicParthood =translate with trans:PropositionalToSROIQ, %% translate the logic, then rename the entitiesPT ↦ Particular, S ↦ SpaceRegion, T ↦ TimeInterval, A ↦ AbstractRegion, %[ and so on ]%

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 13

Page 16: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Generic Example: Mereology (I)%prefix( : <http://www.example.org/mereology#> %% prefix for this distributed ontology

owl: <http://www.w3.org/2002/07/owl#> %% OWL basic ontology languagelog: <http://purl.net/dol/logics/> %% DOL-conforming logicstrans: <http://purl.net/dol/translations/> %% translations between these logicsser: <http://purl.net/dol/serializations/> %) %% serializations, i.e. concrete syntaxes

distributed-ontology Mereology

logic log:Propositional syntax ser:Prop/Hets %% non-standard serialization built into Hetsontology Taxonomy = %% basic taxonomic information about mereology reused from DOLCEprops PT, T, S, AR, PD. S ∨ T ∨ AR ∨ PD Ð→ PT %% PT is the top concept. S ∧ T Ð→ � %% PD, S, T, AR are pairwise disjoint. T ∧ AR Ð→ � %% and so on

logic log:SROIQ syntax ser:OWL2/Manchester %% OWL Manchester syntaxontology BasicParthood = %% Parthood in SROIQ, as far as expressibleClass: ParticularCategory SubClassOf: Particular %% omitted similar declarations of the other classesDisjointUnionOf: SpaceRegion, TimeInterval, AbstractRegion, Perdurant

%% pairwise disjointness more compact thanks to an OWL built-inObjectProperty: isPartOf Characteristics: TransitiveObjectProperty: isProperPartOf Characteristics: Asymmetric SubPropertyOf: isPartOfClass: Atom EquivalentTo: inverse isProperPartOf only owl:Nothing

interpretation TaxonomyToParthood : Taxonomy to BasicParthood =translate with trans:PropositionalToSROIQ, %% translate the logic, then rename the entitiesPT ↦ Particular, S ↦ SpaceRegion, T ↦ TimeInterval, A ↦ AbstractRegion, %[ and so on ]%

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 13

Page 17: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Generic Example: Mereology (II)

logic log:CommonLogic syntax ser:CommonLogic/CLIF %% syntax: the Lisp-like CLIF dialect of Common Logicontology ClassicalExtensionalParthood =BasicParthood translate with trans:SROIQtoCL %% import the OWL ontology from above, translate it ...then { %% ... to Common Logic, then extend it there:(forall (X) (if (or (= X S) (= X T) (= X AR) (= X PD))

(forall (x y z) (if (and (X x) (X y) (X z))(and %% now list all the axioms

(if (and (isPartOf x y) (isPartOf y x)) (= x y)) %% antisymmetry(if (and (isProperPartOf x y) (isProperPartOf y z)) (isProperPartOf x z))

%% transitivity; can’t be expressed in OWL together with asymmetry(iff (overlaps x y) (exists (pt) (and (isPartOf pt x) (isPartOf pt y))))(iff (isAtomicPartOf x y) (and (isPartOf x y) (Atom x)))(iff (sum z x y) (forall (w) (iff (overlaps w z) (and (overlaps w x) (overlaps w y)))))(exists (s) (sum s x y))))))) %% existence of the sum

}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 14

Page 18: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Web-scalable Identification with IRIs

DOL uses IRIs forweb-scalable, Unicode-aware identification,and retrieval of ontologies and all of their parts.Ontology authors like to abbreviate long IRIs using prefixes:%prefix( : <http://www.example.org/mereology#> %% prefix for this distributed ontology

owl: <http://www.w3.org/2002/07/owl#> %% OWL basic ontology languagelog: <http://purl.net/dol/logics/> %% DOL-conforming logicstrans: <http://purl.net/dol/translations/> %% translations between these logicsser: <http://purl.net/dol/serializations/> %) %% serializations, i.e. concrete syntaxes

DOL RDF employs abbreviation facilities of the respective RDFserializations; DOL Text and DOL XML use RDFa’s CURIEsExample: “empty prefix” bound as above⇒ isAtomicPartOf ex-pands to http://www.example.org/mereology#isAtomicPartOfPrefix bindings hold on DOL level, and propagate into basicontologies

useful for languages that don’t support IRI identifiers or don’tenforce them, e.g. Common Logic⇒ their entities become reusable in distributed ontologies

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 15

Page 19: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Expressing Complex Interpretations (COLORE)

Interpreting linear orders as orders between time intervals:%prefix( %% log: and ser: prefix declarations omitted: <http://code.google.com/p/colore/.../owltime/owltime_interval/mappings/owltime_le.dol#>int: <http://code.google.com/p/colore/.../owltime/owltime_interval/> %% namespaces of the ontologiesord: <http://code.google.com/p/colore/.../orderings/> )% %% in this distributed ontology

logic log:CommonLogic syntax ser:CommonLogic/CLIF

ontology ord:linear_ordering = %% here using Common Logic’s import facility as an alternative to ...(cl-imports ord:partial_ordering) (forall (x y) (or (leq x y) (leq y x) (= x y)))

%% ... DOL’s general one: We create the ontology of linearly ordered time intervals that ...ontology int:owltime_le = int:owltime_linear then int:owltime_e %% ... begin and end with an instant%% ... by extending linearly ordered time intervals with intervals that begin and end with an instant

ontology int:mappings/owltime2orderings = (forall (x y) (iff (leq x y) (or (before x y) (= x y))))(forall (x y) (iff (lt x y) (before x y))) %% map time intervals to general linear orderings

interpretation i %mcons : %% interpreting linear orderings as time interval ordersord:linear_ordering to {int:owltime_le and %def int:mappings/owltime2orderings}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 16

Page 20: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Expressing Complex Interpretations (COLORE)

Interpreting linear orders as orders between time intervals:%prefix( %% log: and ser: prefix declarations omitted: <http://code.google.com/p/colore/.../owltime/owltime_interval/mappings/owltime_le.dol#>int: <http://code.google.com/p/colore/.../owltime/owltime_interval/> %% namespaces of the ontologiesord: <http://code.google.com/p/colore/.../orderings/> )% %% in this distributed ontology

logic log:CommonLogic syntax ser:CommonLogic/CLIF

ontology ord:linear_ordering = %% here using Common Logic’s import facility as an alternative to ...(cl-imports ord:partial_ordering) (forall (x y) (or (leq x y) (leq y x) (= x y)))

%% ... DOL’s general one: We create the ontology of linearly ordered time intervals that ...ontology int:owltime_le = int:owltime_linear then int:owltime_e %% ... begin and end with an instant%% ... by extending linearly ordered time intervals with intervals that begin and end with an instant

ontology int:mappings/owltime2orderings = (forall (x y) (iff (leq x y) (or (before x y) (= x y))))(forall (x y) (iff (lt x y) (before x y))) %% map time intervals to general linear orderings

interpretation i %mcons : %% interpreting linear orderings as time interval ordersord:linear_ordering to {int:owltime_le and %def int:mappings/owltime2orderings}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 16

Page 21: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Expressing Complex Interpretations (COLORE)

Interpreting linear orders as orders between time intervals:%prefix( %% log: and ser: prefix declarations omitted: <http://code.google.com/p/colore/.../owltime/owltime_interval/mappings/owltime_le.dol#>int: <http://code.google.com/p/colore/.../owltime/owltime_interval/> %% namespaces of the ontologiesord: <http://code.google.com/p/colore/.../orderings/> )% %% in this distributed ontology

logic log:CommonLogic syntax ser:CommonLogic/CLIF

ontology ord:linear_ordering = %% here using Common Logic’s import facility as an alternative to ...(cl-imports ord:partial_ordering) (forall (x y) (or (leq x y) (leq y x) (= x y)))

%% ... DOL’s general one: We create the ontology of linearly ordered time intervals that ...ontology int:owltime_le = int:owltime_linear then int:owltime_e %% ... begin and end with an instant%% ... by extending linearly ordered time intervals with intervals that begin and end with an instant

ontology int:mappings/owltime2orderings = (forall (x y) (iff (leq x y) (or (before x y) (= x y))))(forall (x y) (iff (lt x y) (before x y))) %% map time intervals to general linear orderings

interpretation i %mcons : %% interpreting linear orderings as time interval ordersord:linear_ordering to {int:owltime_le and %def int:mappings/owltime2orderings}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 16

Page 22: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Expressing Complex Interpretations (COLORE)

Interpreting linear orders as orders between time intervals:%prefix( %% log: and ser: prefix declarations omitted: <http://code.google.com/p/colore/.../owltime/owltime_interval/mappings/owltime_le.dol#>int: <http://code.google.com/p/colore/.../owltime/owltime_interval/> %% namespaces of the ontologiesord: <http://code.google.com/p/colore/.../orderings/> )% %% in this distributed ontology

logic log:CommonLogic syntax ser:CommonLogic/CLIF

ontology ord:linear_ordering = %% here using Common Logic’s import facility as an alternative to ...(cl-imports ord:partial_ordering) (forall (x y) (or (leq x y) (leq y x) (= x y)))

%% ... DOL’s general one: We create the ontology of linearly ordered time intervals that ...ontology int:owltime_le = int:owltime_linear then int:owltime_e %% ... begin and end with an instant%% ... by extending linearly ordered time intervals with intervals that begin and end with an instant

ontology int:mappings/owltime2orderings = (forall (x y) (iff (leq x y) (or (before x y) (= x y))))(forall (x y) (iff (lt x y) (before x y))) %% map time intervals to general linear orderings

interpretation i %mcons : %% interpreting linear orderings as time interval ordersord:linear_ordering to {int:owltime_le and %def int:mappings/owltime2orderings}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 16

Page 23: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Complex Alignments, Multilingual Labels(DO-ROAM)

%prefix(do-roam: <https://raw.github.com/doroam/planning-do-roam/master/>activ: <https://raw.github.com/doroam/planning-do-roam/master/Ontology/activities.owl#>tags: <https://raw.github.com/doroam/planning-do-roam/master/Ontology/tags.owl#>

)%

language lang:OWL2/DL

alignment do-roam:ActivitiesToTags : activ: to tags: =activ:Restaurant = ∃ tags:has_k_amenity . tags:v_restaurant,%% "=" is equivalence as defined in the Alignment APIactiv:ChargingStation =∃ tags:has_k_amenity . tags:v_charging_station

⊔ (∃ tags:has_k_amenity . tags:v_fuel ⊓ ∃ tags:has_k_fuel:electricity . tags:yes),%% We give OWL complex OWL class expressions in German DL notation for brevity; actually one would%% use, e.g., OWL Manchester Syntax here.

...

ontology do-roam:ActivityTranslation =activ: project with proj:OWL2DLtoRDF %% project activity ontology down to RDFthen language lang:RDF syntax ser:RDF/YAML : %% add German translations as RDF from a filedo-roam:config/locales/de.yml %% serialized in (non-standard) YAML

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 17

Page 24: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Complex Alignments, Multilingual Labels(DO-ROAM)

%prefix(do-roam: <https://raw.github.com/doroam/planning-do-roam/master/>activ: <https://raw.github.com/doroam/planning-do-roam/master/Ontology/activities.owl#>tags: <https://raw.github.com/doroam/planning-do-roam/master/Ontology/tags.owl#>

)%

language lang:OWL2/DL

alignment do-roam:ActivitiesToTags : activ: to tags: =activ:Restaurant = ∃ tags:has_k_amenity . tags:v_restaurant,%% "=" is equivalence as defined in the Alignment APIactiv:ChargingStation =∃ tags:has_k_amenity . tags:v_charging_station

⊔ (∃ tags:has_k_amenity . tags:v_fuel ⊓ ∃ tags:has_k_fuel:electricity . tags:yes),%% We give OWL complex OWL class expressions in German DL notation for brevity; actually one would%% use, e.g., OWL Manchester Syntax here.

...

ontology do-roam:ActivityTranslation =activ: project with proj:OWL2DLtoRDF %% project activity ontology down to RDFthen language lang:RDF syntax ser:RDF/YAML : %% add German translations as RDF from a filedo-roam:config/locales/de.yml %% serialized in (non-standard) YAML

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 17

Page 25: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Reusing Linked Open Datasets (AAL)

%prefix( pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>productdb: <http://productdb.org/ean/> )%

language lang:OWL2/DL %% here: characterizing ontologies by language, not by logicontology FreezerInMyHome ={ pizza: project with proj:OWL2DLtoRDF %% Project Pizza OWL 2 DL ontology down to RDFand productdb: %% Merge with ProductDB RDF ontology

then language lang:RDF syntax ser:RDF/Turtle : { %% Add the RDF part of our ABox%% Talk about a concrete pizza. This item doesn’t actually exist in the ProductDB linked open%% dataset, but we pretend so.

productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .

} translate with trans:RDFtoOWL2DLthen { pizza: %% Pizza ontology once more, now keep it in OWL 2 DLthen syntax ser:OWL2/Manchester : { %% Add the OWL part of our ABoxIndividual: productdb:4001724819806 %% Redeclare the concrete pizza as an OWL individual%% We need OWL for expressing that besides tomato and mozzarella this pizza does not have any%% other toppings (and note that the two toppings of our concrete pizza are assumed to be%% different because the Pizza ontology declares TomatoTopping and MozzarellaTopping disjoint).Types: pizza:hasTopping exactly 2

}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 18

Page 26: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Reusing Linked Open Datasets (AAL)

%prefix( pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>productdb: <http://productdb.org/ean/> )%

language lang:OWL2/DL %% here: characterizing ontologies by language, not by logicontology FreezerInMyHome ={ pizza: project with proj:OWL2DLtoRDF %% Project Pizza OWL 2 DL ontology down to RDFand productdb: %% Merge with ProductDB RDF ontology

then language lang:RDF syntax ser:RDF/Turtle : { %% Add the RDF part of our ABox%% Talk about a concrete pizza. This item doesn’t actually exist in the ProductDB linked open%% dataset, but we pretend so.

productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .

} translate with trans:RDFtoOWL2DLthen { pizza: %% Pizza ontology once more, now keep it in OWL 2 DLthen syntax ser:OWL2/Manchester : { %% Add the OWL part of our ABoxIndividual: productdb:4001724819806 %% Redeclare the concrete pizza as an OWL individual%% We need OWL for expressing that besides tomato and mozzarella this pizza does not have any%% other toppings (and note that the two toppings of our concrete pizza are assumed to be%% different because the Pizza ontology declares TomatoTopping and MozzarellaTopping disjoint).Types: pizza:hasTopping exactly 2

}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 18

Page 27: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Reusing Linked Open Datasets (AAL)

%prefix( pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>productdb: <http://productdb.org/ean/> )%

language lang:OWL2/DL %% here: characterizing ontologies by language, not by logicontology FreezerInMyHome ={ pizza: project with proj:OWL2DLtoRDF %% Project Pizza OWL 2 DL ontology down to RDFand productdb: %% Merge with ProductDB RDF ontology

then language lang:RDF syntax ser:RDF/Turtle : { %% Add the RDF part of our ABox%% Talk about a concrete pizza. This item doesn’t actually exist in the ProductDB linked open%% dataset, but we pretend so.

productdb:4001724819806 pizza:hasTopping[ a pizza:TomatoTopping ], [ a pizza:MozzarellaTopping ] .

} translate with trans:RDFtoOWL2DLthen { pizza: %% Pizza ontology once more, now keep it in OWL 2 DLthen syntax ser:OWL2/Manchester : { %% Add the OWL part of our ABoxIndividual: productdb:4001724819806 %% Redeclare the concrete pizza as an OWL individual%% We need OWL for expressing that besides tomato and mozzarella this pizza does not have any%% other toppings (and note that the two toppings of our concrete pizza are assumed to be%% different because the Pizza ontology declares TomatoTopping and MozzarellaTopping disjoint).Types: pizza:hasTopping exactly 2

}

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 18

Page 28: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Extending the OntoIOp Framework

DOL supports different ontology languages, logics,serializations, andmappings✓But OntoIOp is not limited to a fixed set of ontology languages.Any existing or future ontology language, logic, serialization, ormapping will work, if one establishes its conformancewiththe OntoIOp criteria✓Any such resource shall . . .

be globally and uniquely identified by an IRIhave amachine-readable description (at least RDF)Why? So that, e.g., agents can find out what an ontologylanguage can be translated to!

There shall be a central registry of authoritative andcontributed resources, published as linked open data

for nowmaintained as a static RDF filesoon served through a dedicated Ontohub installation

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 19

Page 29: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

The OntoIOp Registry (Subset)

Common Logic

SROIQDL-LiteR

CLIF

XCL

Manchester Syntax

OWL 2 XML

RDF / XML

Turtle

OWL 2 DL

RDF

RDFS

Common Logic

RDFS

RDF

OWL 2 QL

OWL 2 RL

OWL 2 EL

DL-RL

EL++

Serializations Ontology Languages Logics

supports serialization sublanguage of

induced translation exact logical expressivity

translatable to

sublogic of

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 20

Page 30: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Conclusion: DOL Enables Interoperability

Standardization of DOL enables interoperability between data,ontologies, logics, and thus service-oriented architectures based onthem:

We formulate consensual rules under participation of majorstakeholders (here: ontology language communities).Standards improve suitability of products, processes andservices, . . .facilitate communication, . . .reduce complexity (and thus costs), andincrease quality via certification

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 21

Page 31: The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility

Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap

Further Roadmap of ISO 17347

currently: Third (last) Working Draft2012-06-25: ISO/TC 37/SC 3 meeting (here)2012-08-15: Committee Draftthen: 3 months review/ballot periodAug 2013: DIS (Draft International Standard)Feb 2015: FDIS (Final Draft International Standard)Aug 2015: IS (International Standard)Mailing list: [email protected]: ontoiop.org

Become an OntoIOp expert!

Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 22