INCATools / INCATools/semantic-sql

Integrate ENERO Foundry ontologies into Semantic-SQL

Open
#107 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
69
Forks
7
Avg merge
8m
Merged PRs (30d)
1

Description

## Summary
Add first-class support for ENERO Foundry ontologies in Semantic-SQL so they can be built and downloaded the same way we handle other non-OBO ontologies.

The ENERO Foundry is positioning itself as a coordination layer for interoperable energy-domain ontologies, with early ontologies including OEO, CEPO, MENO, MUNO, OTO, and CHIO. Semantic-SQL already has a partial `oeo` entry in `src/semsql/builder/registry/ontologies.yaml`, but the broader ENERO set is not yet modeled here in a consistent way.

## Why
- Energy ontologies are increasingly relevant for FAIR research data workflows.
- ENERO is explicitly trying to make these ontologies interoperable, which aligns well with SemSQL's SQL view layer over OWL/RDF.
- The repo already supports a curated registry of non-OBO ontologies, so ENERO onboarding fits the existing architecture.

## Proposed scope
- Audit candidate ENERO ontologies for stable release URLs, serialization, imports, and licensing.
- Decide which ontologies should be added to `src/semsql/builder/registry/ontologies.yaml`.
- Add registry entries, `prefixmap`s, and any necessary `build_command` overrides.
- Validate that each selected ontology can be turned into a working SemSQL SQLite build.
- Add focused tests or documented smoke-test commands for the new entries.
- Update user-facing docs so the new ontology IDs are discoverable.

## Candidate ontologies
- `oeo` (already present, likely needs validation/refresh)
- `cepo`
- `meno`
- `muno`
- `oto`
- `chio`

## Open questions
- Which ENERO ontologies publish stable machine-readable release artifacts today?
- Do any require non-default preprocessing before `rdftab` / `relation-graph`?
- Should we stage this as `oeo` hardening first, then add the rest incrementally?
- Are there any energy-adjacent artifacts we should explicitly exclude because they are not OWL reference ontologies in the SemSQL sense?

## Acceptance criteria
- At least one additional ENERO ontology beyond `oeo` is integrated end-to-end in the registry.
- The `oeo` entry is verified or corrected against the current upstream release layout.
- New entries are documented and reproducible from a clean checkout.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/semsql/builder/registry/ontologies.yaml, especially the existing oeo entry, and audit the candidate ENERO ontologies for release URLs, serialization, imports, and licensing. Use rdftab and relation-graph to validate selected entries from a clean checkout, then check that at least one ontology beyond oeo builds successfully and that the new IDs are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, sql, sqlite
Domain
databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.