User:Malore/Wikidata structure/Versions
Issues[edit]
- impossibility to distinguish between different types of versions (major, minor, builds...);
- impossibility to distinguish between software versions and software editions.
Issue 1[edit]
Currently, it's impossible to distinguish between major versions, minor versions, builds, etc. This is due to the fact that:
- there is only a property for software versions: software version identifier (P348);
- often Wikidata has an item only for a software as a whole and not for its versions.
As a consequence, often software version identifier (P348) lists major version, minor versions, releases... all mixed together. Needless to say that I've never seen something like version type (P548) → minor version
as a qualifier (it doesn't even exists an item like "minor version").
Proposal: treat software as we treat books[edit]
First, create an item for every version (major, minor...) of every software.
In order to organize the hierarchy of items about books we have a common model (FRBR: Work → Expression/Manifestation → Exemplar) and so we need only two propertes to link Work with Expression/Manifestation (has edition or translation (P747) and its inverse edition or translation of (P629)) and Expression/Manifestation with Exemplar (exemplar of (P1574)). With software versions, such a common model doesn't exists (as far as I know). To represent all the various version numbering schemes (for example, MAJOR.MINOR.PATCH or MAJOR.MINOR.REVISION.BUILDNUMBER) adopted by softwares, I think we have two options:
- create a property (and its inverse property) for every version type: we'll have "major version", "major version of", "minor version", "minor version of", "build", "build of", "release", "release of"... properties;
- create only a "software version" property (different from software version identifier (P348) because with an item datatype) and its inverse "software version of" AND consistently use version type (P548) qualifier.
Here are examples of the two options:
Option 1[edit]
Create a "software version" property and use version type (P548) as qualifier in order to indicate the version type. Optionally, create a "software version scheme" to verify that the version scheme is respected.
Microsoft Windows (Q1406)[edit]
software version |
| ||||||||||||
add value |
Windows 10 (Q18168774)[edit]
software version |
| ||||||||||||
add value |
Windows 10 Version 1511 (Q22686609)[edit]
software version |
| ||||||||||||
add value |
Option 2[edit]
create "major version", "minor version", "build"... properties (all subproperties of "software version").
Microsoft Windows (Q1406)[edit]
major version |
| ||||||||||
add value |
Windows 10 (Q18168774)[edit]
minor version |
| ||||||||||
add value |
Windows 10 Version 1511 (Q22686609)[edit]
build |
| ||||||||||
add value |