User:Malore/Wikidata structure/Versions

From Wikidata
Jump to navigation Jump to search

Issues[edit]

  1. impossibility to distinguish between different types of versions (major, minor, builds...);
  2. 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:

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
Normal rank Windows 10
version type major version
0 references
add reference


add value

Windows 10 (Q18168774)[edit]

software version
Normal rank Windows 10 Version 1511
version type minor version
0 references
add reference


add value

Windows 10 Version 1511 (Q22686609)[edit]

software version
Normal rank Windows 10.0.10586.3
version type build
0 references
add reference


add value

Option 2[edit]

create "major version", "minor version", "build"... properties (all subproperties of "software version").

Microsoft Windows (Q1406)[edit]

major version
Normal rank Windows 10
0 references
add reference


add value

Windows 10 (Q18168774)[edit]

minor version
Normal rank Windows 10 Version 1511
0 references
add reference


add value

Windows 10 Version 1511 (Q22686609)[edit]

build
Normal rank Windows 10.0.10586.3
0 references
add reference


add value