Property talk:P306

From Wikidata
Jump to navigation Jump to search

Documentation

operating system
operating system (OS) on which a software works or the OS installed on hardware
Representsoperating system (Q9135)
Data typeItem
Template parameteroperating system from en:template:Infobox software (or any Template:Infobox software (Q5621231))
Domainsoftware (Q7397), appliance (Q1183543), programming language (Q9143), video game (Q7889), video game compilation (Q16070115), typeface (Q17451) or computer model (Q55990535)
ExampleGoogle Chrome (Q5583814)Android (Q94)
NEC PC-100 (Q2052495)MS-DOS (Q47604)
Tracking: sameno label (Q42533413)
Tracking: usageCategory:Pages using Wikidata property P306 (Q22012876)
Tracking: local yes, WD nono label (Q101363704)
Lists
Proposal discussionProposal discussion
Current uses
Total50,530
Main statement48,80996.6% of uses
Qualifier1,7093.4% of uses
Reference12<0.1% of uses
Search for values
[create Create a translatable help page (preferably in English) for this property to be included here]
Value type “operating system (Q9135): This property should use items as value that contain property “instance of (P31), subclass of (P279)”. On these, the value for instance of (P31), subclass of (P279) should be an item that uses subclass of (P279) with value operating system (Q9135) (or a subclass thereof). (Help)
Exceptions are possible as rare values may exist. Exceptions can be specified using exception to constraint (P2303). Known exceptions: cross-platform (Q174666)
List of violations of this constraint: Database reports/Constraint violations/P306#Value type Q9135, SPARQL
Scope is as main value (Q54828448), as qualifier (Q54828449): the property must be used by specified way only (Help)
Exceptions are possible as rare values may exist. Exceptions can be specified using exception to constraint (P2303).
List of violations of this constraint: Database reports/Constraint violations/P306#Scope, SPARQL
Allowed entity types are Wikibase item (Q29934200): the property may only be used on a certain entity type (Help)
Exceptions are possible as rare values may exist. Exceptions can be specified using exception to constraint (P2303).
List of violations of this constraint: Database reports/Constraint violations/P306#Entity types
This property is being used by:

Please notify projects that use this property before big changes (renaming, deletion, merge with another property, etc.)

Discussion[edit]

Use for?[edit]

Should this be used for "installed operating system" as well? For example, iPad comes with iOS 6 installed, and used in info boxes for such products. Danrok (talk) 17:27, 21 March 2013 (UTC)[reply]

I would like to know this, too. I think we should split this up, because it has two opposite meanings. Or not..? --#Reaper (talk) 20:43, 10 April 2013 (UTC)[reply]
I think that it may be useful. For example, not all iPads come with iOS 6 (I'm sure the first iPad didn't), and stating that the iPad 2 or iPad (third generation) came both with iOS is correct but incomplete, because you are avoiding which specific version of the software was the preinstalled one. — ΛΧΣ21 21:47, 18 April 2013 (UTC)[reply]

For hardware[edit]

Following the discussions at

and given the use made of this property, I will add hardware/installed operating system to the description. --  Docu  at 18:20, 25 August 2013 (UTC)[reply]

I think it needs to be more clear. Possibilities include pre-installed OSes, and compatible OSes. Should we only include pre-installed OS, the one the manufacturer ships with the hardware? Danrok (talk) 22:38, 28 August 2013 (UTC)[reply]

device constraint[edit]

I think the device constraint is incorrect in requiring that an item be a instance of a device subclass. The property is presumably intended to be used on items for phone or tablet models, which should only be subclasses of device, not instances of device (individual phones would be the instances). I noticed the warning on Redmi (Q15954223), which seems fine as subclass of (P279) smartphone (Q22645). Ghouston (talk) 03:49, 7 April 2018 (UTC)[reply]

I suppose if mobile phone series (Q20488450) was a subclass of mobile phone (Q17517) the problem may go away in this instance. Ghouston (talk) 03:52, 7 April 2018 (UTC)[reply]
Hmm, didn't help. Ghouston (talk) 03:54, 7 April 2018 (UTC)[reply]
I changed the constraint to be subclass of (P279) of software (Q7397) or appliance (Q1183543) and that fixed it. Ghouston (talk) 08:14, 13 April 2018 (UTC)[reply]
@Ghouston: But the item should also be allowed to be an instance of (P31), not subclass of (P279), software (Q7397). How can we fix it? --Neo-Jay (talk) 17:42, 15 April 2018 (UTC)[reply]
I'll have to look into it, I'm not really familiar with how constraints work. Or maybe we could find somebody who does understand this stuff to look at it. Ghouston (talk) 23:12, 15 April 2018 (UTC)[reply]
It could be split into two constraints, one for devices and one for software. There would probably still be cases where it was wrong though. Ghouston (talk) 23:15, 15 April 2018 (UTC)[reply]
Like if there was an item for an individual computer, it would be a instance and not a subclass but could still have an OS. It should accept both instances and subclasses. Ghouston (talk) 23:18, 15 April 2018 (UTC)[reply]
I found I could set it to "instance or subclass of". That seems to fix it. Ghouston (talk) 23:29, 15 April 2018 (UTC)[reply]
@Ghouston: Great! "Instance or subclass of" (Q30208840) works! Thank you so much! --Neo-Jay (talk) 00:03, 16 April 2018 (UTC)[reply]
@Neo-Jay, Ghouston: WikiProject Informatics has more than 50 participants and couldn't be pinged. Please post on the WikiProject's talk page instead. Phones are definitely not operating systems. A more appropriate property would be platform (P400) View with SQID if we agree to extend the scope to non gaming console devices, but creating a property specifically for OSes to extend it to (some) hardware platform (only phones) is a big nonsense. author  TomT0m / talk page 10:32, 19 January 2019 (UTC)[reply]
/o\ Nope, my bad, I got confused and thought it was a constraint on the values of the property, sorry for the noise. This makes sense now /o\ author  TomT0m / talk page 11:20, 19 January 2019 (UTC)[reply]

