diff --git a/.github/emmocheck_conf.yml b/.github/emmocheck_conf.yml index bf4838e8..461cd35c 100644 --- a/.github/emmocheck_conf.yml +++ b/.github/emmocheck_conf.yml @@ -1,12 +1,7 @@ # Configurations used when running emmocheck from the ci_emmocheck workflow -test_class_label: +test_namespace: exceptions: - - 3DPrinting - -test_number_of_labels: - exceptions: - - foaf.logo - + - manufacturing.EngineeredMaterial test_quantity_dimension: exceptions: - emmo.ModelledQuantitativeProperty @@ -45,9 +40,3 @@ test_unit_dimension: - emmo.SIBaseUnit - emmo.SIUnitSymbol - emmo.SIUnit - -enable: - - test_physical_quantity_dimension - -skip: - - test_quantity_dimension diff --git a/.github/pages-index.html.in b/.github/pages-index.html.in index 0a278c64..5c5a9236 100644 --- a/.github/pages-index.html.in +++ b/.github/pages-index.html.in @@ -18,8 +18,8 @@
-

The Elementary Multiperspective Material Ontology (EMMO)

- +

Elementary Multiperspective Material Ontology (EMMO)

+
The Elementary Multiperspective Material Ontology (EMMO) is the result of a multidisciplinary effort within the EMMC, aimed at the development of a standard representational ontology framework based on current materials modelling and characterization knowledge. Instead of starting from general upper level concepts, as done by other ontologies, the EMMO development started from the very bottom level, using the actual picture of the physical world coming from applied sciences, and in particular from physics and material sciences.

@@ -27,9 +27,9 @@ The EMMO has grown from the bottom (i.e. scientific application field) to the to

Links

Releases

@@ -37,9 +37,8 @@ The EMMO has grown from the bottom (i.e. scientific application field) to the to - Compacted ontology1 - Inferred ontology2 - Renamed ontology3 + Compacted1 ontology + Inferred ontology (compacted1) Documentation @@ -49,31 +48,17 @@ The EMMO has grown from the bottom (i.e. scientific application field) to the to turtle rdf/xml turtle - rdf/xml - turtle html pdf ${versions} - -

-
- 1. - In the compacted ontology, all modules has been squashed together into a single file - with no imports. rdfs:isDefinedBy annotations referring to the original module IRI - have been added. -
- 2. - Inferred ontologies are reasoned and compacted. -
- 3. - In a renamed ontology has the numerical ID part of the IRIs been - replaced with human readable prefLabel's. - The original IRI is available via a skos:exactMatch annotation. - The renamed ontologies are also compacted and inferred. -

