A Claim node for scientific documents
The open scientific publishing ecosystem is converging on a shared set of standards. OXA (Open Exchange Architecture) defines how to represent a scientific document — its sections, figures, math, code, and metadata — as typed JSON nodes. CiTO (Citation Typing Ontology) defines 40+ typed relationships between documents — supports, extends, disagrees with, uses method from. Discourse Graphs defines how to represent scientific knowledge as a graph of Questions, Claims, Evidence, and Sources.
OXA is backed by Curvenote, Stencila, eLife, and others. CiTO is the standard vocabulary in the SPAR (Semantic Publishing and Referencing) ecosystem. Discourse Graphs is an active academic project with formal OWL semantics and JSON-LD exports.
The gap
None of these standards can represent the individual claims a scientific paper makes.
OXA defines headings, paragraphs, images, code blocks, and citations — but not the propositions those elements are arguing for. CiTO types the relationships between papers — but not between the claims within a paper. Discourse Graphs defines Claim and Evidence nodes — but as a manual note-taking ontology, not as elements embedded in published documents.
What's missing is a Claim node: a typed, addressable element within a scientific document that carries a proposition, a role in the argument (hypothesis, empirical result, prediction, control), an anchor to a specific figure panel, and typed edges to other claims.
What we propose
We are drafting an OXA RFC to add a Claim node type to the specification. A Claim is a block-level OXA node — the same kind of element as a Heading or a Code block — with three additions:
A role
Nine values describing the claim's function in the paper's argument. This vocabulary extends Stencila's existing Claim types (which cover theorems and proofs) into empirical science:
A panel anchor
Which figure panel(s) the claim is grounded in. Panels are the natural unit of reproducible science: one panel, one computation, one result.
Typed edges to other claims
Following the same pattern OXA uses for citations (RFC0005), each edge carries a relation type from the CiTO vocabulary. Six of our 14 edge types map directly to CiTO. Eight require extensions — defined as CiTO subproperties so that standard queries still find them:
The gap is telling — CiTO covers the social relations between papers but misses the logical relations within arguments. Those missing types are what makes a claim graph different from a citation graph.
What it looks like
A hypothesis from Headley 2026, expressed as an OXA Claim node:
{
"type": "Claim",
"identifier": "hypothesis-distinct-compartmental-roles",
"role": "hypothesis",
"children": [{
"type": "Text",
"value": "Perisomatic and distal dendritic inhibition serve
distinct computational roles in regulating neuronal output."
}],
"relations": [
{ "xref": "prediction-distal-dendritic-spike-mechanism",
"relationType": "claimrel:entails" },
{ "xref": "prediction-beta-optimal-distal",
"relationType": "claimrel:entails" }
]
} The evidence
The full 10-paper eLife corpus is expressed in this format: 231 claims, 503 typed relations, all 9 roles and 14 edge types. Also exported as Discourse Graphs JSON-LD.