Extension:WikibaseMediaInfo/Data Model

This is a living document, describing the conceptual data model used by WikibaseMediaInfo. It is not a specification of any concrete binding, implementation, mapping, or serialization.


 * MediaInfo:
 * Caption
 * Description
 * Statements

The data model of WikibaseMediaInfo describes the structure of the data that is used to describe media files and content in Wikibase. The WikibaseMediaInfo extension embeds such machine readable descriptions on file description pages. This data model is conceptual ("Which information do we have to support?") and does not specify how this data should be represented technically ("Which data structures should the software use?") or syntactically ("How should the data be expressed in a file?"). Separate documents describe the serialization of the Wikibase data model in JSON and in RDF (Resource Description Framework). The MediaInfo data model defines basic concepts and relationships needed to describe media files and content, which act as a fixed ontology. This ontology provides a minimal scaffolding that allows Items and Statements to be used for detailed modeling of media files and content. The specification of the MediaInfo data model is based on the Wikibase data model, so the Wikidata glossary and the Wikibase data model primer may be helpful in understanding this document. The MediaInfo data model aims to align with established standards for describing media content and files. TBD: which established standards, and how do we relate to them.

MediaInfo
A MediaInfo entities describes some kind of media content or file. Media content and files are described using the following information:


 * An ID. MediaInfo entities have IDs starting with an "M" followed by a natural number in decimal notation, e.g. . These IDs are unique within the repository that manages the MediaInfo entity. The ID can be combined with a repository's concept base URI to form a unique URI for the MediaInfo entity.
 * A file name for maintaining a reference to the media file as managed by MediaWiki. Like the ID, this is is immutable, and part of the identity of the MediaInfo entity. TBD: we can't store this, we have to look it up on the fly. Maybe it would be better to not make this part of the conceptual model.
 * A Caption for use as a short name for a media content or file, particularly in listings. The caption may also be used as a sub-title when embedding the image elsewhere.
 * A Description for use as a human readable description of the media content or file.
 * A list of Statements to describe properties of the media content or file (e.g. painted by or recorded at or license or material)

Caption
The caption is a short name for the media content or file. The intended use is similar to that of a descriptive file names, but without any technical details (like the file extension) and translatable. Note that the caption does not have to be unique, it should just be descriptive.

Captions are not simple strings, but MultilingualTextValues, so users can see media files represented in their preferred language.

Description
The description is a human readable description of the origin and content of the media file. The intended use for display on the file description page.

Description are not simple strings, but MultilingualTextValues, so users can see media files described in their preferred language.

Descriptions can contain limited inline markup, like links, bold, italic, sub- and super-script. It will not support block level markup like paragraphs, lists, or tables. It will also not support embedding media files. ''TBD: Decide on markup details. Consider storing a DOM (HTML?) instead of text.''