Wikidata:Property proposal/user input & output

From Wikidata
Jump to navigation Jump to search

user input[edit]

Originally proposed at Wikidata:Property proposal/Generic

   Withdrawn
Descriptionwhich concrete data this function, program or web page expects as an input from the user (not every program or web page has such a concrete input)
Data typeItem
Domainitems that are instances of subroutine (Q190686), computer program (Q40056) or dynamic web page (Q1650567)
Example 1strlen (Q1952837)string (Q184754)
Example 2Q113956711Wikimedia interface namespace (Q6535237)
Example 3Q115094914username (Q15901043)
See alsoreadable file format (P1072), input device (P479)

Motivation[edit]

Subroutines, computer programs and dynamic web pages all take some input, process it somehow and return some output. It would be nice to be able to express this in Wikidata.

We currently already have readable file format (P1072) & writable file format (P1073) (which are restricted to instances of file format (Q235557)) but there is a big semantic difference: readable file format (P1072) & writable file format (P1073) only mean that the formats are supported they do not describe which inputs a program expects or which concrete outputs it produces e.g: Pandoc (Q2049294) supports a plethora of file formats but you obviously do not need to invoke it with all the file formats at once. Instead for Pandoc (Q2049294) we could state Xinputcomputer file (Q82753) & Xoutputcomputer file (Q82753) (ideally on its superclass file converter (Q2996416)).

For inputs we would ideally have some way to differentiate between required and optional inputs. I think it would make the most sense to regard unqualified "input" statements as required and have some "optional" qualifier for optional inputs: perhaps via nature of statement (P5102) optional (Q59864995).

--Push-f (talk) 06:46, 8 November 2022 (UTC)[reply]

