Reference

xBRL-JSON extension properties

GrAffitI annotates the xBRL-JSON documents it exports with a small set of presentation properties describing where each fact appeared in the source filing.

Namespace

The extension properties live in the namespace

https://stechanalytics.com/xbrl-json/extensions

declared in documentInfo/namespaces under the prefix gi. If the source document already binds gi to another namespace, Graffiti keeps that binding and tries graffiti, then graffiti2, graffiti3 and so on, using the first that is free or already bound to this namespace; the properties then carry that prefix instead. Always resolve the prefix through documentInfo/namespaces rather than assuming the literal string gi.

These are extension properties: additional properties on facts, which the xBRL-JSON 1.0 specification permits on the report, fact and documentInfo objects as long as they are prefixed names whose prefix is declared in documentInfo/namespaces for a namespace outside xbrl.org. The specification does not say how a processor should treat ones it does not know; common processors such as Arelle ignore them. For a strict tool, switch off Graffiti labels in the xBRL-JSON view and the export is a bare instance with no gi:* properties and no namespace declaration; the facts are identical either way.

Extension properties are not extension taxonomies. They add information about presentation to a fact; they define no concepts, so no schema (XSD) is needed or published.

Stability: properties may be added, never removed or redefined, and the namespace URI is permanent.

Properties

Each property may appear on any object in the facts map, numeric or not. The value is always a string. A property is omitted when the source filing gives the fact no such context (a fact tagged outside any table carries none of them) and when Graffiti labels is off.

PropertyValueMeaning
gi:rowLabel String; omitted when the fact has no row caption. The label of the table row the fact was presented on in the source filing: the human-readable line-item caption, e.g. Turnover or Registered number.
gi:columnLabel String; omitted when the fact sits under no column heading. The heading of the table column the fact appeared under, typically a period or entity heading, e.g. 2019 or a signatory's name.
gi:tableName String; omitted when the fact is outside any named table or statement. The name of the table or statement the fact belongs to, derived from the document's section structure, e.g. Income statement.

Example

{
  "documentInfo": {
    "documentType": "https://xbrl.org/2021/xbrl-json",
    "features": {
      "xbrl:canonicalValues": true
    },
    "namespaces": {
      "core": "http://xbrl.frc.org.uk/fr/2019-01-01/core",
      "scheme": "http://www.companieshouse.gov.uk/",
      "gi": "https://stechanalytics.com/xbrl-json/extensions"
    },
    "taxonomy": [
      "https://xbrl.frc.org.uk/FRS-102/2019-01-01/FRS-102-2019-01-01.xsd"
    ]
  },
  "facts": {
    "fact-3309b82f69b3adab": {
      "value": "1000.0",
      "decimals": 0,
      "dimensions": {
        "concept": "core:TurnoverRevenue",
        "entity": "scheme:01820489",
        "period": "2018-01-01T00:00:00/2019-01-01T00:00:00",
        "unit": "iso4217:GBP"
      },
      "gi:rowLabel": "Turnover",
      "gi:columnLabel": "2018",
      "gi:tableName": "Income statement"
    }
  }
}