Wikidata/Notes/Entities and Snaks
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