Property talk:P306
Documentation
operating system (OS) on which a software works or the OS installed on hardware
List of violations of this constraint: Database reports/Constraint violations/P306#Type Q7397, Q1183543, Q9143, Q7889, Q16070115, Q17451, Q55990535, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P306#Value type Q9135, SPARQL
List of violations of this constraint: Database reports/Constraint violations/P306#Scope, SPARQL
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
editUse for?
editShould 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)
- 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)
- 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)
For hardware
editFollowing the discussions at
- Wikidata:Property_proposal/Archive/7#Installed_operating_system
- Wikidata:Property_proposal/Archive/13#Operating system (en) / Betriebssystem (de)/ Système d'exploitation (fr)/ sistema operativo (it)
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)
- 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)
device constraint
editI 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)
- 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)
- Hmm, didn't help. Ghouston (talk) 03:54, 7 April 2018 (UTC)
- 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)
- @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)
- 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)
- 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)
- 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)
- I found I could set it to "instance or subclass of". That seems to fix it. Ghouston (talk) 23:29, 15 April 2018 (UTC)
- @Ghouston: Great! "Instance or subclass of" (Q30208840) works! Thank you so much! --Neo-Jay (talk) 00:03, 16 April 2018 (UTC)
- @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) 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)
- @Ghouston: Great! "Instance or subclass of" (Q30208840) works! Thank you so much! --Neo-Jay (talk) 00:03, 16 April 2018 (UTC)
- I found I could set it to "instance or subclass of". That seems to fix it. Ghouston (talk) 23:29, 15 April 2018 (UTC)
- @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)
- 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)
- Are you saying that you don't like , you want it instead to be ? Ghouston (talk) 10:47, 19 January 2019 (UTC)
- Or something else? It reminds me of this discussion: Wikidata:Project_chat/Archive/2018/06#relation_between_platform_(P400)_and_operating_system_(P306). Ghouston (talk) 11:03, 19 January 2019 (UTC)
- /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)
- Hmm, didn't help. Ghouston (talk) 03:54, 7 April 2018 (UTC)
Restrict to devices
editThis 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)
- 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)
- 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)
- @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)
- 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)
- 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)
- 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)
- @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)
- 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)
- @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)
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)
- @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)