Extension:WikibaseMediaInfo/Data Model/JSON

This document describes the canonical JSON format used to represent Mediainfo entities in the API. This format is currently unstable and subject to change.

For an explanation of the terms used in this document, please refer to the Wikibase Glossary. For a specification of the semantics of the data structures described here, see the MediaInfo Data Model.

JSON FlavorEdit

WikibaseMediaInfo follows the same conventions as Wikibase, as described in Wikibase DataModel JSON Flavor.

Top Level StructureEdit

{
  "entities": {
    "M83198284": {
      "pageid": 83198284,
      "ns": 6,
      "title": "File:Straßenbahn Haltestelle Freizeit- und Erholungszentrum-3.jpg",
      "lastrevid": 371115009,
      "modified": "2019-10-19T08:16:04Z",
      "type": "mediainfo",
      "id": "M83198284",
      "labels": {
        "en": {
          "language": "en",
          "value": "Tram stop in Berlin, Germany"
        },
        "de": {
          "language": "de",
          "value": "Straßenbahn Haltestelle in Berlin"
        }
      },
      "descriptions": {},
      "statements": []
    }
  }
}

The JSON representation consists of the following fields in the top level structure:

pageid
The page id the entity is stored on
title
The title of the page the entity is stored on (this could also include namespace such as 'Item:Q60')
ns
The namespace id the entity is stored in
lastrevid
The JSON document's version (this is a MediaWiki revision ID).
modified
The JSON document's publication date (this is a MediaWiki revision timestamp).
type
The entity type identifier, "mediainfo" for MediaInfo entities.
id
The canonical ID of the entity.
labels
Contains the labels (also known as "captions") in different languages, see Labels below.
descriptions
This field is superseded; see [1] for more information.
statements
Contains any number of statements, grouped by property. See Statements below.

LabelsEdit

{
  "labels": {
    "en": {
      "language": "en",
      "value": "Tram stop in Berlin, Germany"
    },
    "de": {
      "language": "de",
      "value": "Straßenbahn Haltestelle in Berlin"
    }
  },
}

For each language, there is a record using the following fields:

language
The language code.
value
The actual label.

StatementsEdit

{
  "statements": {
      "P180": [
          {
              "mainsnak": {
                  "snaktype": "value",
                  "property": "P180",
                  "hash": "db55dd32d9ab75e7cc6a40f7217f4dab2e162ae7",
                  "datavalue": {
                      "value": {
                          "entity-type": "item",
                          "numeric-id": 158942,
                          "id": "Q158942"
                      },
                      "type": "wikibase-entityid"
                  }
              },
              "type": "statement",
              "qualifiers": {
                  "P1354": [
                      {
                          "snaktype": "value",
                          "property": "P1354",
                          "hash": "fc66de241219792376d16240f4305b4d7a140c83",
                          "datavalue": {
                              "value": {
                                  "entity-type": "item",
                                  "numeric-id": 4590598,
                                  "id": "Q4590598"
                              },
                              "type": "wikibase-entityid"
                          }
                      }
                  ]
              },
              "qualifiers-order": [
                  "P1354"
              ],
              "id": "M53735917$C95AE483-800F-4E34-A278-4F129A027099",
              "rank": "normal"
          }
      ],
      "P170": [
          {
              "mainsnak": {
                  "snaktype": "value",
                  "property": "P170",
                  "hash": "15b3ae706ad0e4de1fd911e2c108f422d290213a",
                  "datavalue": {
                      "value": {
                          "entity-type": "item",
                          "numeric-id": 34788025,
                          "id": "Q34788025"
                      },
                      "type": "wikibase-entityid"
                  }
              },
              "type": "statement",
              "id": "M53735917$DC230D2B-F11B-496B-8169-6CB713670AB1",
              "rank": "preferred"
          }
      ]
      "P6731": [
          {
              "mainsnak": {
                  "snaktype": "value",
                  "property": "P6731",
                  "hash": "caf86f67082da0e2d10079a79bedf327335b0459",
                  "datavalue": {
                      "value": {
                          "entity-type": "item",
                          "numeric-id": 63348069,
                          "id": "Q63348069"
                      },
                      "type": "wikibase-entityid"
                  }
              },
              "type": "statement",
              "id": "M53735917$9A2D4A40-7DAB-43B6-9252-FD0D72E1A064",
              "rank": "normal"
          },
          {
              "mainsnak": {
                  "snaktype": "value",
                  "property": "P6731",
                  "hash": "00effd845d313cc188e25302a8712c2d48647171",
                  "datavalue": {
                      "value": {
                          "entity-type": "item",
                          "numeric-id": 63348049,
                          "id": "Q63348049"
                      },
                      "type": "wikibase-entityid"
                  }
              },
              "type": "statement",
              "id": "M53735917$AAE1B58B-B553-4F46-A138-9F2FBA649423",
              "rank": "normal"
          }
      ]
  }
}

The JSON "statement" entry of a MediaInfo entity corresponds directly to the JSON "claim" entry of a Wikibase entity.

A Statement consists of a main Snak and a (possibly empty) list of qualifier Snaks.

Statements are described in full in the Statements section of the Wikibase DataModel JSON documentation.

There are no restrictions on which properties can be used. WikibaseMediaInfo on production uses properties and Wikibase items federated from Wikidata.