A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

CEON

The Circular Economy Ontology Network provides a shared vocabulary in the form of a network of ontologies to support efficient decentralized sharing of industry data in circular economies.
https://github.com/LiUSemWeb/CEON

Category: Sustainable Development
Sub Category: Taxonomy and Ontology

Keywords

circular-economy circular-value-network onto-deside ontology-network

Keywords from Contributors

routing

Last synced: about 1 hour ago
JSON representation

Repository metadata

An Ontology Network for the Circular Economy Domain

README.md

CEON: Circular Economy Ontology Network

The Circular Economy Ontology Network (CEON) provides a shared vocabulary in the form of a network of ontologies to support efficient decentralized sharing of industry data in circular economies.

Developer guidelines

The CEON repository uses GitHub Actions to automate the the generation of ontology documentation and to publish content to https://liusemweb.github.io/CEON/. The action is configured to trigger whenever a pull request is merged into the main branch.

The code on the main branch is stable, properly tested and should be viewed as the latest realease of the code. No changes should be made directly on the main branch (see below).

Development happens primarily on the development branch (develop), which should ideally always be working, although this is not always realistic. When the development branch has undergone proper testing, a pull request is created, and the changes are merged into main.

When developing or adding a new feature, a specific feature branch should be branched off from the development branch (e.g. feature/awesome_new_feauture). A new feature should be regarded as any logically connected set of changes or additions, regardless of how many files are being changed. A feature branch can also be created directly from an issue using the web interface. When the feature branch has undergone sufficient testing, a pull request is created and the changes are merged into develop.

When working on an issue it's good to also reference to them in your commit messages. For example:

$ git commit -m "resolve issue #123"

Adding a ontology pattern or module

The easiest way to publish a new ontology or ontology module is to follow the steps below:

  1. Checkout the develop branch and pull the latest changes
$ git checkout develop
$ git pull
  1. Create a new branch (e.g., update-actor-module-to-version-1.0)
$ git checkout -b update-actor-module-to-version-1.0
  1. Add your ontology or ontology module to the ontology/ directory, e.g. ontology/modules/actor/1.0/actor.owl
  2. Add config info about the file to config.yml:
  - source: "ontology/modules/actor/1.0/actor.owl"
    path: "ontology/modules/actor/"
    version: "1.0"
    latest: true
  1. (optional) Build and check the output
6 ./build.py
  1. Add, commit and push:
$ git add ontolgies/ config.yml
$ git commit -m "update actor module to version 1.0"
$ git push origin update-actor-module-to-version-1.0
  1. From the GitHub page, create a pull request from your branch to develop.
  2. Done!

Building locally

Building the documentation locally is a great way to verify that you don't have any obvious errors in your ontology, and that nothing is missing. The same files are generated in the in main branch automatically.

Requirements

  • Git
  • Python 3
  • Java 8 (or higher)

Setup

  1. Clone the project:
$ [email protected]:LiUSemWeb/CEON.git

Note: Support for password authentication is no longer supported on GitHub. Instead, you should use a personal access token. Please see instructions for more info.

  1. Create a virtual environment for Python and install the requirements:
$ python3 -m venv ceon-venv
$ source ceon-venv/bin/activate
$ pip3 install -r requirements.txt
  1. Build the documentation
$ ./build.py
  1. (optional) Host the generated documentation locally:
$ python3 -m "http.server" -d ./docs 
# navigate to http://localhost:8000/

Versioning

Releases are deployable iterations of the repo that can be packaged and made available for download and use. The project uses semantic version numbering for releases following the pattern: MAJOR.MINOR.PATCH:

  • Patch releases (e.g., going from version v1.0.1 to version v1.0.2) indicate bug fixes or trivial updates)
  • Minor releases (e.g. going from version v1.0.2 to v1.1.0) indicate a change to functionality. This can be any functionality change or new functionality but should not break backward compatability
  • Major releases (e.g. going from version v1.1.0 to version v2.0.0) indicate changes that significantly alter functionality or might break backward compatibility

Releases are created by adding a release tag in the GitHub web interface, which marks a specific commit as meaningful in some way. Each new release should be accompanied by release notes:

  • A patch release should contain a list of bugfixes
  • A minor release should contain a list of changes and usage details
  • A major release should contain a list of removals, a list of additions, and instructions on how to upgrade from the previous version (if needed)

Pre-releases

It sometimes useful to be able to publish a release before all the features are developed and tested. In these cases, the use of semantic versioning still applies; however, the release should be tagged with, e.g., a beta suffix. In the GitHub web interface, define the new tag name (e.g. v1.0.0-beta) and then check the radio button Set as a pre-release prior to publishing the release. When the release has been tested, create a new release without the beta suffix.

Initial development

Any release with major version zero (e.g., v0.1.0) is part of initial development. This indicates that the ontologies should not be considered stable, and that anything may change at any time. This also means that nothing is considered a breaking change until the first non-zero major release. Developers are free to add alternative tags with suffixes to add meaning to these early releases (e.g. release v0.1.0 could at the same time be tagged with v1.0.0-prototype1).

Contact


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 598
Total Committers: 5
Avg Commits per committer: 119.6
Development Distribution Score (DDS): 0.684

Commits in past year: 235
Committers in past year: 4
Avg Commits per committer in past year: 58.75
Development Distribution Score (DDS) in past year: 0.443

Name Email Commits
Robin Keskisärkkä r****a@l****e 189
GitHub Action a****n@g****m 183
Huanyu Li h****i@l****e 168
Eva Blomqvist e****4@g****m 54
anonymous l****o@g****m 4

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 169
Total pull requests: 250
Average time to close issues: about 2 months
Average time to close pull requests: 43 minutes
Total issue authors: 5
Total pull request authors: 3
Average comments per issue: 1.01
Average comments per pull request: 0.01
Merged pull request: 246
Bot issues: 0
Bot pull requests: 0

Past year issues: 78
Past year pull requests: 83
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 4 minutes
Past year issue authors: 4
Past year pull request authors: 3
Past year average comments per issue: 1.14
Past year average comments per pull request: 0.0
Past year merged pull request: 83
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/LiUSemWeb/CEON

Top Issue Authors

  • keski (84)
  • huanyu-li (40)
  • evabl444 (33)
  • elsdvlee (10)
  • gertjandemulder (2)

Top Pull Request Authors

  • keski (118)
  • huanyu-li (103)
  • evabl444 (29)

Top Issue Labels

  • high priority (52)
  • 2nd evaluation (27)
  • evaluation (21)
  • fix (20)
  • modeling (13)
  • enhancement (11)
  • feature (9)
  • module (9)
  • documentation (6)
  • question (6)
  • solved (4)
  • discussion (4)
  • 1st evaluation (3)
  • invalid (1)

Top Pull Request Labels


Dependencies

.github/workflows/main.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • ad-m/github-push-action master composite
requirements.txt pypi
  • beautifulsoup4 *
  • pdfkit *
  • pybars3 *
  • pyyaml *
  • requests *
.github/workflows/develop.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • ad-m/github-push-action master composite

Score: 5.220355825078324