I am think that we should make use of these two properties, in preference to creating endless specific properties. So, we would claim that iPhone 5S (Q14850354)has part(s) (P527)Apple A7 (Q14887104) instead of creating a SoC property. SoC being similar to CPU. This may mean that the CPU property should be merged and deleted.
At some point we will be able to do complex queries and then it will be obvious that the item we link to is a CPU, because it is in the subclass-tree of CPU. But currently I favour "working-properties" that allow us to sort things out using simple queries and the constraint violations. Once Wikidata gets more intelligent we can quickly move our data to a new property, so no work we do now is lost. --Tobias1984 (talk) 08:27, 27 January 2014 (UTC)[reply]
I don't think we have links to this project yet from the corresponding Wikiprojects in the different languages of Wikipedia. A link with some sort of a logo might be more welcoming to new users of Wikidata. I made a quick attempt, but will gladly accept any other logo for the link. It is not super important and we can always change it later. I also made it into a userbox:
I think that replacing the dark-grey of the piece that covers the hole to silver would make it better. The majority of my flop disks have this piece metalic, silver colour.--MisterSanderson (talk) 00:39, 4 November 2014 (UTC)[reply]
@Tobias1984: I consider a particular algorithm still an instance, although it’s of course not a physical instance of anything. I think this is also more useful, because there’s definitely some difference between, say, merge sort (Q189057) and comparison sort (Q2632949): The latter is a group of algorithms, while you can’t have subclasses of Mergesort. (Quicksort is perhaps a special case because you could see different pivot choices as different versions – i. e. instances – of it.)
a stable sorting algorithm a subclass of sorting algorithms
GNU Emacs is an instance of editing software
Less obvious are:
quicksort and randomized quicksort (neither subclass nor instance of seems appropriate here, as none of the two is a generic class of things. should they be left unrelated (directly)? the closest analogy I would be able to think of is that thet randomized quicksort is a subtype of quicksort. alternatively one can view quicksort simultaneously as a class of sorting algorithms and a specific instance of sorting algorithms.)
GNU Emacs and Emacs: as above, here instance of is probably appropriate if one considers Emacs as a generic class of editing software instead of a specific instance.
The root of the problem is that there is a whole hierarchy of "classyness": sorting algorithms > variations of quicksort > specific variation of quicksort > specific implemenation of a variation of quicksort in some programming language > specific implementation of quicksort in some particular machine code > specific copy of that machine code on some storage media. The place where one draws the binary disitinction between "class" and "instance" is then somewhat arbitrary. Since Wikidata will likely only ever have items the three top-most items in this hierarchy, one will pragmatically consider "sorting algorithms" to be a class, and "quicksort" to be an instance (with the additional complication that "quicksort" can refer to both "variations of quicksort" and some "specific variation of quicksort").
Ruud, DSGalaktos, consider another mundane example: Microsoft Excel. At first glance, many would say "Microsoft Excel instance of (P31) software" (or instance of program, spreadsheet editor, what have you). However, ontologists typically say "Microsoft Excel subclass of (P279) software". Take a glance at this recent paper of the Software Ontology (SWO), which discusses this case in further detail. You can also explore the SWO entry on Microsoft Excel on NCBO BioPortal. Note how the panel at right says "subClassOf Microsoft developed software", and how Microsoft Excel 2007 is a subclass of Microsoft Excel.
Using subclass of for Excel also has practical benefits. Subclass of is the canonical property used by the Semantic Web to specify that all the instances of one class are instances of another. All instances of Microsoft Excel 2007 are instances of Microsoft Excel, etc. Using instance of cannot achieve that powerful entailment. The linked SWO paper describes how useful inferences can be drawn by using subclass of, e.g. inferring that a piece of software is open source in the 'Software licences' section.
As Markus Krötzsch put it in a recent discussion about Porsche 356's: "if it is possible to use subclass of, then it is usually also quite likely that more specific items occur later (Porsche 356 v1 or whatever), and we really will need subclass of to build a hierarchy then".
This includes algorithms, I would say. Consider how SWO classifies the Smith-Waterman algorithm -- via "Smith-Waterman subclass of algorithm". This is directly applicable to quicksort, etc.
Markus and many other Semantic Web researchers have been developing algorithms to do rich inference and querying, but they tend to hinge upon building hierarchies with subclass of (i.e., rdfs:subClassOf). The fact that some entity is a "leaf" in a conceptual hierarchy does not mean that it is necessarily an instance. In fact, most hierarchical leaf nodes in ontologies are treated as classes and linked to their parents via subclass of, not instance of.
So it seems there are solid philosophical and practical reasons to state make statements like "quicksort subclass of sorting algorithm" and "Microsoft Excel 2007 subclass of Microsoft Excel", etc. I think using subclass of (P279) is the way to go here. Emw (talk) 04:51, 10 December 2014 (UTC)[reply]
Hi Tobias1984, and Thank you so much for supporting this property! Not sure if we need a separate property, we can add new URLs as needed. PostgreSQL has many channels related to the project. IMHO, we should have two sub-properties, one for the channel, and another for the network. Or maybe just one value formatted like this: #inkscape on irc.freenode.net.
For mailing lists, why not have a single one generic property, on which we can also add new URLs as needed (archives of dev, help…) ? genium⟨✉⟩09:46, 19 November 2014 (UTC)[reply]
Hi, this is to let you know that we've launched WikiProject Wikidata for research in order to stimulate a closer interaction between Wikidata and research, both on a technical and a community level. As a first activity, we are drafting a research proposal on the matter (cf. blog post). It would be great if you would see room for interaction! Thanks, --Daniel Mietchen (talk) 01:35, 9 December 2014 (UTC)[reply]
@DSGalaktos: I think looking at the type statistics would be a good place to start this cleanup (Wikidata:Database_reports/Constraint_violations/P1195#Types_statistics). If we wan't to change how this property is used for programming languages the structure would be: e.g. for vala "uses file format --> vala-source-file" and the vala-source-file-item could have the statement "file-extension --> vala". Your example is even more difficult. Especially the line between open-(file-format)-standard and file-format seems very blurry. I think the most important thing is that the properties are used consistently. --Tobias1984 (talk) 16:32, 13 February 2015 (UTC)[reply]
@DSGalaktos: I don't think there is a difference between a file format and an open standard*. I think we should have separate items for the formats and applications (if both are notable; having an item for the application might make the item for the file format structurally necessary, but the other way around may not be true). File name extensions (like media type (P1163) and FourCC (Q950009) codes) should be properties of a file format. —Ruud12:57, 16 February 2015 (UTC)[reply]
* An exception might be if the text of the standard is used as a reference. Then we might need a separate item for that work.
@Agabi10: WikiProject Informatics has more than 50 participants and couldn't be pinged. Please post on the WikiProject's talk page instead.
We have a bunch of properties usable to mention the software or hardware platform a software is made to run on. Is it relevant to actually have a platform and an OS property ? There is a lot of edge cases : java software, emulators who are neither one or the other.
I think we should merge the properties. It would simplify the usage and make the propery usable for a video game on a console or consoles as well as a java software who can run on any hardware and OS (usually) the JVM is implemented on. I don't really see any drawbacks to do this. author TomT0m / talk page15:01, 20 October 2015 (UTC)[reply]
Personally I prefer having both and using platform as something more hardware related and OS to define the operating systems, removing properties will only create a problem where people will start considering everything as a platform. For example, some of the current constraint violations for the platform are instances of software engine, which should be used in software engine (P408) instead. If we merge this two properties we should merge also software engine to them. And the list is probably even longer. What we need to do (or at least is what I think) is to limit platform to a more hardware related property and use a bot to clean the constraint violations moving the most used violations to the property they should have. -- Agabi10 (talk) 15:11, 20 October 2015 (UTC)[reply]
Relaxing the constraint could also work to remove the constraint violations, but that the objective is not making the constraint violation reports empty (even if it would be great if we get rid of all the violations of all the properties), the objective should be making the data having sense and at the moment this is not what we have. With this property it is clear that we don't know in what we should use it, and instead of broadening its scope we should move the values which fits better with other properties to the other properties. The operating systems should be used with operating system (P306), the software engines with software engine (P408), the programming languages with programmed in (P277) and so on. We have those properties and we should make a correct use of them. Is the only possible way I can think to remove the inconsistencies of these properties and start knowing what we are obtaining when we are querying this property. -- Agabi10 (talk) 23:47, 20 October 2015 (UTC)[reply]
@Agabi10: This is a clear mapping, but we're talking about the meaning of "platform" or "OS". This actually IS NOT clear ! Because a sofware is usually not made for a specific hardware platform. If you code a software for Java, the hardware platform does not make sense. If you code a software for raw C, the OS does not make sense. A platform like Java however make sense. It does not mean "Language" because ther is several languages on top of the JVM. The only way to handle all this cases is to acknoledge the fact that a platform is a combination of hardware and software sometimes like PS4 platform or Windows/x86 for example (those kind of platforms may even be emulated ...) , other times a portable software platform like a JVM platform. Portable softwares usually tries not to use hardware specific features. We need to redefine our properties to be able to express all that for a good model. author TomT0m / talk page08:33, 21 October 2015 (UTC)[reply]
@!болит: I am posting this here so more people see it and are aware of the issue. Wikidata also saves old versions of software, because we are interested in the history of develpment. For example: "When was versio 1.2 of Gedit released" would be a possible question, that we would like to answer. If the old claims of old versions are removed then this does not work. We need as much people as possible to check the software items and explain to people how and why this is done on Wikidata. --Tobias1984 (talk) 09:16, 21 October 2015 (UTC)[reply]
This is important all over the place :) Think of the properties like "name at birth" who might even not exist. And a danger of client editing if not done right, I'll put that on the relevant input page. author TomT0m / talk page09:30, 21 October 2015 (UTC)[reply]
@TomT0m: Hopefully at some point we will have a super easy interface with lots of easy to understand warning and built-in video tutorials. But at the moment the good faith removal of information, is a problem. It would be nice if IPs and people with less than 1000 edits would need a second check on the removal of claims. --Tobias1984 (talk) 09:33, 21 October 2015 (UTC)[reply]
Hello everyone, I fill a proposal to add a property "PRONOM identifier". As some of you may know, PRONOM is a technical registry (maintained by The National Archives in the UK) that gives information on format and on software that can deal with those formats. Having this information on wikidata, will help to check or cross-control information on formats. You may vote here. Thanks. Toto256 (talk) 17:18, 3 February 2016 (UTC)[reply]
In this page, I can actually read : “if a developer is an organization, the developer (P178) qualifier must be set to the number of employees contributing modifications to the code base”.
I think this qualifier should only be used for the name of the group, the organization, or the developer and not for a number like 3 (Q201) ; so we should use a property which was made for entering numbers. Is number of participants (P1132) good for this use, is there yet another property, or should we create the qualifier “number of developers” (maybe too specific…) — Metamorforme42 (talk) 20:08, 15 July 2016 (UTC)[reply]
Hi, following an idea I had when discussing with @Dachary: on problems with one of my batch edit, I found a pattern of mistakes : software that are also websites. It occured to me that I could pretty simply generates a query to find them all with my work around disjoint union of (P2738).
I then created software artefact (Q27043072) and the following query (modulo the comment I added because of a conceptual bug in the generating code that will be corrected) popped up as a link in the bottom of the talkpage of the item.
To make this work, I had to correct a (stupid) bug in Module:Requests add a claim - that needs to be discussed : any website (Q35127) is a computing process (Q205663).
The result is a list of 89 software that may actually be websites or the converse, similar mistakes than the two Dachary found out.
I was looking for a way to indicate that Yarn (Q28975591) is an alternative to npm (Q7067518), and vice-versa, a bit in the way how AlternativeTo (Q3613175) keeps a graph of software alternatives (ex: Yarn alternatives). While I guess that some cases have way too many alternatives and should then rather be solved by finding all the instances of a given type of software (ex: instances of flight simulator), some softwares share a strong, direct, often competitive, relationship that I think worth signalling by some property. Do you see a property that could be used in this sense, or should I propose a new one? Or do you think it's a plain bad idea? -- Maxlath (talk) 09:49, 22 June 2017 (UTC)[reply]
My personal opinion is to make use of instance of (P31) (in a similar manner to your above query). Some items are instances of multiple items (or classes) and this additional information can be utilized to find alternative software solutions. Jsamwrites (talk) 17:05, 22 June 2017 (UTC)[reply]
If I get this correctly, I would need to create an item for each table entry and I would need a lot of new properties. Is this a valid idea for wikidata? What is the process to request those? I read on Help:Properties that it would be best to request this kind of data on a WikiProject (=here).
I started randomly on this list by adding Q31270335.
Hi, that's an interesting problem - naively I would also think many of these properties would need to be created. We can brainstorm here first to see how to reuse existing ones, and then we can file property proposals for the remaining ones. I think when the values are categories, we can always use has characteristic (P1552) with the appropriate items (to be created, probably). − Pintoch (talk) 21:59, 1 July 2017 (UTC)[reply]
Can we use this project to create an informatics and computer science ontology similar to the scale of MeSH https://meshb.nlm.nih.gov, based on Wikipedia and Wikidata resources. A simple proposal is to identify certain core categories e.g. (taken from Core areas of computer science):
Algorithms and Data Structures
Architecture
Artificial Intelligence and Robotics
Database and Information Retrieval
Human-Computer Communication
Numerical and Symbolic Computation
Operating Systems
Programming Languages
Software Methodology and Engineering
And use subcategories inside each of these to point to fine grained concepts. How to do this in Wikidata can be as follows:
Create a property InformaticsOntologyParent which points to all the parents of a given concept. – The preceding unsigned comment was added byNapsternxg (talk • contribs).
In a very generic way, every VCS is a communication protocol. You have to respect some rules to share and save your data with others. Thinking on it, everything is a communication protocol. I don't know if I'm jocking. --Valerio Bozzolan (talk) 14:28, 31 October 2017 (UTC)[reply]
I am not of the opinion to use 'protocol' as a qualifier of software repository for git (or any other VCS). I would suggest to create a property (version control system) that can be used as a Wikidata qualifier like version type (P548). John Samuel15:46, 4 November 2017 (UTC)[reply]
Although git sometimes is used over SSH or HTTP, it has its own protocol, which is not based on SSH, HTTP or any other application-level protocol. The same for SVN. DrSauron (talk) 07:45, 5 November 2017 (UTC)[reply]
Comment Agreed with DrSauron that a "version control software" property cannot adequately describe how the repository is accessed, as the access is protocol specific (SSH, HTTPS, etc). source code repository URL (P1324) is subproperty of (P1647)URL (P2699) and is therefore a property for describing how a version control system is accessed (protocol and host identifier). Numerous new protocol items would need to be created such as "git via SSH" to clarify the "ssh://" in the subproperty of (P1647) URI string. This Git Internals Transfer Protocols documentation page may also provide some assistance in describing the protocol for this "git via SSH" example. Pixeldomain (talk) 00:34, 8 January 2018 (UTC)[reply]
Hi there! In Maxthon (Q491674) I reverted yesterday en+pl descriptions added by @Jasc PL: freeware web browser for MS Windows and Mac OS X developed in China - spyware included! as I thought this version is not neutral. Hovewer, Jasc PL stated that spyware component of Maxthon is a key feature of this web browser and this information is sourced ([1], link added on the item talk page). I'm not so familiar with software/informatics WD rules and that's why I'm asking here, how this description should be written – and if information about spyware shouldn't be placed in description, are there any other means (by properties and qualifiers) to indicate this information in the item? My discussion with Jasc PL is here and here, but it's in Polish. Wostr (talk) 14:53, 6 February 2018 (UTC)[reply]
What is the best way to model commands and keyboard shortcuts?
My idea is to introduce:
a "command action" property with values like "focus, select/selection, move/motion, delete/deletion, add/addition, display...";
something like a "command object" property with values like "graphical interface elements, part of softwares (e.g. tab, history, addon, bookmark, etc for browsers), file, folder, environment variable, setting...".
Therefore, "cls" command would have "command action: clear" and "command object: screen". Problems could arise for more complex commands that perform multiple or complicated things. --Malore (talk) 22:22, 1 April 2018 (UTC)[reply]
URGENT!
Hi Guys! I would like to inform you that we have the last chance to take a part in discuss about Commons infoboxes in context of computing at Wikidata Infobox - Computing categories. If we are interested in having influence of this project final score - please contribute your needs, proposals, ideas - as soon as possible at the Commons discuss page! Thanks. --Jasc PL (talk) 19:21, 17 April 2018 (UTC)[reply]
What are the best modelled items for your area of interest?
Over the past few months myself and others have been thinking about the best way to help people model subjects consistently on Wikidata and provide new contributors with a simple way to understand how to model content on different subjects. Our first solution is to provide some best practice examples of items for different subjects which we are calling Model items. E.g the item for William Shakespeare (Q692) is a good example to follow for creating items about playwright (Q214917). These model items are linked to from the item for the subject to make them easier to find and we have tried to make simple to understand instructions.
We would like subject matter experts to contribute their best examples of well modelled items. We are asking all the Wikiprojects to share with us the kinds of subjects you most commonly add information about and the best examples you have of this kind of item. We would like to have at least 5 model items for each subject to show the diversity of the subject e.g just having William Shakespeare (Q692) as a model item for playwright (Q214917), while helpful may not provide a good example for people trying to model modern poets from Asia.
You can add model items yourself by using the instructions at Wikidata:Model items. It may be helpful to have a discussion here to collate information first.
I'm running a bot to import data from TOP500 database. However, I've noticed several machines shares the same name (for example POWER CHALLENGE (Q69825182), but diffiers on the TOP500 identifier and location. I've merged few machines before noticing that, so, I want opinions if is better to merge them or not.
@Amitie 10g: Most of the POWER CHALLENGE (Q69825182) TOP500 IDs are for distinct and separate computers. "POWER CHALLENGE" / "R8000" is a type of computer system that is instantiated at many sites. See https://en.wikipedia.org/wiki/SGI_Challenge for more information on this type of computer system. I sugest splitting them back up into separate computer systems, and make them instances of the "R8000" (or other model as applicable) of "POWER CHALLENGE" branded computer. Dhx1 (talk) 05:22, 12 October 2019 (UTC)[reply]
Sorry for this possibly naive suggestion but I am new to this group.
Common Information Model
is an open standard that defines how managed elements in an IT environment are represented as a common set of objects and relationships between them.
Two very common implementations are WMI and OpenLMI.
They define hundreds of classes: CIM_Process, CIM_DataFile, CIM_Directory etc... and their properties. Some are already mentioned here wikipedia:CIM Schema. See for example:
I was wondering if there would be an interest to create these classes into Wikidata ? It would for example complement the Software Ontology (SWO), and provide a solid ontology.
@Rc1959: IMHO, the usability of wikidata as a database is more into the instances instead of the class hierarchy themselves. The classes and their organizations are there as a means to support in connecting the instances of a class with instances of another classes. Pebaryan (talk) 16:10, 6 November 2019 (UTC)[reply]
@Pebaryan: Thanks for the answer. On the other hand, some Wikidata definitions are nearly one-to-one equivalent to CIM data. For example: "process" Q205663 is equivalent to CIM_Process. "computer file" Q82753 is equivalent to CIM_DataFile etc... Rc1959 (talk) 16:25, 2 December 2019 (UTC)[reply]
@Rc1959: Interesting. In that case, I would suggest to create a reusable identifier/reference property to link the existing classes to CIM. I have two concerns though. first, is there any stable URI for CIM Classes? and second, AFAIK the "CIM" is not only exclusively used in computing (from DMTF) but also it is used in electricity (from IEC). i'm just mention it here but i'm not sure if it's going to be an issue or not.
Since last year, this MOF2RDF specification provides an approach to convert MOF-compliant metamodels, that is, CIM models, into OWL Ontologies and vice-versa: About the MOF to RDF Mapping Specification Version 1.0. (I do not know yet if there is a standard implementation). This would automatically provide RDF definitions of all objects defined in WMI and more generally in WBEM, that is, thousands of classes. Rc1959 (talk) 18:39, 16 November 2021 (UTC)[reply]
However, that doesn't make sense IMO. If we take for instance cat (Q300918), then it is definitely true that cat (Q300918)instance of (P31)standard UNIX utility or command (Q18343316). However, it may be GNU cat, OpenBSD cat, Busybox cat or even the original Unix cat. part of (P361)GNU Core Utilities (Q1348204) should thus be removed from all of the items found by the aforementioned query. Eventually, we may also want to create specific Qitems for every common implementation of the Unix utilities. Could I get a sanity check on this before going forward with the removing?
The only thing that those items should be part of (P361) is The Open Group Base Specifications, Issue 7 (Q29466943) or something equivalent, IMO. Those Qitems describe, as far as I can tell, the "concept", or specification, of shell utilities with a specific behavior, not any single specific program that could be then part of (P361) of any software suite. Having part of (P361) of other core utilities/Busybox on the same Qitem would also imply that it is literally the same thing in all of these places, identical source code, VCS history, everything. Because that's what one Qitem means. One specific thing. But each of those has, as far as I know, a different implementation, different accepted flags, different history. --Adrijaned (talk) 20:17, 30 March 2020 (UTC)[reply]
I agree: we need an item for every notable implementation as well as an item for the general concept. That's the only way to handle version numbers and different commandline flags. I also agree that application programming interface (Q165194) isn't suited for this. Not sure which is. Also don't forget to to link the implementations with the general item in both ways with different from (P1889) otherwise people won't notice that there are different items and might mix them up or try merge them. -- MichaelSchoenitzer (talk) 21:20, 31 March 2020 (UTC)[reply]
I'd like to discuss data types and digital representation of information in general, but there doesn't seem to be a corresponding sub-project for data, only separate pages for character encodings and the data structure infobox template, both of which may fit under a 'Data' umbrella. Should one be created?
In particular, I'm right now looking into what may be a bit of ontological confusion as to which items relate to digital data structures and which to the real-world information they represent. Some time ago, text (Q234460) was made a subclass of (P279)string (Q184754) which resulted in a loop as string (Q184754) was already a subclass of (P279)text (Q234460). The loop has since been resolved by the latter (older) sub-class statement being removed, but this sort of thing is bound to happen again, especially when the items involved aren't clearly (and correctly) labelled as well as described in several languages.
I believe that in general, the data structures or data types should not be sub-classes of the corresponding information items (an audio file format is not a sound) or the other way around (a picture is not an array of pixels), as the properties differ between the domains. They do however map to each other in certain respects, and they may have shared, intersecting sub-classes, especially with the commercial distribution of fully digital information products (e-books, streaming media services). The following class pairs deserve to be reviewed as to their mutual relationships (what sub-classes, instances, parts, or other properties go where):
So far I have no indication that computer font (Q1147633) and font (Q4868296) are confused as well (except that the former is a subclass of (P279) the latter, but that just may be ok). However, as we develop tests and criteria to eliminate confusion, the typography domain may of course benefit from those too. Maybe you can find other class pairs to investigate. --SM5POR (talk) 07:00, 22 June 2020 (UTC)[reply]
I forgot to mention File formats and Filesystem as those pages may well fit under a 'Data' umbrella page too, but I don't propose moving anything as I'm unfamiliar with the consequences, and that is not the issue I'm concerned about right now anyway. --SM5POR (talk) 07:36, 22 June 2020 (UTC)[reply]
By 'this project' I can only see that you are referring to Wikidata:WikiProject_Informatics (where I would suggest creating a 'Data' sub-project for the general topic of representing real-world information in digital data formats). Are you saying that file formats and file systems may even be outside the scope of 'Informatics'? I don't see why. We do need to coordinate with other projects to the extent we see issues with the types of information we discuss, but I think the general issue of representing information belongs in Informatics, from where we will find connections elsewhere as needed. I'd illustrate it with a table, the ultimate form of structured expression. --SM5POR (talk) 08:44, 22 June 2020 (UTC)[reply]
Regarding the usage of has characteristic (P1552), I don’t think this works at all. First, being free is not really an « intrinsic » characteristic of the software, you can release the exact same source code or binary, with the exact same features, as a free or not as a free software. This would not change the functioning of the software a bit. An intrinsic characteristic would be the fact that he has some feature. Second, to me has characteristic (P1552) is really very much related to instance of (P31). The difference is that « instance of » domain is a class of object with some characteristic, and has characteristic (P1552) is more the definition of a characteristic. There could basically always be a class associated to some characteristic, for example « bald person » could be associated to baldness (Q181391)
Second, as always, there is a compromise in granularity, and many software types have their own dedicated classes, which have their own wikipedia articles, for example video editing software (Q1373429). You can note that there is a claim video editing software (Q1373429) so its usage ever can help saving statements and editing time. If you want to query all software that have some usage a query like
will find them, wether there is a class or not. I don’t think it’s really a good idea to forbid using such classes, they exists anyway. author TomT0m / talk page15:04, 27 July 2020 (UTC)[reply]
Last, there may be cases where a « feature » property could conflict with « usage » in the case of software, so using classes might help. author TomT0m / talk page15:04, 27 July 2020 (UTC)[reply]
malloc, printf, fopen ... and callable symbols. Which type ?
Any suggestion of an instance for callable and linkable symbols like malloc(), fopen(), etc ... in C libraries ? Same question for methods of C++ classes. Also, a similar type would be needed for Python functions and classes.
It is close to subroutine (Q190686) but handled by linker (Q523796).
There is a lot to consider here. The video game project has a large number of contributors and in some important ways, profiling game software is comparable to profiling other kinds of software.
I do not have a deep insight to share right now but I did want to share the thought that I am thinking of making a comparison between the projects' data models. Bluerasberry (talk)13:47, 22 March 2022 (UTC)[reply]
WD:Scholia is a Wikidata front end which does scholarly profiling, and is best known as tool for browsing the WikiCite collection of WD:WikiProject Source Metadata.
My first attempt at proposing two new properties for modelling the input & output of functions and function-like software has been rightfully rejected because "input" and "output" are too vague for property labels.
I have now drafted a new proposal, you can read the draft at: User:Push-f/invoked with & invocation returns
(note that the proposal is in my user namespace ... it is not yet ready to be voted on).
I would very much welcome your feedback about this new proposal (ideally here :).
My draft currently suggests qualifying optional inputs with nature of statement (P5102)optional (Q59864995) for the lack of a better alternative,
since quantity (P1114) has data type quantity and thus only allows numeric values.
I think it would make sense to introduce a new "quanity of object" qualifier property of data type item,
to allow statements such as:
Xinvoked withAquantity of objectone or zero (A?)
Xinvoked withAquantity of objectone or more (A+)
Xinvoked withAquantity of objectzero or more (A*)
Something else I am not quite certain about is how to model "either or", e.g. that a function takes either a string or an integer.
There are union of (P2737) and disjoint union of (P2738) but these are properties and could not be used as the object.
What do you think about my draft and this qualifier idea?
To define ranges of numeric values, there are the properties lower limit (P5447) and upper limit (P5448). Not sure if a range would be applicable here though. I'd like to consider some other approach to the "quantity of object" idea, so I'm deferring this issue until later.
It's true that the property union of (P2737) cannot be used directly as a value (or even a qualifier) of a statement, but it's used to form combined class items such as goods and services (Q2897903) for use in a business context. I think you could define a similar "combined data type" item such as "string or integer" is the same fashion, though its of (P642) qualifier should be replaced by something else, say has part(s) (P527).
Note also that if you want to qualify either the string or the integer further in some way (such as requiring the integer to be non-negative), you should not put that qualifier on the definition domain (P1568) statement as it would be applied also to any string values, but you will probably have to create yet another item for that particular case ("string or non-negative integer").
If the function has multiple positional input parameters, use multiple data type declarations qualified with series ordinal (P1545); same thing with multiple output values if supported by the programming language (Lisp, Python). For keyword parameters, state the keyword somehow (you had another proposal about that, I think).
While optional (Q59864995) may be an acceptable attribute on the input side, I find it less appropriate on the output side, where a string value may be expected in most cases, but that could be described using a "string or novalue" combined class item. If such an item exists anyway, it could be used on the input side as well. Also, take a look at option type (Q7099015).
In particular, I intuitively object to the nature of statement (P5102) qualifier being assigned to a positional parameter, as it's almost as if that statement could simply have been left out. It may work with a keyword parameter though. SM5POR (talk) 07:14, 17 November 2022 (UTC)[reply]
I didn't find a WikiProject dedicated to electronics, so I guess the following question belongs here:
I have marked logic family (Q173359) as a Wikipedia article covering multiple topics (Q21484471) since the article en:Logic family states that the term refers to one of two related concepts (type of circuitry vs design methodology), though I haven't created items for those concepts yet. Do you agree that they are indeed distinct enough to warrant separate items, and is there maybe already an item for either concept without English labels that has been created for a WP article in some other language (so that it can be used right away rather than merged at some later time)? SM5POR (talk) 09:46, 18 November 2022 (UTC)[reply]
Thank you for responding! Well, I took a guess as I saw you mention IEEE Thesaurus (Q113673155) in a comment on Wikidata:WikiProject Electronic Components. In any case, I ended up creating two new items logic circuit technology family (Q115616667) and logic circuit design methodology (Q115616690), both with "logic family" as an alias, as I prefer the primary labels to be unique (I made up those labels; if they aren't perfect I invite anyone to fix them). I haven't re-linked any of the WP articles to either sub-item as most of them probably cover both topics as well. I have also added most of the technologies and methodologies as instances of either topic.
Was there any discussion as to the desirability of limiting the properties input device (P479) and output device (P5196) (devices or methods) to just deal with hardware devices, thereby excluding user interface methods that are not hardware devices, such as command-line interface (Q189053)? I'm not necessarily opposed to the change, but since it affects property labels and descriptions in multiple languages as well as the constraints, I would have expected careful consideration of the implications such as the need for new properties to deal with the non-hardware methods, as well as notification of the groups affected by the change (listed in the input device (P479) property documentation under "This property is being used by", a list which for to me unknown reasons doesn't include WikiProject Informatics or even Wikidata:WikiProject Video games).
I'm not myself asking for an immediate reversal, but I would really like to see some comments on how this should be handled before we proceed in either direction. --SM5POR (talk) 11:26, 1 December 2022 (UTC)[reply]
The broadening of these properties to user interfaces in general has not been discussed as far as I can tell. And I don't think it's a good idea because contrary to "input devices" software input methods can either be part of the software in question or an external software component, so I think it's better to express that with either has part(s) (P527) or uses (P2283) accordingly, perhaps qualified with object has role (P3831).
Hi @push-f: I just merged the Wikiproject Item with the general WikiMedia project one, I don't get why there were different items ? I see also you created an item for wikiproject on Wikidata, I don't really understand the purpose of this ? author TomT0m / talk page12:04, 26 April 2024 (UTC)[reply]