SEPIO evidence links and skill reliance¶
Indicium 2.0.0 corrects two SEPIO bindings before its first package release. The JSON keys stay the same; their RDF predicates change. The LinkML schema defines both bindings, and the packaged JSON-LD context is generated from it.
| JSON key | RDF predicate in 2.0.0 | Meaning |
|---|---|---|
supports_claim |
sepio:0000427 (is_evidence_line_for) |
Evidence line → the Claim it evaluates |
for_claim |
indicium:for_claim |
Local evidence-line-to-Claim link |
asserts |
indicium:asserts |
Downstream skill or consuming resource → a Claim it relies on |
Here sepio:, ro: and eco: expand to
http://purl.obolibrary.org/obo/SEPIO_, http://purl.obolibrary.org/obo/RO_
and http://purl.obolibrary.org/obo/ECO_. The packaged context marks these
underscore-ending bases with @prefix: true for JSON-LD 1.1 expansion.
Why these bindings fit¶
The SEPIO ontology,
whose version IRI is the 2023-06-13 release, declares sepio:0000006
(has_evidence_line) as the inverse of sepio:0000427. Its domain is the union
of proposition (sepio:0000000) and assertion (sepio:0000001); its range is
evidence line (sepio:0000002). Reversing that relation therefore gives an
evidence line → proposition or assertion link. Indicium's Evidence already
binds to the evidence-line class, and a Claim describes the scientific
proposition being evaluated. This selection does not add an OWL equivalence
between asb:Claim and either SEPIO class.
The old supports_claim binding, sepio:0000007
(has_supporting_evidence_line), is a subproperty of has_evidence_line and
runs in the other direction. sepio:0000376 (evidence_item_for) links an
evidence item to an evidence line, so it does not fit an Evidence → Claim
edge. sepio:0000440 and sepio:0000441 also run from an assertion toward
evidence, rather than from an evidence line toward a Claim.
The old asserts binding, sepio:0000130 (authored_by), concerns the agent
that generated information. A skill can rely on a Claim without authoring it.
sepio:0000030 (asserts_proposition) requires a SEPIO assertion as its
subject, while sepio:0000109 (expresses) describes a document stating a
proposition or assertion in its content. Neither captures reliance alone.
indicium:asserts consequently has no external equivalence or close mapping.
It is a schema-declared extension slot with range Claim; the core model does
not introduce a Skill class or attach this slot to Claim.
The regression fixture in tests/fixtures/sepio/ preserves the relevant OWL
axioms and lists its source version, SHA-256 and CC BY 3.0 attribution.
Target and evidence direction¶
supports_claim retains its historical name and its LinkML alias for_claim.
They refer to the same intended target but remain two independent JSON fields
and two distinct RDF predicates. If both are populated, callers should use the
same Claim IRI. The generated model does not copy one field into the other or
enforce agreement. Neither field alone establishes supporting polarity.
Direction belongs on the evidence line as sepio:0000183, with one of:
| Value | Direction |
|---|---|
sepio:0000403 |
supporting |
sepio:0000404 |
disputing |
sepio:0000405 |
inconclusive |
For example, a disputing line still identifies the Claim it evaluates:
@prefix asb: <https://w3id.org/asb#> .
@prefix indicium: <https://w3id.org/indicium/> .
@prefix sepio: <http://purl.obolibrary.org/obo/SEPIO_> .
<urn:example:claim> a asb:Claim ;
asb:context "in vitro" ; asb:subject "A" ;
asb:qualifier "inhibits" ; asb:relation "inhibits" ; asb:object "B" .
<urn:example:evidence> a sepio:0000002 ;
sepio:0000427 <urn:example:claim> ;
sepio:0000183 sepio:0000404 ;
indicium:quote_exact "A does not inhibit B" .
<urn:example:skill> indicium:asserts <urn:example:claim> .
A SEPIO exporter may additionally emit the inverse
claim sepio:0000006 evidence. Only when the evidence direction is known to
be supporting may it use claim sepio:0000007 evidence. Do not reverse an old
incorrect triple mechanically and infer support from the JSON key's name.
An absent direction remains unspecified.
ASB validation annotations¶
ASB's validation bridge already emits sepio:0000183 with the three direction
values above, and ro:0002558 → eco:0000501 for automatic assertion evidence.
These annotations are unchanged. They are separate from Indicium's Claim
lifecycle (claim_status) and ECO evidence classification (eco_code).
@prefix asbval: <https://w3id.org/asb/validation#> .
@prefix sepio: <http://purl.obolibrary.org/obo/SEPIO_> .
@prefix ro: <http://purl.obolibrary.org/obo/RO_> .
@prefix eco: <http://purl.obolibrary.org/obo/ECO_> .
<urn:example:assessment> a asbval:ClaimAssessment ;
sepio:0000183 sepio:0000403 ;
ro:0002558 eco:0000501 .
The core LinkML model has no dedicated ASB assessment class or direction
slot. Non-closed SHACL permits these external annotations but does not validate
their values on assessment nodes. ASB owns that validation contract and its
assessment-class alignment to SEPIO's evidence-line domain. Passing Indicium
SHACL does not certify an ASB validation record. sepio:0000174 denotes the
statement class, not a qualifier property.
https://w3id.org/indicium/context.jsonld does not resolve yet; the
URI scheme page says where to load the context from until it does.
Updating consumers¶
Keep JSON keys supports_claim, for_claim and asserts. Refresh embedded
context copies from indicium-standard 2.0.0, then regenerate RDF that was
expanded with the earlier context. In such old RDF, Evidence → Claim edges
using SEPIO_0000007 need SEPIO_0000427, and skill-reliance edges using
SEPIO_0000130 need indicium:asserts. Restrict any migration to those known
uses: legitimate claim-side support and authorship triples must retain their
SEPIO predicates. Records referring to the central context need no key rewrite;
their expanded RDF and any cached context still need refreshing.
The packaged context is available without an HTTP request through
importlib.resources.files('indicium.schema').joinpath('context.jsonld').
See URI scheme for namespace documentation and instance IDs.