+1. + With "compacted ontology", we here mean that all + the top and middle level modules are joint together into a single + file with no imports. + diff --git a/.github/workflows/ci_emmocheck.yml b/.github/workflows/ci_emmocheck.yml index 25f670fc..515307d7 100644 --- a/.github/workflows/ci_emmocheck.yml +++ b/.github/workflows/ci_emmocheck.yml @@ -25,4 +25,4 @@ jobs: - name: Check EMMO run: | - emmocheck --local --url-from-catalog --verbose --check-imported --configfile=.github/emmocheck_conf.yml emmo.ttl --skip test_namespace --skip test_quantity_dimension + emmocheck --local --url-from-catalog --verbose --check-imported --configfile=.github/emmocheck_conf.yml --skip=test_namespace --skip test_unit_dimension emmo.ttl diff --git a/README.md b/README.md index 572324bd..07a8339d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -![CI tests](https://github.com/emmo-repo/EMMO/workflows/Check%20conventions/badge.svg) [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) +![CI tests](https://github.com/emmo-repo/EMMO/workflows/Check%20conventions/badge.svg) [![GitHub release](https://img.shields.io/github/v/release/emmo-repo/emmo)](https://emmo-repo.github.io/) -[![DOI](https://zenodo.org/badge/189387204.svg)](https://zenodo.org/badge/latestdoi/189387204) - # Elementary Multiperspective Material Ontology (EMMO) @@ -22,9 +20,9 @@ * [Top Level](#top-level) * [Middle Level](#middle-level) * [Reference Level](#reference-level) - * [Domain Ontologies](#domain-ontologies) - * [Application Ontologies](#application-ontologies) - * [EMMO Relations](#emmo-relations) + * [Domain ontologies](#domain-ontologies) + * [Application ontologies](#application-ontologies) + * [EMMO relations](#emmo-relations) * [Repository Description](#repository-description) * [How to Use It](#how-to-use-it) * [Pre-inferred ontology and documentation](#pre-inferred-ontology-and-documentation) @@ -36,7 +34,7 @@ EMMO is a multidisciplinary effort to develop a standard representational framework (the ontology) for applied sciences. It is based on physics, analytical philosophy and information and communication technologies. It has been instigated by materials science to provide a framework for knowledge capture that is consistent with scientific principles and methodologies. It is released under a Creative Commons [CC BY 4.0](LICENSE.md) license. ### Some words about the new name and logo -The name _Elementary Multiperspective Material Ontology_ (former European Materials and Modelling Ontology) should be understood as follows: +The name _Elementary Multiperspective Material Ontology_ should be understood as follows: - **Elementary** means, amongst others, that EMMO is a discrete ontology assuming the existence of a smallest possible 4D world object in space and time. The term _Elementary_ in EMMO refers to objects that cannot be divided further in space. Elementary also emphasizes EMMO being a fundamental, top-level ontology. - **Multiperspective** highlights a very important aspect of EMMO - that it is possible to describe the world from different perspectives. This makes the ontology both flexible and expressive. - **Material** (as the opposite of immaterial) emphasises that EMMO is strictly nominalistic, meaning that it assumes that abstracts do not exist. _Material_ also refers to the historical scope of EMMO aiming at the description of materials and thus to cover the needs of physicists and applied scientists. @@ -52,45 +50,67 @@ A lot can be said about the logo: ## EMMO in a Nutshell -The EMMO ontology is structured in shells, expressed by specific ontology fragments, that extends from fundamental concepts to the application domains, following the dependency flow. This hierarchical structure is illustrated in the figure below, where "top" is the top-level EMMO that all EMMO-complaint ontologies depends on. -[This repository](https://github.com/emmo-repo/EMMO) hosts the EMMO top, middle and reference level ontologies. - -![EMMO hierarchy.](doc/emmo-hierarchy.png) +The EMMO ontology is structured in shells, expressed by specific ontology fragments, that extends from fundamental concepts to the application domains, following the dependency flow. ### Top Level -The [EMMO top level](top/top.ttl) is the group of fundamental axioms that constitute the philosophical foundation of the EMMO. It starts from causality and mereology, from which it derives space and time. Adopting a physicalistic/nominalistic perspective, the EMMO defines real world objects as 4D objects that are always extended in space and time (i.e. real world objects cannot be spaceless nor timeless). For this reason abstract objects, i.e. objects that does not extend in space and time, are forbidden in the EMMO. +The [EMMO top level](top/top.ttl) is the group of fundamental axioms that constitute the philosophical foundation of the EMMO. +It starts from causality and mereology, from which it derives space and time. +Adopting a physicalistic/nominalistic perspective, the EMMO defines real world objects as 4D objects that are always extended in space and time (i.e. real world objects cannot be spaceless nor timeless). +For this reason abstract objects, i.e. objects that does not extend in space and time, are forbidden in the EMMO. EMMO is strongly based on the analytical philosophy dicipline semiotic. -The role of abstract objects are in EMMO fulfilled by semiotic objects, i.e. real world objects (e.g. symbol or sign) that stand for other real world objects that are to be interpreted by an agent. These symbols appear in actions (semiotic processes) meant to communicate meaning by establishing relationships between symbols (signs). +The role of abstract objects are in EMMO fulfilled by semiotic objects, i.e. real world objects (e.g. symbol or sign) that stand for other real world objects that are to be interpreted by an agent. +These symbols appear in actions (semiotic processes) meant to communicate meaning by establishing relationships between symbols (signs). -Another important building block of from analytical philosophy is atomistic mereology applied to 4D objects. The EMMO calls it 'quantum mereology', since the there is a epistemological limit to how fine we can resolve space and time due to the uncertanity principles. +Another important building block of from analytical philosophy is atomistic mereology applied to 4D objects. +The EMMO calls it 'quantum mereology', since the there is a epistemological limit to how fine we can resolve space and time due to the uncertanity principles. -The concept of topological connection is used to define the first distinction between ontology entities namely the *Item* and *Collection* classes. Items are causally self-connected objects, while collections are causally disconnected. Quantum mereology is represented by the *Quantum* class. This module introduces also the fundamental mereotopological relations used to distinguish between space and time dimensions. +The [mereotopology](top/mereotopology.ttl) module introduces the fundamental mereotopological concepts and their relations with the real world objects that they represent. +The EMMO uses mereotopology as the ground for all the subsequent ontology modules. +The concept of topological connection is used to define the first distinction between ontology entities namely the *Item* and *Collection* classes. +Items are causally self-connected objects, while collections are causally disconnected. +Quantum mereology is represented by the *Quantum* class. +This module introduces also the fundamental mereotopological relations used to distinguish between space and time dimensions. -The *CausalObject* is the class of all the individuals that stand for world objects that are a self-connected composition of more than one quantum object and whose temporal parts are always self-connected. It also define the *Elementary* class, that restricts mereological atomism in space as causal chains of quantum objects and *CausalSystem*, that are non-elementary causal objects. +The *CausalObject* is the class of all the individuals that stand for world objects that are a self-connected composition of more than one quantum object and whose temporal parts are always self-connected. +It also define the *Elementary* class, that restricts mereological atomism in space as causal chains of quantum objects and *CausalSystem*, that are non-elementary causal objects. -![The EMMO top level.](doc/top.png) +![Figure 1. The EMMO top level.](doc/top.png) -In EMMO, the only univocally defined real world object is the *CausalObject* individual called **Universe** that stands for the universe. Every other real world object is a composition of elementaries up to the most comprehensive object; the **Universe**. Intermediate objects are not univocally defined, but their definition is provided according to some specific philosophical perspectives. This is an expression of reductionism (i.e. objects are made of sub-objects) and epistemological pluralism (i.e. objects are always defined according to the perspective of an interpreter, or a class of interpreters). +In EMMO, the only univocally defined real world object is the *CausalSystem* individual called **Universe** that stands for the universe. +Every other real world object is a composition of elementaries up to the most comprehensive object; the **Universe**. +Intermediate objects are not univocally defined, but their definition is provided according to some specific philosophical perspectives. +This is an expression of reductionism (i.e. objects are made of sub-objects) and epistemological pluralism (i.e. objects are always defined according to the perspective of an interpreter, or a class of interpreters). ### Middle Level -The middle level of EMMO embraces pluralism by providing different ways to describe the world according to different perspectives. EMMO also allow to combine different perspectives to gain additional expressivity. The *Perspective* class collects the different ways to represent the objects that populate the conceptual region between the elementary and universe levels. +The middle level of EMMO embraces pluralism by providing different ways to describe the world according to different perspectives. +EMMO also allow to combine different perspectives to gain additional expressivity. -![The EMMO perspectives.](doc/perspective.png) +The *Perspective* class collects the different ways to represent the objects that populate the conceptual region between the elementary and universe levels. -The *Physicalistic* perspective class introduces the concept of real world objects that have a meaning for the ontologist under an applied physics perspective. +![Figure 2. The EMMO perspectives.](doc/perspectives.png) + +The *Reductionistic* perspective class uses the fundamental non-transitive parthood relation, called direct parthood, to provide a powerful granularity description of multiscale real world objects. +The EMMO can in principle represents the **Universe** with direct parthood relations as a direct rooted tree up to its elementary constituents. -The *Reductionistic* perspective class uses the fundamental non-transitive parthood relation, called direct parthood, to provide a powerful granularity description of multiscale real world objects. The EMMO can in principle represents the **Universe** with direct parthood relations as a direct rooted tree up to its elementary constituents. +The *Holistic* perspective class considers the importance and role of the whole and introduces the concept of real world objects that unfold in time in a way that has a meaning for the EMMO user, through the definition of the classes *Process* and *Participant*. -The *Perceptual* perspective class introduces the concept of real world objects categorized accordingly to human perception mechanisms by stimulating a perception (e.g. a retina impression) on the ontologist. Under this branch the EMMO categorises e.g. formal languages, pictures, geometry, mathematics and sounds. Phenomenic objects can be used in a semiotic process as signs. +The *Perceptual* perspective class introduces the concept of real world objects that can be perceived by the user as a recognisable pattern in space or time. +Under this class the EMMO categorises e.g. formal languages, pictures, geometry, mathematics and sounds. +Phenomenic objects can be used in a semiotic process as signs. + +The *Physicalistic* perspective class introduces the concept of real world objects that have a meaning for the ontologist under an applied physics perspective. -The *Semiotics* perspective introduces the concepts of the *semiosis* process that have the *semiotic entities* (*Sign*, *Object*, *Interpretant* and *Interpreter*) as spatial parts. It is inspired by Pierce semiotics and forms the basis in EMMO to represent e.g. models, formal languages, theories, information and properties. +The *Semiotics* perspective introduces the concepts of the *semiosis* process that have the *semiotic entities* (*Sign*, *Object*, *Interpretant* and *Interpreter*) as spatial parts. +It is inspired by Pierce semiotics and forms the basis in EMMO to represent e.g. models, formal languages, theories, information and properties. +This forms the basis in EMMO to represent e.g. models, formal languages, theories, information and properties. -The *Holistic* perspective class considers the importance of the 4D *whole* and the *role* of its mereological parts. +![Figure 3. The semiotic level.](doc/semiotics.png) -The *Persistence* perspective consider 4D objects as they extend in time (*process*) or as they persist in time (*object*). It introduce a sometime useful categorizations that characterize persistency through continuant and occurrent concepts, even though this distinction is only cognitively defined. +The *Persistence* perspective consider 4D objects as they extend in time (*process*) or as they persist in time (*object*). +It introduce a sometime useful categorizations that characterize persistency through continuant and occurrent concepts, even though this distinction is only cognitively defined. The figure below show the module dependency graph of the EMMO middle level. In addition to the above perspectives, it contain two additional modules; *persholistic* that combine the holistic and persistence perspective and *symbolic* that combine perceptual and reductionistic. @@ -98,10 +118,9 @@ In addition to the above perspectives, it contain two additional modules; *persh ![EMMO middle level module dependency graph.](doc/modules.png) - ### Reference Level -EMMO comes with a set of generic reference ontologies that combine perspectives with ontologisations of common concepts like materials, math, units, etc. intended to be shared by domain ontologies. The reference ontologies are intended to be used by domain ontologies and imported separately using the IRIs listed in the below table with the current set of reference ontologies. - +EMMO comes with a set of generic reference ontologies that combine perspectives with ontologisations of common concepts like materials, math, units, etc. intended to be shared by domain ontologies. +The reference ontologies are intended to be used by domain ontologies and imported separately using the IRIs listed in the below table with the current set of reference ontologies. | Reference ontology | IRI | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -121,41 +140,47 @@ Typically they import one of the versions of EMMO listed on [https://emmo-repo.g The following table lists the public EMMO-based domain ontologies that we are aware of. Please create an issue if you have a public domain ontology that you think should be listed here. -| Domain ontology | IRI | -| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| Characterisation Methodology Domain Ontology (CHAMEO) | [https://github.com/emmo-repo/domain-characterisation-methodology](https://github.com/emmo-repo/domain-characterisation-methodology) | -| Battery Interface Ontology (BattINFO) | [http://BIG-MAP/BattINFO](https://github.com/BIG-MAP/BattINFO) | -| Domain Ontology for Additive Manufacturing (DOAM) | [http://emmo.info/doam](https://github.com/emmo-repo/doam) | -| General Process Ontology (GPO) | [http://General-Process-Ontology/ontology](https://github.com/General-Process-Ontology/ontology) | -| Ontology for the Battery Value Chain (BVC) | [http://Battery-Value-Chain-Ontology/ontology](https://github.com/Battery-Value-Chain-Ontology/ontology) | -| Crystallography | [http://emmo.info/domain-crystallography](https://github.com/emmo-repo/domain-crystallography) | -| Mechanical Testing | [http://emmo.info/domain-mechanical-testing](https://github.com/emmo-repo/domain-mechanical-testing) | -| Microstructure domain ontology | [http://emmo.info/domain-microstructure](https://github.com/emmo-repo/domain-microstructure) | -| Datamodel ontology | [http://emmo.info/datamodel-ontology](https://github.com/emmo-repo/datamodel-ontology) | -| Mappings ontology | [http://emmo.info/domain-mappings](https://github.com/emmo-repo/domain-mappings) | -| Atomistic and Electronic Modelling | [http://emmo.info/domain-atomistic](https://github.com/emmo-repo/domain-atomistic) | -| EMMO example domain ontologies | [http://emmo.info/EMMO/tree/master/domain](https://github.com/emmo-repo/EMMO/tree/master/domain) | - +| Domain ontology | Link | +| --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| Characterisation Methodology Domain Ontology (CHAMEO) | [https://github.com/emmo-repo/domain-characterisation-methodology](https://github.com/emmo-repo/domain-characterisation-methodology) | +| Battery Interface Ontology (BattINFO) | [https://github.com/BIG-MAP/BattINFO](https://github.com/BIG-MAP/BattINFO) | +| General Process Ontology (GPO) | [https://github.com/General-Process-Ontology/ontology](https://github.com/General-Process-Ontology/ontology) | +| Ontology for the Battery Value Chain (BVC) | [https://github.com/Battery-Value-Chain-Ontology/ontology](https://github.com/Battery-Value-Chain-Ontology/ontology) | +| Crystallography | [https://github.com/emmo-repo/domain-crystallography](https://github.com/emmo-repo/domain-crystallography) | +| CIF ontology | [https://github.com/emmo-repo/CIF-ontology](https://github.com/emmo-repo/CIF-ontology) | +| Domain Ontology for Additive Manufacturing (DOAM) | [https://github.com/emmo-repo/doam](https://github.com/emmo-repo/doam) | +| Mechanical Testing | [https://github.com/emmo-repo/domain-mechanical-testing](https://github.com/emmo-repo/domain-mechanical-testing) | +| Microstructure domain ontology | [https://github.com/emmo-repo/domain-ontology](https://github.com/emmo-repo/domain-ontology) | +| Datamodel ontology | [https://github.com/emmo-repo/datamodel-ontology](https://github.com/emmo-repo/datamodel-ontology) | +| Mappings ontology | [https://github.com/emmo-repo/domain-mappings](https://github.com/emmo-repo/domain-mappings) | +| Open Translation Environment Interface Ontologies (OTEIO) | [https://github.com/emmo-repo/oteio](https://github.com/emmo-repo/oteio) | +| Atomistic and Electronic Modelling | [https://github.com/emmo-repo/domain-atomistic](https://github.com/emmo-repo/domain-atomistic) | +| EMMO example domain ontologies | [https://github.com/emmo-repo/EMMO/tree/master/domain](https://github.com/emmo-repo/EMMO/tree/master/domain) | ### Application Ontologies -EMMO application ontologies are engineered for a specific use or application by reusing and extending concepts from one or more domain ontologies. Even though that the delineation between "domain" and "application" ontologies are somewhat arbitrary, a main difference is that the application ontologies are generally not developed for reuse by other domain or application ontologies, while such reuse is the main focus of domain ontologies. - +EMMO application ontologies are engineered for a specific use or application by reusing and extending concepts from one or more domain ontologies. +Even though that the delineation between "domain" and "application" ontologies are somewhat arbitrary, a main difference is that the application ontologies are generally not developed for reuse by other domain or application ontologies, while such reuse is the main focus of domain ontologies. -## EMMO Relations -All EMMO relations are subrelations of either: *mereological*, *topological* or *semiotical*. The relation hierarchy extends more vertically (i.e. more subrelations) than horizontally (i.e. less sibling relations), facilitating the categorisation and inferencing of individuals. +### EMMO relations +All EMMO relations are subrelations of either: *mereological*, *topological* or *semiotical*. +The relation hierarchy extends more vertically (i.e. more subrelations) than horizontally (i.e. less sibling relations), facilitating the categorisation and inferencing of individuals. -Imposing all relations to fall under mereology, topology or semiotics is how the EMMO force the developers to respect its perspectives. Two entities are related only by parthood (mereology), contact (topology) or by standing one for another (semiosis): no other types of relation are possible within the EMMO. +Imposing all relations to fall under mereology, topology or semiotics is how the EMMO force the developers to respect its perspectives. +Two entities are related only by parthood (mereology), contact (topology) or by standing one for another (semiosis): no other types of relation are possible within the EMMO. The figure below shows the full graph of all relations of in the middle level EMMO ontology. ![Relations in the middle level EMMO.](doc/relations.png) - ## Repository Description -You can find the EMMO ontology at [http://emmo.info/emmo](http://emmo.info/emmo), which include the top and middle levels of EMMO. The reference level sub-ontologies are intended to be imported individually using the IRIs provided in the table above. +You can find the EMMO ontology at [http://emmo.info/emmo](http://emmo.info/emmo). The basic structure of the EMMO is collected by the [top](top/top.ttl) ontology. + +The overall middle level ontologies are collected by the [emmo](emmo.ttl) ontology. + +Examples of common extensions of EMMO middle can be found in the [domain](domain) sub-directory. The OWL2-DL sources are available in turtle format. Other formats are available from [https://emmo-repo.github.io/](https://emmo-repo.github.io/). @@ -168,13 +193,17 @@ In order to be able to view and navigate the EMMO ontology we recommend to downl See [these instructions](doc/protege-setup.md) for how to set up Protégé for working with EMMO-based ontologies. -The fastest way to access the EMMO is to open the ontology via Protégé via the menu under *File -> Open from URL...* and copy the URL [http://emmo.info/emmo](http://emmo.info/emmo): Protégé will automatically download all the necessary dependencies. +The fastest way to access the EMMO is to open the ontology via Protégé via the menu under *File -> Open from URL...* and copy the URL [http://emmo.info/emmo](http://emmo.info/emmo): +Protégé will automatically download all the necessary dependencies. The EMMO hierarchy will be visible only after reasoning inference: use *ctrl-R* to start the reasoner and under the *Entities* tab, select the *Classes* subtab and *Inferred* in the scroll button. -It is recommended to use FaCT++ as reasoner. You can select it through the menu *Reasoner*. An instruction for how to install the FaCT++ plugin on Protege 5.5.0 on Windows can be found in the [doc subdirectory](doc/installing_factplusplus.md). +From EMMO 1.0.0-beta5 it is recommended to use HermiT as reasoner (distributed by default with Protege). +For earlier EMMO versions is FaCT++ the recommended reasoner. +You can select it through the menu *Reasoner*. +An instruction for how to install the FaCT++ plugin on Protege 5.5.0 on Windows can be found in the [doc subdirectory](doc/installing_factplusplus.md). -To access EMMO from Python, we recommend [EMMOntopy](https://github.com/emmo-repo/EMMO-python/) (former EMMO-python). +To access EMMO from Python, we recommend [EMMOntoPy](https://github.com/emmo-repo/EMMOntoPy) (former EMMO-python). ## Pre-inferred ontology and documentation @@ -186,6 +215,7 @@ Browsable documentation and pre-inferred versions of EMMO are available on [http You can contact EMMO Authors via emmo@emmc.eu + ### Acknowledgement This work has been supported by several European projects, including: diff --git a/doc/perspectives.png b/doc/perspectives.png new file mode 100644 index 00000000..c8eee9e0 Binary files /dev/null and b/doc/perspectives.png differ