AODM 1.2 provides the nineteen features below.
Each is recorded against this release rather than against AODM in general — while the current release is 1.2, the features on this page are the features of 1.2 — so when 1.3 adds to the list, which features 1.2 had is still answerable.
Core ontology
Four knowledge primitives — entity, relationship,
fact, rule — cover things, the links between them,
assertions about them, and the conditional statements that connect assertions.
Provenance
<aodm:source> records where a statement came from, with a URI,
a title, when you retrieved it, and separately when the source itself made the
claim.
Confidence
<aodm:confidence> carries a value from 0.0 to 1.0, optionally
tagged with the method that produced it, so uncertainty travels with the data
instead of being lost at the boundary.
Structured measurement
<aodm:value> expresses a quantity as a number with a unit and
an optional tolerance, or as a min/max range. Units follow UCUM codes. No
regex-parsing magnitudes out of prose.
Temporal validity
valid-from and valid-to bound when an assertion holds.
Superseded knowledge is excluded from current queries but retained for audit,
never silently deleted.
Polarity
polarity="negative" states that something is known to be false,
which is a different claim from having no information. Both the format and the
rules keep the two apart.
Derivation tracking
derived-from records which rule and which facts produced an inferred
statement, so you can answer “why is this believed?” and trace every
conclusion that rests on a given source.
Content hashing
Self-describing digests (sha256:…) let the same fact arriving
from two pipelines be recognised as one fact rather than ingested twice.
Dual serialisation
Every document can be written as XML or as JSON, with a field-for-field mapping between them. Both forms have a published, tested schema.
Documented validation rules
Referential integrity, cardinality, measurement, temporal and provenance rules that no schema language can express are specified separately, with two named conformance levels.
Online validator
Paste a document and check it against every rule in the specification, in the browser. Nothing is uploaded and nothing is stored.
Reference parsers
Open implementations in Python, JavaScript, Java and C#, each dependency-free. They read AODM, enforce every validation rule, and write it back out. Four independent implementations is also how the specification itself gets tested.
XBRL converter
Complete support for the XBRL 2.1 instance syntax, so financial filings become AODM without re-authoring anything — periods, units, dimensions, tuples, footnotes and stated accuracy all carried across.
Self-generated knowledge
origin="generated" marks a claim a system proposed
rather than observed, and <aodm:evidence> quotes the
passage that prompted it, with a locator. A proposal can be reviewed in
seconds instead of re-reading the source.
Graph compiler
Compiles to Neo4j, RDF Turtle, GraphML and Graphviz. Facts, rules and sources become nodes — which is what makes “what rests on this source?” a single traversal rather than a full scan.
Inference engine
Forward chaining with confidence propagation, time-scoped evaluation, explanation and retraction. Evaluation semantics are specified, so two conformant engines reach the same conclusions.
LLM context builder
Renders a document into prompt-ready context that carries the trust signals with it, so a model can hedge accurately instead of stating everything with equal confidence.
HTML embedding profile
One data-aodm attribute annotates an existing page in place, with
no runtime dependency and no effect on rendering. The online validator extracts
it straight from a live page.
Citable by AI search
Generative engines repeat claims they can attribute. A fact carrying its source, confidence and validity window is one an engine can verify rather than paraphrase, and the markup adds no script and no render cost.
Every element and attribute above is defined in the documentation, with the full reference tables and a worked example for each.