Skip to content

Commit

Permalink
deploy: c84d5e1
Browse files Browse the repository at this point in the history
  • Loading branch information
xavierr committed Jan 15, 2024
0 parents commit c42166d
Show file tree
Hide file tree
Showing 44 changed files with 16,911 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 090a261bc36f9ff8186470012185ad5d
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added .nojekyll
Empty file.
205 changes: 205 additions & 0 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@

.. toctree::
:includehidden:
:hidden:

self
electrochemistry


Electrochemistry Domain Ontology
================================

.. raw:: html

<!-- [![CI tests](https://github.com/emmo-repo/domain-electrochemistry/workflows/CI%20tests/badge.svg)](https://github.com/emmo-repo/domain-electrochemistry/actions/) -->

The Electrochemistry Domain Ontology is a specialized domain within the
Elementary Multiperspective Materials Ontology
`(EMMO) <https://github.com/emmo-repo/EMMO>`__, that encompasses
essential terms and relationships for electrochemical systems,
materials, methods, and data. Its primary objective is to enable the
creation of linked and FAIR (Findable, Accessible, Interoperable, and
Reusable) data, thereby fostering advancements in research and
innovation within the realm of electrochemistry. This ontology serves as
a foundational resource for harmonizing electrochemical knowledge
representation, enhancing data interoperability, and accelerating
progress in electrochemical research and development.

A reference documentation is available in
`html <https://emmo-repo.github.io/domain-electrochemistry/index.html>`__
and
`pdf <https://emmo-repo.github.io/domain-electrochemistry/electrochemistry.pdf>`__
formats.

Persistent Identifiers
~~~~~~~~~~~~~~~~~~~~~~

This ontology assigns persistent machine-readable identifiers to
concepts from the electrochemistry domain. These identifiers facilitate
data exchange and interoperability among various tools and systems. It
includes annotations to other sources of information including
`DBPedia <https://www.dbpedia.org/>`__ and
`Wikidata <https://www.wikidata.org/>`__.

Standardized Nomenclature
~~~~~~~~~~~~~~~~~~~~~~~~~

The ontology builds on standardized nomenclature for electrochemistry,
relying on recognized authorities including
`IUPAC <https://iupac.org/what-we-do/nomenclature/>`__ and the
`IEC <https://www.electropedia.org/>`__. IUPAC is the
universally-recognized authority on chemical nomenclature and
terminology, and IEC is the the world’s leading organization that
prepares and publishes International Standards for all electrical,
electronic and related technologies. This consistency in naming
conventions enhances collaboration and data sharing.

Key Features
------------

- Seamless integration with the EMMO ontology.
- Provides persistent machine-readable identifiers for electorchemical
systems, devices, methods, datasets, and quantities.
- Standardized nomenclature for electrochemical entities.
- Facilitates data exchange and interoperability within the EMMO
ecosystem.

Usage
-----

Researchers, domain experts, and developers within the electrochemical
communities can utilize the ontology for various purposes, including:

- Incorporating consistent and standardized information into their
modeling and simulation activities.
- Enhancing data interoperability between modeling tools, databases,
and platforms.
- Supporting research projects that require precise and standardized
electrochemical knowledge representation.
- Building applications, databases, or knowledge graphs that leverage
EMMO and require electrochemical information.
- Generating linked data in the semantic web.
- Complying with FAIR data mandates (FAIR Guidelines available
`here <FAIR.md>`__)

Structure and Integration with EMMO
-----------------------------------

The Electrochemistry Domain Ontology is an official domain on the EMMO.
The asserted source consists of two files: - ``electrochemistry.ttl``:
describes terms and object properties for the electrochemistry domain. -
``electrochemicalquantities.ttl``: describes the physical quantities
related to the electrochemistry domain. It is encapsulated to allow it
to be imported by other EMMO domains without needing to import the
entire ontology.

The electrochemistry domain also imports other EMMO domains: - `Chemical
Substance Domain
Ontology <https://github.com/emmo-repo/domain-chemical-substance>`__:
provides material annotations for electrochemical (meta)data.

The import structure is summarized in the following table:

.. list-table::
:header-rows: 1

* - **Imported Ontologies**
- **Version**
* - EMMO
- 1.0.0-beta5
* - chemical-substance
- 0.2.0-alpha

For simplicity, we complie the source files and other imports into a
`pre-inferred
ontology <inferred_version/electrochemistry-inferred.ttl>`__. This is
the result of running the asserted source files through a semantic
reasoner and includes both asserted and inferred properties in a clear
graph.

Getting Started
---------------

Prerequisites
~~~~~~~~~~~~~

Before you begin, we recommend that you install the following tools.
They are not all required, but greatly simplify the process of working
with ontologies:

- `Protégé <https://protege.stanford.edu/>`__ (a graphical ontology
editor)

- Installation instructions are available
`here <https://protege.stanford.edu/software.php#desktop-protege>`__.

- `EMMOntoPy <https://github.com/emmo-repo/EMMOntoPy>`__ (python
package for working with EMMO ontologies)

- Installation instructions are available
`here <https://github.com/emmo-repo/EMMOntoPy#installation>`__.

- `RDFLib <https://rdflib.readthedocs.io/en/stable/>`__ (optional,
python package for working with RDF graphs)

- Installation instructions are available
`here <https://rdflib.readthedocs.io/en/stable/gettingstarted.html>`__.

- `VS Studio Code <https://code.visualstudio.com/>`__ (optional, a code
editor with extensions for RDF formats like TTL and JSON-LD)

- Installation instructions are available
`here <https://code.visualstudio.com/download>`__.

Quick Start
~~~~~~~~~~~

To quickly explore and make use of the ontology, first download the
pre-inferred version `pre-inferred
ontology <inferred_version/electrochemistry-inferred.ttl>`__. You can
then simply open the file in Protégé and explore its content or load the
ontology into python using EMMOntoPy.

In `EMMOntoPy <https://github.com/emmo-repo/EMMOntoPy>`__, you can
choose to import the ontology from your local downloaded copy or
directly from the web. Commands for both options are given below:

.. code:: python
from ontopy import get_ontology
# Loading from local repository
electrochemistry = get_ontology('/path/to/domain-electrochemistry/electrochemistry-inferred.ttl').load(url_from_catalog=True)
# Loading from web
electrochemistry = get_ontology('https://raw.githubusercontent.com/emmo-repo/domain-electrochemistry/master/inferred_version/electrochemistry-inferred.ttl').load()
Contributing
------------

We welcome contributions from the community to enhance and expand the
ontology. If you have suggestions, improvements, or additional chemical
substance information to contribute, please refer to our `Contribution
Guidelines <CONTRIBUTING.md>`__.

Acknowledgements
~~~~~~~~~~~~~~~~

This project has received support from European Union research and
innovation programs, under grant agreement numbers:

- 957189 - `BIG-MAP <http://www.big-map.eu/>`__

License
-------

The Battery Interface Domain Ontology is released under the `Creative
Commons Attribution 4.0
International <https://creativecommons.org/licenses/by/4.0/legalcode>`__
license (CC BY 4.0).

.. |DOI| image:: https://zenodo.org/badge/570454941.svg
:target: https://zenodo.org/badge/latestdoi/570454941


134 changes: 134 additions & 0 deletions _static/_sphinx_javascript_frameworks_compat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
/*
* _sphinx_javascript_frameworks_compat.js
* ~~~~~~~~~~
*
* Compatability shim for jQuery and underscores.js.
*
* WILL BE REMOVED IN Sphinx 6.0
* xref RemovedInSphinx60Warning
*
*/

/**
* select a different prefix for underscore
*/
$u = _.noConflict();


/**
* small helper function to urldecode strings
*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
if (!x) {
return x
}
return decodeURIComponent(x.replace(/\+/g, ' '));
};

/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;

/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};

/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var bbox = node.parentElement.getBBox();
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};

/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();

var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];

return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
Loading

0 comments on commit c42166d

Please sign in to comment.