Discussion[edit]

  • WikiProject Informatics has more than 50 participants and couldn't be pinged. Please post on the WikiProject's talk page instead.. --Push-f (talk) 06:47, 8 November 2022 (UTC)[reply]
  •  Oppose I suggest clarifying (and perhaps broadening) the purpose of input device (P479) instead. --SM5POR (talk) 08:42, 8 November 2022 (UTC)[reply]
    input device (P479) has very different semantics. E.g. Wolfenstein 3D (Q18940)input device (P479)computer keyboard (Q250), joystick (Q178805) obviously does not mean that you need to use both a keyboard and a joystick ... it just means that these are supported. input device (P479) is thus inherently unsuitable for modelling data flow (which is what this proposal is about). --Push-f (talk) 08:49, 8 November 2022 (UTC)[reply]
  •  Weak support This property is useful to specify the function (method or procedure's) signature. However, I feel that it may needs some renaming, like input of function, procedure or method. John Samuel (talk) 11:55, 8 November 2022 (UTC)[reply]
    The property is just as useful to express the input and output of programs and dynamic web pages as shown in my examples. Especially command-line programs that follow the Unix philosophy (Q14652) and dynamic web pages that take some input via a web form (Q287539). Please note the Domain I described in the blue box, which would be formulated via property constraints and thus notifying people of accidental misuse. Yes the property could be labeled "input of function, program or web page" instead but that is very much not common practice if you look at how we label existing properties: the scope of properties is usually formulated via property constraints, not via the label. --Push-f (talk) 14:31, 8 November 2022 (UTC)[reply]
  •  Oppose This is too vague to be useful. Notable computer programs and web pages typically have many kinds of input, including user input, input from files and databases, configuration settings, responses to queries over the network, etc. What is the input to a program such as a word processor, or a multiplayer online game, or to a web page like Gmail.com? If the the property was more precisely defined it may be possible to answer those questions, but with such a generic and imprecise property this will just become an inconsistent mess that is not useful for anything. Also as for the "output" examples, of (P642) is a deprecated qualifier. And even a simple web page like Q115094914 contains more than just a list of accounts; there is also registration date, edit counts, information about blocks, and even an input field as part of its output. It would be more accurate to say that it outputs a web page (Q36774), but of course we already know that from instance of (P31). –LiberatorG (talk) 18:33, 8 November 2022 (UTC)[reply]
    Yes as you have noticed these properties are not meant for websites/programs that take some mouse or keyboard input. They are only meant for websites/programs that follow function-like behavior in that they take a well-defined input. But does just the fact that these properties cannot be used for everything mean that we shouldn't have them? I don't think so. There are enough cases where these properties are useful. I agree that I should work on the description to clarify the intended purpose of these properties.
    In regards to of (P642) it is not deprecated yet (the description says it will be deprecated) but I am also not sure where that has been decided. I can think of dozens of cases where of (P642) is useful and there is no qualifier to replace it and neither should there be because it doesn't make sense to create hundreds of qualifiers that all carry the same semantics (as it would make both data entry and data consumption unnecessarily cumbersome).
    In regards to Q115094914 being more complex than shown in my example: that's not a problem the proposed output property would allow multiple values. And yes while technically the input field is part of the output that is as far as I am concerned an implementation detail and not part of the data flow, but I realize that I have failed to adequately describe that these properties are about data flow ... I'll try to improve the descriptions and the domain. Push-f (talk) 18:56, 8 November 2022 (UTC)[reply]
    It is not just an issue with mouse/keyboard input. Even a simple web page like Q115094914 takes input from other sources, such as a user database, server configuration, and user preferences; are those inputs in this sense? Why or why not? –LiberatorG (talk) 19:21, 8 November 2022 (UTC)[reply]
    Thanks, good question! I have clarified the proposed properties to "user input" and "user output" and updated the descriptions accordingly. Does that answer your question? Push-f (talk) 20:12, 8 November 2022 (UTC)[reply]
    As for the of (P642) qualifier, see User:Lucas Werkmeister/P642 considered harmful and the discussion on its talk page and Property talk:P642. –LiberatorG (talk) 19:39, 8 November 2022 (UTC)[reply]
    Thanks for linking User:Lucas Werkmeister/P642 considered harmful. I get that of (P642) having many meanings is problematic. I am always only using it for "narrowing of an aspect of the main value" and as far as I know there isn't yet a dedicated property for that, so I just use of (P642). If there was a property specifically for that I'd use it. Push-f (talk) 19:57, 8 November 2022 (UTC)[reply]
    Considering that both your output examples involving of (P642) are lists, I note that there is an old property is a list of (P360) that was created to deal with Wikipedia list articles, but I see no reason why it couldn't be applied to lists in any format, be they user account lists or file lists. This property is currently allowed as a main statement only, however. Either the constraint should be amended to include the qualifier scope (makes sense to me), or if that is somehow impossible, create separate items such as "user list" (of which /etc/passwd (Q307510) would be a subclass) or "file list" and apply is a list of (P360) to them.
    For other uses, you may want to browse Wikidata:WikiProject Data Quality/Issues/P642#Use cases by property being qualified where current usage is reviewed and replacement qualifiers are suggested. SM5POR (talk) 10:20, 14 November 2022 (UTC)[reply]
    Or am I maybe mixing instance levels here? While a Wikipedia list article is an instance of a list, an item such as "user list" is a subclass of the list class, and that could be a show-stopper here. I would consult those familiar with the is a list of (P360) property and the ontology in general before applying it in this way. SM5POR (talk) 10:30, 14 November 2022 (UTC)[reply]
    Maybe ls (Q283503)outputlist (Q12139612)has part(s) (P527)filename (Q1144928) (I'd avoid using file system object (Q37787110) here as I think that indicates the file itself, not a text line giving its name, timestamp and other metadata; same objection concerning user account (Q3604202) vs username (Q15901043)). SM5POR (talk) 10:55, 14 November 2022 (UTC)[reply]
  •  Oppose Typical software have too many inputs and outputs, and likely not notable. --Midleading (talk) 15:45, 14 November 2022 (UTC)[reply]
    As explained in the property descriptions the proposed properties are not meant to be used for every software. I don't get you comment about notability because items may be created if there is a structural need. --Push-f (talk) 15:57, 14 November 2022 (UTC)[reply]
    I actually think this proposal has some general merit, but I disagree with details in its implementation. As you mention structural need I sense an idea I might agree with, but I don't see it spelled out in clear, and neither does anybody else here I guess.
    May I suggest an alternative approach? Instead of proposing one property after another to be decided upon individually (in a formal process that is ill-suited to explain that structural need), start a discussion somewhere in Wikidata talk:WikiProject Informatics to explain your plan and invite others to contribute their ideas and objections. Work out detailed examples, point out issues with current usage that may be addressed in new ways, experiment with sandbox properties, whatever.
    The goal of the discussion must not be to create some new properties, but to solve an actual problem (or two). New properties are mere tools at our disposal, but they are not our only tools. The reason Wikidata has grown as big as it is today is not its massive catalogue of 10,000+ properties; it's all the work that has gone into defining those properties and other components of Wikidata to form a coherent whole. As far as properties are concerned, less is more (Q60691261).
    There is no rush, no deadlines to meet. We all have different schedules and cannot participate all the time, so in order to get most out of this discussion, it should be allowed to run for weeks or months rather than mere days. When you have laid out the big picture, and everybody concerned has had a chance to both understand and comment on it, we will all be in a much better position to determine whether this bird will fly or not.
    And when most of us agree that it will fly, obtaining consensus on any new properties that need to be created (or old ones that could use some adjustment) should be a piece of cake; just refer back to the conclusions of the discussion.
    Rome wasn't built in a day (Q17117425). SM5POR (talk) 04:52, 15 November 2022 (UTC)[reply]
    When I don't find a property for something I want to express in Wikidata, I create a property proposal, not necessarily because I want to create a new property but because I want some adequate property to express the relationships I have in mind. If somebody points out a good way to express what I want to express with existing properties, I am more than happy to withdraw my proposal. With "structural need" I meant the third criteria on WD:N in response to Midleading's concern about notabilty.
    I don't really regard creating a property proposal as rushing things ... it's just seems to be the best way to spark such a discussion because it takes place on a dedicated page, letting people watch the discussion in specific (as opposed to a mile-long talk page) and because by being included in WD:PP/Generic it reaches a bigger audience than the 48 members of the WikiProject Informatics (which I notify anyway by using {{Ping project}}), case in point two people who have participated here aren't a member of the Informatics project.
    But I do get your point that discussing things within the Informatics project beforehand would lead to better proposals and more support, but so does creating a proposal and being met with opposition.
    --Push-f (talk) 05:34, 15 November 2022 (UTC)[reply]
    Even with wanting to express "something" being the (obvious) purpose of a property, no instance of expression stands in isolation, but relates to the "language" it is part of, in this case the rest of Wikidata. But not everything needs to be expressed; that's what notability is all about. To demonstrate that your proposed property would actually serve a structural need, it's not enough to merely cite that third criterion, but you have to explain what that need is in your particular case. What may be obvious to you isn't necessarily so to everybody else, and that explanation may take a lot more than a few examples and comments in the header to a property proposal.
    But you do hint at your long-term goal in the motivation for your withdrawal, to "model applications". While as a computer nerd/enthusiast I find this an interesting idea, it's not entirely clear to me how that general goal helps satisfy either the second or the third notability criterion (I assume the first one is out of the question).
    This topic however certainly deserves its own page under Wikidata:WikiProject Informatics, and to attract editors to that page you could start a discussion on the project talk page (maybe even before creating the topic page itself, to obtain advice on its title and placement within the project). At your discretion, you may also notify members of other relevant projects in order to reach a wider audience, but since the modeling of computer programs and processes is a fairly narrow topic within the realm of all human knowledge, the topic page indeed belongs within the Informatics project.
    I don't think the desire to reach a wide audience is an appropriate reason to create a property proposal, since you can notify that audience anyway without suffering the constraints imposed by the proposal format. An open-ended project discussion leaves much more room for alternative solutions, such as a different number of properties, no properties at all, further investigation of various sub-issues etc. It also serves as a base for unforeseen future discussions in a way that an archived property discussion will hardly do.
    Quoted from the proposal instructions:
    Creation can be done 1 week after the creation of the proposal
    That's what I mean is rushing things. SM5POR (talk) 08:22, 15 November 2022 (UTC)[reply]
    WD:N is only about the notability of data items ... not about the notability of statements. Notable subjects such as Pandoc (Q2049294), time (Q284081) and the thousands of other notable items we have about software justify the creation of new properties and data items to express the functions of these notable subjects.
    Yes it's quite unfortunate that the property proposal process does not have an explicit discussion phase before the voting phase.
    Point taken, I have drafted a new proposal to replace this one in my user namespace: User:Push-f/invoked with & invocation returns
    and announced it at Wikidata talk:WikiProject Informatics#Modelling the input & output of functions and function-like software.
    --Push-f (talk) 09:32, 15 November 2022 (UTC)[reply]
  • I agree with the contra-speakers.  Oppose --Gymnicus (talk) 19:45, 14 November 2022 (UTC)[reply]
  •  Withdrawn "user input" is still too vague and my motivation failed to address that many applications are too complex to be modeled with these properties. --Push-f (talk) 05:37, 15 November 2022 (UTC)[reply]

user output[edit]

Originally proposed at Wikidata:Property proposal/Generic

   Withdrawn
Descriptionwhich concrete output this function, program or dynamic web page provides to the user (not every program or web page has such a concrete output)
Data typeItem
Domainitems that are instances of subroutine (Q190686), computer program (Q40056) or dynamic web page (Q1650567)
Example 1strlen (Q1952837)string length (Q110382671)
Example 2Q113956711HTTP redirect (Q110227941) to MediaWiki page (Q15474042)
Example 3Q115094914list (Q12139612) of (P642) user account (Q3604202)
Example 4ls (Q283503)list (Q12139612) of (P642) file system object (Q37787110)
See alsowritable file format (P1073), output device (P5196)

See #user input for the motivation and discussion.