Skip to content

Commit 0ef4ce5

Browse files
chore: Setup BWMD ontology (end-to-end complete)
Auto-generated via Setup New Ontology workflow: - Configured project-odk.yaml (URIs: https://w3id.org/pmd/bwmd/) - Initialized components, imports (SLME), ID ranges - Generated bwmd-edit.owl and bwmd-idranges.owl - Customized README.md with development guides
1 parent eb3dbaa commit 0ef4ce5

43 files changed

Lines changed: 22979 additions & 57 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 69 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,69 @@
1-
# ODK-managed rules, do not modify
2-
# If you need to add your own ignore rules, you may do so below
3-
# the "End ODK-managed rules" marker at the end of this file.
4-
.DS_Store
5-
semantic.cache
6-
bin/
7-
.trunk/
8-
*.tmp
9-
*.tmp.obo
10-
*.tmp.owl
11-
*.tmp.json
12-
*-relation-graph.tsv.gz
13-
.template.db
14-
15-
.github/token.txt
1+
# ODK-managed rules, do not modify
2+
# If you need to add your own ignore rules, you may do so below
3+
# the "End ODK-managed rules" marker at the end of this file.
4+
.DS_Store
5+
semantic.cache
6+
bin/
7+
8+
*.tmp
9+
*.tmp.obo
10+
*.tmp.owl
11+
*.tmp.json
12+
*-relation-graph.tsv.gz
13+
.template.db
14+
15+
.github/token.txt
16+
17+
/bwmd.owl
18+
/bwmd.obo
19+
/bwmd.json
20+
/bwmd.db
21+
/bwmd-base.*
22+
/bwmd-basic.*
23+
/bwmd-full.*
24+
/bwmd-simple.*
25+
/bwmd-simple-non-classified.*
26+
/mappings/
27+
/patterns/
28+
/reports/
29+
/subsets/
30+
31+
src/ontology/mirror
32+
src/ontology/mirror/*
33+
src/ontology/reports/*
34+
!src/ontology/reports/release-diff.md
35+
src/ontology/bwmd.owl
36+
src/ontology/bwmd.obo
37+
src/ontology/bwmd.json
38+
src/ontology/bwmd.db
39+
src/ontology/bwmd-base.*
40+
src/ontology/bwmd-basic.*
41+
src/ontology/bwmd-full.*
42+
src/ontology/bwmd-simple.*
43+
src/ontology/bwmd-simple-non-classified.*
44+
45+
src/ontology/seed.txt
46+
src/ontology/dosdp-tools.log
47+
src/ontology/ed_definitions_merged.owl
48+
src/ontology/ontologyterms.txt
49+
src/ontology/simple_seed.txt
50+
src/ontology/patterns
51+
src/ontology/merged-bwmd-edit.owl
52+
src/ontology/bwmd-edit.properties
53+
54+
src/ontology/target/
55+
src/ontology/tmp/*
56+
!src/ontology/tmp/.gitkeep
57+
!src/ontology/tmp/README.md
58+
59+
src/ontology/run.sh.conf
60+
src/ontology/run.sh.env
61+
62+
src/ontology/imports/*_terms_combined.txt
63+
64+
src/patterns/data/**/*.ofn
65+
src/patterns/data/**/*.txt
66+
src/patterns/pattern_owl_seed.txt
67+
src/patterns/all_pattern_terms.txt
68+
69+
# End of ODK-managed rules

CONTRIBUTING.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Contributing to BWMD Ontology
2+
3+
:+1: First of all: Thank you for taking the time to contribute!
4+
5+
The following is a set of guidelines for contributing to BWMD.
6+
These guidelines are not strict rules. Use your best judgment, and feel free to propose
7+
changes to this document in a pull request.
8+
9+
## Table Of Contents
10+
11+
- [Guidelines for Contributions and Requests](#contributions)
12+
* [Reporting problems with the ontology](#reporting-bugs)
13+
* [Requesting new terms](#requesting-terms)
14+
* [Adding new terms by yourself](#adding-terms)
15+
- [Best practices](#best-practices)
16+
* [How to write a great issue?](#great-issues)
17+
* [How to create a great pull/merge request?](#great-pulls)
18+
19+
<a id="contributions"></a>
20+
21+
## Guidelines for Contributions and Requests
22+
23+
<a id="reporting-bugs"></a>
24+
25+
### Reporting problems with the ontology
26+
27+
Please use our [Issue Tracker](https://github.com/materialdigital/materialdigital/pmdco-bwmd/issues/) for reporting problems with the ontology.
28+
To learn how to write a good issue [see here](#great-issues).
29+
30+
<a id="requesting-terms"></a>
31+
32+
### Requesting new terms
33+
34+
Before you write a new request, please consider the following:
35+
36+
- **Does the term already exist?** Before submitting suggestions for new ontology terms, check whether the term exist,
37+
either as a primary term or a synonym term. You can search for your term using [OLS](http://www.ebi.ac.uk/ols/ontologies/bwmd).
38+
- **Can you provide a definition for the term?** It should be very clear what the term means, and you should be
39+
able to provide a concise definition, ideally with a scientific reference.
40+
- **Is the ontology in scope for the term?** Sometimes, it is hard to tell whether a term "belongs" in
41+
and ontology. A rule of thumb is "if a similar term already exists, the new term is probably in scope."
42+
It can be very helpful to mention a very similar concept as part of the term request!
43+
44+
#### Who can request a term?
45+
46+
Anyone can request new terms. However, there is not guarantee that your term will be added automatically. Since this is a
47+
community resource, it is often necessary to do at least some of the work of adding the term yourself, see below.
48+
49+
#### How to write a new term request
50+
51+
Request a new term _via_ the GitHub [Issue Tracker](https://github.com/materialdigital/materialdigital/pmdco-bwmd/issues/).
52+
53+
It is important to remember that it takes a lot of time for curators to process issues submitted to the tracker.
54+
To make this work easier, please always use issue templates if they are available (https://github.com/materialdigital/materialdigital/pmdco-bwmd/issues/new/choose).
55+
56+
For how to write a good term request, please read the [best practices carefully](#great-issues).
57+
58+
<a id="adding-terms"></a>
59+
60+
### How to add a new term
61+
62+
If you have never editted this ontology before, first follow a [general tutorial](https://oboacademy.github.io/obook/lesson/contributing-to-obo-ontologies)
63+
64+
**Process**:
65+
66+
1. Clone the repository (In case you are not an offical team member, create a fork first)
67+
1. Create new branch in git, for example `git checkout -b issue123`
68+
1. Open src/ontology/bwmd-edit.owl in your favourite editor, i.e. [Protege](https://protege.stanford.edu/). **Careful:** double check you are editing the correct file. There are many ontology files in this repository, but only one _editors file_!
69+
1. Perform your edit and save your changes
70+
1. Commit changes to branch
71+
1. Push changes upstream
72+
1. Create pull request
73+
74+
## Best Practices
75+
76+
<a id="great-issues"></a>
77+
78+
### How to write great issues?
79+
80+
Please refer to the [OBO Academy term request guide](https://oboacademy.github.io/obook/howto/term-request/).
81+
82+
<a id="great-pulls"></a>
83+
84+
### How to create a great pull/merge request?
85+
86+
Please refer to the [OBO Academy best practices](https://oboacademy.github.io/obook/howto/github-create-pull-request/)

README.md

Lines changed: 62 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,66 @@
1-
# application-ontology-template
1+
# BWMD Ontology
22

3-
template repository for starting a PMDCo application ontology. iT comes preconfigured with github workflows using [ontology development kit](https://github.com/INCATools/ontology-development-kit).
3+
Description: PMD Core application ontology generated via ODK Template.
44

5-
## How to use
65

7-
1. Click use as Template Repository
8-
2. Documentation of the application ontology is created via widoco and GitHub Pages when the docs workflow runs.
6+
More information can be found at http://obofoundry.org/ontology/bwmd
97

10-
To enable the documentation, you have to activate GitHub Pages in the repository settings. Set it to GitHub Actions instead of branch; the doc action will upload the artifacts needed after each push to the repository.
11-
3. You need to give GitHub Actions the permissions to read write and create pull requests (checkbox) in the repository settings at actions -> general
12-
4. Run the seed workflow under GitHub Actions, and set the id and uribase_suffix. It will override the default values in [seed-template.yaml](./seed-template.yaml)
13-
14-
Id and uribase_suffix are usually set to the same lowercase acronym that will be used with this ontology; examples are pmdco, tto, hto ...
15-
Github org and repo name will be set automatically by the seed workflow. To run the workflow, switch to GitHub Actions, select the seed workflow, and dispatch the job manually.
16-
5. Check the pull request created! If everything is fine, merge into main.
17-
6. Put your ontology work into the \*-edit.owl file in the src folder; after pushing changes to the repository, the build will run and integrate your changes into the release types defined.
8+
## Versions
9+
10+
### Stable release versions
11+
12+
The latest version of the ontology can always be found at:
13+
14+
https://w3id.org/pmd/bwmd.owl
15+
16+
(note this will not show up until the request has been approved by obofoundry.org)
17+
18+
### Editors' version
19+
20+
Editors of this ontology should use the edit version, [src/ontology/bwmd-edit.owl](src/ontology/bwmd-edit.owl)
21+
22+
## Contact
23+
24+
Please use this GitHub repository's [Issue tracker](https://github.com/materialdigital/materialdigital/pmdco-bwmd/issues) to request new terms/classes or report errors or specific concerns related to the ontology.
25+
26+
## Acknowledgements
27+
28+
This ontology repository was created using the [Ontology Development Kit (ODK)](https://github.com/INCATools/ontology-development-kit).
29+
## Development
30+
This ontology is developed using OWL and managed with the [Ontology Development Kit (ODK)](https://github.com/INCATools/ontology-development-kit). To edit:
31+
- Open `bwmd-edit.owl` (located in `src/ontology/`) in [Protégé](https://protege.stanford.edu/) or your preferred OWL editor.
32+
- Create new entities (classes, properties) within the namespace `https://w3id.org/pmd/bwmd/`.
33+
- Example class ID: `https://w3id.org/pmd/bwmd/BWMD_0000001` (PREFIX is uppercase).
34+
- Use the `Makefile` for automation:
35+
- `make test`: Run quality control (OWL reasoner checks, syntax validation).
36+
- `make refresh-imports`: Update imported ontologies (e.g., PMD Core, LOGO) with SLME extraction.
37+
- `make release`: Build release artifacts (full, base, etc.) in TTL/OWL/JSON formats.
38+
- `make update_repo`: Sync changes to the repo structure.
39+
Quick start: After setup, edit in Protégé, commit, and push to trigger CI builds.
40+
## Repository Structure
41+
This repository provides the modular implementation of BWMD Ontology, developed and maintained using the [Ontology Development Kit (ODK)](https://github.com/INCATools/ontology-development-kit).
42+
### Top-level directories
43+
* **.github/:** GitHub configuration files, including CI workflows and templates.
44+
* **docs/:** Documentation sources for the ontology website and user guides (optional; add as needed).
45+
* **patterns/:** Logical patterns and SHACL shapes used to maintain consistent ontology design (optional).
46+
* **src/:** Main development folder generated and managed through ODK.
47+
* **ontology/components/:** – Modular ontology components (classes, properties, axioms).
48+
* **ontology/bwmd-edit.owl:** – Primary editable ontology file used during development (ontology editors' version).
49+
* **ontology/imports/:** Extracted terms from imported ontologies (via SLME).
50+
### Ontology versions (generated on release)
51+
* **bwmd-full.owl/ttl:** Complete ontology with all imports and full axiomatization.
52+
* **bwmd-base.owl/ttl:** Core entities without extended imports.
53+
* **bwmd-simple.owl/ttl:** Simplified version with basic subclass and existential axioms.
54+
* **bwmd-minimal.owl/ttl:** Lightweight minimal version for quick onboarding (recommended for beginners).
55+
* **bwmd.owl/ttl:** Main ontology file contains the full version.
56+
### Other files
57+
* README.md, LICENSE.txt, CONTRIBUTING.md – Project overview, license, and contribution guidelines.
58+
* imports.txt, components.txt, creators.txt – Configuration for setup (optional edits).
59+
## Contribution
60+
We welcome contributions to the BWMD Ontology ontology!
61+
To get involved:
62+
- Please use this GitHub repository's **[Issue tracker](https://github.com/materialdigital/pmdco-bwmd/issues)** to request new terms/classes or report errors or specific concerns related to the ontology.
63+
- For creation of application ontologies using PMD core ontologies, we advise using the **[application-ontology-template](https://github.com/materialdigital/application-ontology-template/)**. It applies the same framework used here and mirrors the pmdco with all its modules.
64+
- Write about your specific modeling concerns or any other discussable topics in the **[discussion forum](https://github.com/materialdigital/pmdco-bwmd/discussions)**.
65+
- Participate in our **PMD Playground Meetings**: Our Ontology Playground, organized online every second Friday from 1-2 pm (CET), is a great opportunity to connect with developers and our proactive community to shape the PMDco. Please register via our [mailing list](https://www.lists.kit.edu/sympa/subscribe/ontology-playground?previous_action=info).
66+
- If you need further information, please feel free to contact us via **[info@material-digital.de](mailto:info@material-digital.de)**

0 commit comments

Comments
 (0)