Skip to main content

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.

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.

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.
{
  "AIF": {
    "nodes": [],
    "edges": [],
    "schemefulfillments": [],
    "descriptorfulfillments": [],
    "participants": [],
    "locutions": []
  },
  "text": "",
  "dialog": true,
  "ova": {
    "firstname": "",
    "surname": "",
    "url": "",
    "nodes": [],
    "edges": []
  }
}
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

KeyTypeDescription
AIFobjectThe argument graph itself. Contains all nodes, edges, speaker mappings, and scheme annotations.
textstring or objectThe 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>).
dialogbooleanSet 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 / OVAobjectVisualisation 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

The AIF object holds the complete argument graph as a set of arrays.
KeyDescription
nodesAll graph nodes — locutions, propositions, and relation nodes — each typed with a type field.
edgesDirected edges between nodes, encoding the graph topology.
locutionsMappings from L-node IDs to participant IDs, optionally with timestamps.
participantsSpeaker definitions: a participant ID, first name, and surname.
schemefulfillmentsAssociations between relation nodes (RA, CA, MA, YA, TA) and argument scheme IDs from a scheme ontology. May be null.
descriptorfulfillmentsDescriptor-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.
Each extension field is an object whose 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.

Build docs developers (and LLMs) love