OAEI-Bio-ML-eval
OAEI-Bio-ML-eval is the shared, versioned scoring package for the public and organiser-facing OAEI Bio-ML repositories. Version 0.2.1 supports Python 3.10+ and removes Java from the evaluation runtime.
The package provides:
- Track 1 equivalence Precision/Recall/F1 and local MRR/Hits@k;
- Track 2 preferred relation-aware MRR and hierarchy-aware typed nDCG@10;
- explicit micro and macro cross-task aggregation; and
- organiser-computed alignment coherence over shared OWL views using native pyHermiT or pyELK.
Typed/equivalence metric cores and alignment-TSV loaders have no runtime dependencies. RDF parsing and native reasoning are opt-in extras.
Installation
python -m pip install oaei-bioml-eval
python -m pip install 'oaei-bioml-eval[rdf]'
python -m pip install 'oaei-bioml-eval[reasoner]'
# both optional surfaces
python -m pip install 'oaei-bioml-eval[all]'
The reasoner extra installs compatible 0.2-series releases of pyowl-core,
pyHermiT, and pyelk-reasoner. Supported wheels require neither Java nor a
local Rust/C compiler; dependency-level accelerated implementations may be used
when available, while their compiler-free implementations preserve portability.
See installation and deployment.
Python quick start
The metric core accepts ordinary Python collections and has no runtime dependencies:
from oaei_bioml_eval.equivalence import global_prf1
predicted = {("mouse:Heart", "human:Heart"), ("mouse:Liver", "human:Liver")}
reference = {("mouse:Heart", "human:Heart")}
scores = global_prf1(predicted, reference)
assert scores["precision"] == 0.5
assert scores["recall"] == 1.0
CLI
oaei-bioml-equivalence-score global submission.tsv reference.tsv
oaei-bioml-typed-score submission.block.tsv answers.tsv
oaei-bioml-coherence-score global submission.tsv source.owl target.owl \
--reasoner hermit --timeout 7200 --output coherence.json
oaei-bioml-coherence-score local local.test.ranked.tsv source.owl target.owl \
--reasoner elk
Coherence is a degree of incoherence: 0 is clean and larger values are worse.
HermiT is the exact default. A cooperative HermiT timeout alone falls back to
ELK over the same composite and marks the result as an EL lower bound. The
reserved structural command is not currently available: its rule set remains
open and invoking it raises NotImplementedError.
Shared-view API
Callers that already loaded ontologies—such as Exact-OM—can pass the same
pyowl_core.OntologyView objects directly, avoiding serialization and duplicate
parsing:
from oaei_bioml_eval.coherence import score_global_coherence
report = score_global_coherence(
[("https://example.org/Source", "https://example.org/Target")],
source_view,
target_view,
reasoner="hermit",
timeout_s=7200.0,
)
Path, byte, stream, provider, and existing-view inputs are also accepted by the
*_files wrappers. Each source and target input is coerced once through
pyowl-core; one zero-copy composite is shared by signature calculation and
reasoning. OAEI-Bio-ML-eval never imports Exact-OM, so dependency direction
remains clean. See coherence API and semantics.
Aggregation policy
Use aggregate_across_tasks(..., average="micro") for Conference-style pooled
evaluation and average="macro" for equal task weighting used by Bio-ML.
Micro aggregation recomputes metrics from sufficient statistics; it never
approximates them by averaging already-computed percentages.
Reproducibility
Official coherence output includes coherence-provenance/1: package and API
versions, semantic fingerprints, normalized bridge digest, requested/actual
reasoner, timeout/fallback details, profile status, and numerator/denominator
digests. Local paths, timestamps, and Python object identities are excluded from
semantic digests.
The pre-migration metric contract remains byte-frozen in
tests/baselines/metric-contract-v1.json. Historical ROBOT 1.9.10 JSON is kept
only as a quarantined development oracle; it is outside the installable package
and ordinary CI.
Release information
- Documentation index
- 0.2 migration guide
- changelog
- SPDX SBOM
- native-stack specification
- release evidence
Licensed under Apache-2.0. Optional dependencies retain their own licenses; see dependency and license notes.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oaei_bioml_eval-0.2.1.tar.gz.
File metadata
- Download URL: oaei_bioml_eval-0.2.1.tar.gz
- Upload date:
- Size: 101.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b765f9e40003a71e0925a6841fbaba2340704d6e4ea04fc61bca67687a75682
|
|
| MD5 |
3cc18d62728ff9ea00cd029da91929e0
|
|
| BLAKE2b-256 |
dc2d580c5ea361829c6d97c0827e074847186d4a65e1af2c56d5da35e284197e
|
File details
Details for the file oaei_bioml_eval-0.2.1-py3-none-any.whl.
File metadata
- Download URL: oaei_bioml_eval-0.2.1-py3-none-any.whl
- Upload date:
- Size: 73.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26f0b480dd072a33c382a8010ca1137b0c73b873d4c9df417b4578f31d272b16
|
|
| MD5 |
32807d2be75deca710e4bbd832c485ff
|
|
| BLAKE2b-256 |
62d7d9d7806fd46c53ce1c34ddc187872a615541ff72bb2c5ac048df838d6fae
|