Jump to content

Wikidata/Notes/Entities and Snaks

From Meta, a Wikimedia project coordination wiki

Loose collection of notes about different kinds of entities and their snaks. This page serves as a place to collect brainstorming and discussion notes that can be used later to amend and extend the Wikibase data model specification.

Note: Terminology used in this notes page, may be different from the one used on the actual data model spec. Needs to be synced.


  • property refers to the property definition. E.g. the property population is an entity defined on a wiki page. It exists on one, but can be used (instantiated) on multiple entities.
  • a simple snak refers to the use of a property to assign a plain value to an entity or other structure. Snaks are not given with references, that is, the provenance for a snak is the Wikidata community itself. E.g. the page number in a source reference is an snak; it assigns a plain value (a number) to a property instance ("page"). Note that snaks may be multi-valued. Sometimes other Snaks but PropertyValueSnaks are allowed.
  • special or system snaks are well-known, pre-defined snaks with specific properties that may be represented and handled differently from ordinary snaks. Examples for such properties are: label, description, alias, data-type, categories, etc.
  • a Claim is a sets of snaks; Claims have at least one snak; additional snaks are considered qualifiers.
  • Statements consist of a claim and a (special, multi-value) source-reference snak, and a rank.
  • Qualifiers are additional snaks of claims, see above.
  • Source-Reference is a (special) snak of statements, with a reference record as a data type.
  • Each Source-Reference is a ordered list of snaks, e.g. book (a reference to an item) and page (a number)

  • All special snaks shall be at least readable like regular snaks.
  • All (special and regular) snaks shall be at least readable as statements. Such statements will have a special source reference that refers to the local wiki's community itself.
  • Should statements also be available as snaks, for simplicity? Probably not, that would be misleading.

  • Properties are defined as entities, each property on its own wiki page in the property namespace.
  • Properties have the special snaks label, description and data-type.
  • Properties may have any number of additional snaks, such as help-page or muti-value. Some of these may be known to the system and have a special meaning.
  • All properties defined this way can be used to create statements about items, or qualifiers in claims, or snaks in source references, or snaks of properties, queries, and so on.

  • Queries are defined as entities in their own namespace, using snaks, just like properties.
  • Which snaks should be present in a Query, and what they mean, remains to be determined.

Other entities that may at some point also be defined like this include:

  • Item templates (schemas)
  • Reference templates (schemas)
  • Data types