Restrict to devices[edit]

This property is currently being used for two different relationships: the operating system that software runs on, and the operating system installed on a device. Properties are supposed to express a relationship between two items, and since creating new properties is easy, it doesn't seem like a good idea to use a single property for different relationships.

I propose that we use this property only for hardware devices, as in Zenith Z-171 (Q189608) operating system (P306) MS-DOS (Q47604). In this case we don't even need to create a new property, since platform (P400) can be used to express the relationship between software and its platform. Operating systems are a kind of platform. There's no need to have different properties for different kinds of platforms, in the same way that there's no need for different kinds of employer (P108) properties for different kinds of employers (government employee, council employee, company employee ...) That's because properties only express a relationship between two items, they don't need to also describe the items, since items describe themselves. Ghouston (talk) 22:00, 28 March 2019 (UTC)[reply]

I'm honestly unsure what the best outcome would be. The two properties intersect in frustrating ways. For example saying some software runs on the Windows platform is fine. Or saying that it runs on Windows 95 is fine (do people call Windows 95 a "platform"). Your proposal eliminates our ability to be super specific with the support OS. On the other hand nobody ever bothers saying what version of macOS software runs on even though there are compatibility issues inside of that platform. Basically it's a mess and I think the best option is to just include both for now. BrokenSegue (talk) 11:59, 9 February 2021 (UTC)[reply]
I don't think there'd be any problem with using Windows 95 as a platform value. But I think there's a problem, when you have a statement A P306 B, that you don't even know which direction the relationship is going. Perhaps A is hardware and B is an operating system (software) running on A, or perhaps B is hardware and A is software that runs on B. Ghouston (talk) 12:15, 9 February 2021 (UTC)[reply]
@Ghouston: I agree bidirectional properties are sub-optimal but that seems to be a bigger problem on wikidata. You can generally infer the direction from the type of instance of (P31). Maybe the solution is to add new properties to distinguish the two use cases? Changing the semantics of an existing property drastically seems problematic and not just because of the huge amount of work fixing it would be. BrokenSegue (talk) 13:58, 9 February 2021 (UTC)[reply]
We can write scripts to deal with a huge amount of fixing. Perhaps new properties could be created and old ones deprecated, but I'm not sure it's necessary. Ghouston (talk) 21:08, 9 February 2021 (UTC)[reply]
My concern is that we won't be able to write scripts that reliably tell which property to migrate to (what if something is both hw and sw or is a subclass, there are always ambiguous cases). Also, it's hard to know what to do when we don't know who is using what properties and making what assumptions about them. BrokenSegue (talk) 17:04, 14 February 2021 (UTC)[reply]
@Ghouston, @BrokenSegue: I see that this is an old discussion, but here is an idea: Add a qualifier subject has role (P2868) with either software dependency (Q56859575) (for software that depends on the operating system) or computing platform (Q241317) (for the platform on which the operating system runs) as the value. That allows for both hardware and software platforms. Maybe make the qualifier mandatory. Additional roles may be considered, though I don't have any suggestions for that now. No need to create new properties, or to change the semantics of existing ones. SM5POR (talk) 09:53, 26 October 2022 (UTC)[reply]

Bare hardware platform applications[edit]

@Jsamwrites, @FabC, @TomT0m: Some computers have been delivered with application software that runs directly on the hardware platform, without a general-purpose operating system in between. An example is the Amstrad PCW (Q478833) which was sold in the 1980s as a word processor, booting LocoScript (Q6665936) from a 3-inch floppy disk (Q55721367). It could however also run CP/M (Q219528) simply by booting it from another floppy.

Adding a claim operating system (P306) LocoScript (Q6665936) is possible, but results in a complaint that LocoScript isn't an operating system. I agree that it's not. How should the value-type constraint issue be resolved, then? Is there an unnamed, generic pseudo-operating-system layer that could be made the object of an operating system (P306) claim, perhaps with a qualifier used by (P1535) to indicate which software application runs in this mode? Or should the operating system (P306) property be avoided altogether when the application isn't an actual operating system? SM5POR (talk) 16:52, 26 October 2022 (UTC)[reply]

@SM5POR: I think operating system (P306) should not be used at all in such cases, since there is no operating system involved and the software handles everything. I think that the claims could instead be added to LocoScript (Q6665936) using platform (P400) Amstrad PCW (Q478833). In this way, users searching searching for software/OS running on Amstrad PCW (Q478833) can easily find them. John Samuel (talk) 17:43, 26 October 2022 (UTC)[reply]