Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility
1. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
The Distributed Ontology Language (DOL):
Use Cases, Syntax, and Extensibility
Terminology and Knowledge Engineering 2012
Christoph Lange1,2 , Till Mossakowski1,3 , Oliver Kutz1 ,
Christian Galinski4 , Michael Grüninger5 , Daniel Couto Vale1
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
2. 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
3. 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
4. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
The Big Picture of Interoperability
Knowledge Infrastructure Service-Oriented Smart Environment
Architecture
Concepts/Data/Individuals Service Target (Device)
Device
rabil r
ity
fo
Ontology Service Description Target Description
inte ppings
rope
ma
Ontology Language/Logic Service Descr. Language Target Descr. Language
Data Concepts/Data/Individuals processes Service accesses Target (Device)
Device
represented in terms of satisfies conforms to
Models Ontology refers to Service Description Target Description
written in written in written in
Metamodels Ontology Language/Logic Service Descr. Language Target Descr. Language
Knowledge Software Agents Hardware
For now we focus on
the “content”/
“knowledge” column
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 3
5. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Overview of OntoIOp and DOL (Distributed
Ontology Language)
In practical applications, one ontology language and one
logic doesn’t suffice to achieve semantic integration and
interoperability
ISO Standard 17347 “Ontology Integration and Interoperability”
(developed by ISO/TC 37/SC 3) will provide a meta-language
(DOL) for:
logically heterogeneous ontologies
modular ontologies
formal and informal links between ontologies/modules
annotation and documentation of ontologies
DOL has a formal semantics and concrete XML, RDF and text
serializations
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 4
6. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Ontohub Repository Engine: Motivation
Open Ontology Repository
(OOR) initiative
promoting global sharing of
ontologies by
(i) a hosted registry-repository;
(ii) facilitating open, federated,
collaborative ontology repositories,
and
(iii) establishing best practices for
expressing interoperable ontologies.
http://ontolog.cim3.net/cgi- In an ontology repository ontologies and
bin/wiki.pl?OpenOntologyRepository related information artifacts can be
stored, retrieved and managed.
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 5
7. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Ontohub Features: Welcome Page
http://ontohub.informatik.uni-bremen.de
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 6
8. 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
9. 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
10. 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
11. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
COLORE Repository: Metadata and Relations
Common Logic Repository (http://colore.googlecode.com)
more than 500 generic ontologies in Common Logic
verification of ontologies for commonsense domains: time,
space, shape, processes, . . . (prove equivalence to core
mathematical concepts: orderings, incidence structures,
graphs, algebraic structure, . . . )
Interesting features for DOL:
metadata (module provenance, axiom provenance; currently
represented in XML w/o formal semantics): DOL allows for
reusing, e.g., the OMV OWL vocabulary for that (near future)
meta-theoretical relations (first results):
DOL has built-in support for signature morphisms, definitional
extensions, conservative extensions, inconsistencies between
modules, imports, relative interpretations, faithful
interpretations, 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
12. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
DO-ROAM: Ontology-driven Map UI
Data and Ontology driven Route-finding Of Activity-oriented
Mobility web service (http://www.do-roam.org)
places tagged with terms from a set of aligned OWL
ontologies
map-based UI with multilingual labels ↔ ontology terms
DOL port in progress:
coherent
representation of the
aligned ontologies as
one distributed
ontology
easier maintenance of
labels as annotations
inside the ontology
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 11
13. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Ambient Assisted Living (AAL):
Devices of Differing Complexity
Different devices (e.g. wheelchair, door, freezer), which interact
with their users (e.g. elderly persons or persons with disabilities)
with each other
and possibly with a central home controller
DOL’s potential over single-logic approaches (e.g. the OpenAAL
OWL ontology): greater coverage
full width of the domain: not just OpenAAL’s assisted persons
and assistive devices, but also nutrition requirements (and
product descriptions)
full depth of the representation
light switch can be described in propositional logic
smart 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
14. 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 language
log: <http://purl.net/dol/logics/> %% DOL-conforming logics
trans: <http://purl.net/dol/translations/> %% translations between these logics
ser: <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 Hets
ontology Taxonomy = %% basic taxonomic information about mereology reused from DOLCE
props 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 syntax
ontology BasicParthood = %% Parthood in SROIQ, as far as expressible
Class: ParticularCategory SubClassOf: Particular %% omitted similar declarations of the other classes
DisjointUnionOf: SpaceRegion, TimeInterval, AbstractRegion, Perdurant
%% pairwise disjointness more compact thanks to an OWL built-in
ObjectProperty: isPartOf Characteristics: Transitive
ObjectProperty: isProperPartOf Characteristics: Asymmetric SubPropertyOf: isPartOf
Class: Atom EquivalentTo: inverse isProperPartOf only owl:Nothing
interpretation TaxonomyToParthood : Taxonomy to BasicParthood =
translate with trans:PropositionalToSROIQ, %% translate the logic, then rename the entities
PT ↦ 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
15. 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 language
log: <http://purl.net/dol/logics/> %% DOL-conforming logics
trans: <http://purl.net/dol/translations/> %% translations between these logics
ser: <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 Hets
ontology Taxonomy = %% basic taxonomic information about mereology reused from DOLCE
props 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 syntax
ontology BasicParthood = %% Parthood in SROIQ, as far as expressible
Class: ParticularCategory SubClassOf: Particular %% omitted similar declarations of the other classes
DisjointUnionOf: SpaceRegion, TimeInterval, AbstractRegion, Perdurant
%% pairwise disjointness more compact thanks to an OWL built-in
ObjectProperty: isPartOf Characteristics: Transitive
ObjectProperty: isProperPartOf Characteristics: Asymmetric SubPropertyOf: isPartOf
Class: Atom EquivalentTo: inverse isProperPartOf only owl:Nothing
interpretation TaxonomyToParthood : Taxonomy to BasicParthood =
translate with trans:PropositionalToSROIQ, %% translate the logic, then rename the entities
PT ↦ 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
16. 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 language
log: <http://purl.net/dol/logics/> %% DOL-conforming logics
trans: <http://purl.net/dol/translations/> %% translations between these logics
ser: <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 Hets
ontology Taxonomy = %% basic taxonomic information about mereology reused from DOLCE
props 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 syntax
ontology BasicParthood = %% Parthood in SROIQ, as far as expressible
Class: ParticularCategory SubClassOf: Particular %% omitted similar declarations of the other classes
DisjointUnionOf: SpaceRegion, TimeInterval, AbstractRegion, Perdurant
%% pairwise disjointness more compact thanks to an OWL built-in
ObjectProperty: isPartOf Characteristics: Transitive
ObjectProperty: isProperPartOf Characteristics: Asymmetric SubPropertyOf: isPartOf
Class: Atom EquivalentTo: inverse isProperPartOf only owl:Nothing
interpretation TaxonomyToParthood : Taxonomy to BasicParthood =
translate with trans:PropositionalToSROIQ, %% translate the logic, then rename the entities
PT ↦ 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
17. 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 Logic
ontology 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
18. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Web-scalable Identification with IRIs
DOL uses IRIs for web-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 language
log: <http://purl.net/dol/logics/> %% DOL-conforming logics
trans: <http://purl.net/dol/translations/> %% translations between these logics
ser: <http://purl.net/dol/serializations/> %) %% serializations, i.e. concrete syntaxes
DOL RDF employs abbreviation facilities of the respective RDF
serializations; DOL Text and DOL XML use RDFa’s CURIEs
Example: “empty prefix” bound as above ⇒ isAtomicPartOf ex-
pands to http://www.example.org/mereology#isAtomicPartOf
Prefix bindings hold on DOL level, and propagate into basic
ontologies
useful for languages that don’t support IRI identifiers or don’t
enforce 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
19. 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 ontologies
ord: <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 orders
ord: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
20. 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 ontologies
ord: <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 orders
ord: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
21. 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 ontologies
ord: <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 orders
ord: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
22. 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 ontologies
ord: <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 orders
ord: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
23. 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 API
activ: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 RDF
then language lang:RDF syntax ser:RDF/YAML : %% add German translations as RDF from a file
do-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
24. 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 API
activ: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 RDF
then language lang:RDF syntax ser:RDF/YAML : %% add German translations as RDF from a file
do-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
25. 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 logic
ontology FreezerInMyHome =
{ pizza: project with proj:OWL2DLtoRDF %% Project Pizza OWL 2 DL ontology down to RDF
and 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:RDFtoOWL2DL
then { pizza: %% Pizza ontology once more, now keep it in OWL 2 DL
then syntax ser:OWL2/Manchester : { %% Add the OWL part of our ABox
Individual: 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
26. 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 logic
ontology FreezerInMyHome =
{ pizza: project with proj:OWL2DLtoRDF %% Project Pizza OWL 2 DL ontology down to RDF
and 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:RDFtoOWL2DL
then { pizza: %% Pizza ontology once more, now keep it in OWL 2 DL
then syntax ser:OWL2/Manchester : { %% Add the OWL part of our ABox
Individual: 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
27. 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 logic
ontology FreezerInMyHome =
{ pizza: project with proj:OWL2DLtoRDF %% Project Pizza OWL 2 DL ontology down to RDF
and 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:RDFtoOWL2DL
then { pizza: %% Pizza ontology once more, now keep it in OWL 2 DL
then syntax ser:OWL2/Manchester : { %% Add the OWL part of our ABox
Individual: 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
28. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Extending the OntoIOp Framework
DOL supports different ontology languages, logics,
serializations, and mappings
But OntoIOp is not limited to a fixed set of ontology languages.
Any existing or future ontology language, logic, serialization, or
mapping will work, if one establishes its conformance with
the OntoIOp criteria
Any such resource shall . . .
be globally and uniquely identified by an IRI
have a machine-readable description (at least RDF)
Why? So that, e.g., agents can find out what an ontology
language can be translated to!
There shall be a central registry of authoritative and
contributed resources, published as linked open data
for now maintained as a static RDF file
soon served through a dedicated Ontohub installation
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 19
29. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
The OntoIOp Registry (Subset)
Serializations Ontology Languages Logics
CLIF
Common Logic Common Logic
XCL
OWL 2 RL DL-RL
Manchester Syntax OWL 2 DL OWL 2 QL DL-LiteR SROIQ
OWL 2 XML OWL 2 EL ++
EL
RDFS RDFS
RDF / XML
Turtle
RDF RDF
supports serialization sublanguage of translatable to
induced translation exact logical expressivity sublogic of
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 20
30. 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 on
them:
We formulate consensual rules under participation of major
stakeholders (here: ontology language communities).
Standards improve suitability of products, processes and
services, . . .
facilitate communication, . . .
reduce complexity (and thus costs), and
increase quality via certification
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 21
31. Interoperability DOL Use Cases Syntax Extensibility Conclusion & Roadmap
Further Roadmap of ISO 17347
currently: Third (last) Working Draft
2012-06-25: ISO/TC 37/SC 3 meeting (here)
2012-08-15: Committee Draft
then: 3 months review/ballot period
Aug 2013: DIS (Draft International Standard)
Feb 2015: FDIS (Final Draft International Standard)
Aug 2015: IS (International Standard)
Mailing list: ontoiop-forum@ontolog.cim3.net
Homepage: ontoiop.org
Become an OntoIOp expert!
Lange et al. The Distributed Ontology Language (DOL): Use Cases, Syntax, and Extensibility 2012-06-20 22