xAIF (Extended Argumentation Interchange Format) is a JSON-based format derived from the AIF specification (Argumentation Interchange Format), designed to serve as the interchange layer for argument mining and annotation pipelines. Where standard AIF enforces strict constraints — such as requiring every relation to have exactly one consequent and at least one antecedent — xAIF relaxes those constraints to accommodate both underspecified graphs (incomplete or evolving structures built piecemeal) and overspecified graphs (structures carrying additional intermediate annotations beyond the formal AIF core). This makes xAIF suitable as the interlingua for the open argument mining framework, functioning as both input and output for all its modules.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/arg-tech/xaif/llms.txt
Use this file to discover all available pages before exploring further.
Top-level JSON structure
Every xAIF document is a JSON object with four primary keys —AIF, text, dialog, and ova — plus any number of optional extension keys added by downstream processing modules.
The OVA visualisation key is serialised as lowercase
ova by XAIF.format() in the Python library. Data exported directly from the OVA (Online Visualisation of Argument) web tool uses the uppercase form OVA. Both forms appear in the wild; treat them as equivalent when parsing xAIF documents.Top-level keys
| Key | Type | Description |
|---|---|---|
AIF | object | The argument graph itself. Contains all nodes, edges, speaker mappings, and scheme annotations. |
text | string or object | The original source text. May be a plain string or an object with a txt key containing HTML <span> annotations that link character spans to node IDs (e.g. <span class="highlighted" id="0">...</span>). |
dialog | boolean | Set to true when the structure represents a multi-party dialogue (i.e. L-nodes are present). Set to false for monologue or proposition-only graphs. |
ova / OVA | object | Visualisation metadata produced by the OVA (Online Visualisation of Argument) tool. Holds the annotator’s name, a URL, and per-node x/y canvas coordinates alongside visibility flags. Serialised as ova (lowercase) by the Python library; OVA (uppercase) in OVA tool exports. |
The AIF section
TheAIF object holds the complete argument graph as a set of arrays.
| Key | Description |
|---|---|
nodes | All graph nodes — locutions, propositions, and relation nodes — each typed with a type field. |
edges | Directed edges between nodes, encoding the graph topology. |
locutions | Mappings from L-node IDs to participant IDs, optionally with timestamps. |
participants | Speaker definitions: a participant ID, first name, and surname. |
schemefulfillments | Associations between relation nodes (RA, CA, MA, YA, TA) and argument scheme IDs from a scheme ontology. May be null. |
descriptorfulfillments | Descriptor-level scheme annotations. May be null or an empty array. |
Extension fields
Downstream argument mining modules can attach their output directly to the top-level xAIF document under custom keys. Common extension fields include:actors— NER and entity-linking output: I-node character spans mapped to URI-identified entities, plus a deduplicated participant list.assumptions,decisive_conditions,events,evidences— structured extractions keyed by node ID.propositionTypes— per-node proposition classification output (e.g.fact,value,policy).locations,observations,risksOpportunities,hypotheses,meansObjectives— domain-specific annotation layers.
nodes array contains entries that reference existing nodeID values in AIF.nodes.
Explore further
Node Types
Learn about the seven AIF node types — L, I, RA, CA, MA, YA, and TA — and how each is structured in JSON.
Edges & Relations
Understand how edges connect nodes, how locutions map speakers to text, and how participants are identified.
Structure Reference
A complete field-by-field JSON schema reference for xAIF documents, including a full worked example.
