the distributed ontology language (dol): use cases, syntax, and extensibility
DESCRIPTION
Terminology and Knowledge Engineering (TKE), June 20, 2012, Madríd, Spain.TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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