This repo holds only the core Digicities ontology: small, curated, versioned. Domain-specific extensions live in workspaces, not here. See docs/CORE_EVOLUTION.md for the model and the workspace to core promotion lifecycle.
The most impactful contribution. When a concept has been used in ≥2 workpackages and proven stable for a few months, open a PR adding it to core/dici_onto_core.ttl.
The PR should:
- Add the class or property declarations to
core/dici_onto_core.ttl. Use the existing structure as a guide. Group related concepts together. Keep labels and comments crisp. - Carry the full annotation set:
rdfs:label,rdfs:comment, and for classesskos:definition,skos:altLabel(synonyms),skos:example, plus askos:scopeNotewhere the class could be confused with a sibling. These annotations are what onboarding agents map new usecases with — seedocs/AGENT_MAPPING_GUIDE.md. The tests enforce label/comment coverage. - Regenerate the term index (
python tools/generate_term_index.py) and commit the updateddocs/term-index.{json,md}— CI fails on a stale index. - Update
docs/class-hierarchy.mdanddocs/attribute-types.mdif you've added classes that belong in those lists. - Link the originating workspace extensions in the PR description so reviewers can see the prior art.
- Note in the PR body which workpackages were using the concept and for how long.
Run pytest to confirm the core still parses cleanly.
A bug in a class definition, an out-of-date doc, a tooling improvement. Open a regular PR. Keep changes focused. One logical fix per PR.
If you find that two workspace extensions have declared the same dici_onto: IRI with conflicting semantics, open an issue (not a PR) describing the conflict and which workspaces are involved. The knowledge base doesn't try to prevent collisions upfront. See the "Conflict handling" section of docs/CORE_EVOLUTION.md for why. We'll triage and help the workspace authors coordinate.
- New classes or properties that haven't yet been adopted by multiple workpackages. Author them in your own workspace's
ontology/extensions/. - Project-specific naming, taxonomies, conventions, or labelling. Keep them workspace-local.
- Tweaks to the rdfs:label or rdfs:comment of an existing core term to fit your project's wording. Override locally. Don't push project-specific wording into the shared vocabulary.
By submitting a contribution to this repository (core changes, docs, tooling), you agree that your contribution is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0), the same license as the rest of the ontology.
This means:
- Others can freely use, redistribute, and adapt your contribution.
- They must credit the source, typically by linking back to this repo.
- You retain copyright in your contribution.
If your employer holds rights to your work, please confirm they're OK with you contributing under CC BY 4.0 before opening a PR.
Be kind. Disagreements about ontology design are normal. Argue about ideas, not people.
Open a discussion or an issue. If you're not sure whether something belongs in core, in a workspace extension, or somewhere else entirely, ask first. It's much easier than redoing the work later.