[00:34:12] @dvd_ccc27919 This test came from a query from @Ameisenigel . I also don't speak German well enough to distinguish. (re @u99of9: Here's a test to sort out: Z29553) [02:10:06] Along the lines of Al's suggestion in T420747, I've swapped the configured default for Z26039 from English to a mathematical expression of the localised labels Z33420. See if you're okay with this kind of format: Z33423 Z33424 . Of course those two languages won't fall through to the default, but you get the idea. [03:19:02] It's interesting that the composition for Z23468 is so much faster than the javascript. Can anyone help my intuition as to why? [05:33:14] Because the composition only uses builtin implementations. Most of the overhead of composition is due to the fact that usually it has to execute a lot of js and py implementations; this type, it is not the case (re @u99of9: It's interesting that the composition for Z23468 is so much faster than the javascript. Can anyone help my intuition as to why?) [06:03:06] I'd like to make progress on English Z32645 / Z32935 / indefinite, and am getting confused. My test context is "X has Y" Z32496, and for now, to help me mentally clarify I'm even limiting it to trying to determine the article for X. The first example I put on paper was "X=carrot", because I figured this would be typical enough. But I can write all three versions: "a [06:03:06] carrot has le [06:03:06] aves", "carrot has fibre", "the carrot has discolourations". So the answer for X depends on Y??? [06:13:06] "carrot has fibre" implicitly means I'm referring to the subclass of Q25403900 as a category rather than the instance of a subclass of distinct vegetable pieces. Wikidata would rarely duplicate items to distinguish between those meanings. Should they be duplicated as separate senses? The lexeme currently only has one sense L3782-S1. Even if they were distinguished on [06:13:07] the lexeme, [06:13:08] does that mean I have to choose the lexeme before I can choose the article? (re @u99of9: I'd like to make progress on English Z32645 / Z32935 / indefinite, and am getting confused. My test context is "X has Y" Z32496,...) [06:33:15] Yes, we should definitely have different items for the taxon item and the edible thing they produce. That's the established data model (using P1672 and P1582 in the other direction). However, it's often confused on taxons where we eat most part of it and when the taxon's common name is the same thing as the edible part. Luckily, Q81 is modeled properly, being [06:33:15] connected to Q11678 [06:33:15] 009. But another sense to the taxon would probably be good (similar to how L32893 has two senses). (Writing this, I realize that you might refer to something else. In that case, disregard this sidetrack.) [06:50:06] Yes, that's helpful. I think all three of my sentences had Q81 as the intended subject, but perhaps "a carrot has leaves" would be better as Q11678009. So I'll switch that one out to ensure that all three sentences use Q81: "a Q81 has a length". (re @Jan_ainali: Yes, we should definitely have different items for the taxon item and the edible thing they produce. That's [06:50:06] the established data...) [07:52:18] Very similar things happen with [07:52:18] Q136646561 [07:52:20] *P1582 [07:52:21] *Q34687 [07:52:23] P5872 [07:52:24] Q57655990 [07:52:26] while sometimes it gets into this direction, sometimes it does [07:52:27] Q13241 [07:52:29] P5872 [07:52:30] Q136644578 [07:52:32] which funily also [07:52:33] Q136644578 [07:52:35] P5872 [07:52:36] Q13241 [08:20:55] I just wonder why we wouldn’t use the label from P31, and I note that this has no default (which might even be “P31”): [08:20:56] Berlino • istanza di • città [08:20:57] When we do this in HTML, the predicate in the triple can be anchored to Wikidata as (subject)QID#P31. The default separator (if any) could be configured by language. The order could too, but the default there should be the Wikidata ordering. [08:20:59] The subject and object items would naturally link to their respective AW pages, but we should consider how that would work out for content that is (eventually) pulled into a different Wikipedia edition, where the natural link would be to the articles in that edition. In such a Wikipedia, if the linked article doesn’t exist, the user might get the AW version, but what [08:20:59] happens on [08:21:00] AW when there is no article? There’s the option of creating it, but the browsing user should have the option of jumping to Wikidata. We might, in any event, add a Wikidata link to the object (as well as the AW link). (re @u99of9: Along the lines of Al's suggestion in T420747, I've swapped the configured default for Z26039 from English to a semi-mathematica...) [08:26:38] I think the label of p31 in many languages is too ontologically technical and precise and not good plain language. It makes sense for Wikidata, but does it make sense in Abstract Wikipedia? I can't remember a single Wikipedia article (but I am sure there are some) saying "x is an instance of y". (re @Al: I just wonder why we wouldn’t use the label from P31, and I [08:26:38] note that this [08:26:39] has no default (which might even be “P31”): [08:26:41] Berlino ...) [08:40:48] Yes, but we’re talking about a default here. I don’t think replacing a technical and precise natural-language label with a technical symbol like “∈” is more accessible. (re @Jan_ainali: I think the label of p31 in many languages is too ontologically technical and precise and not good plain language. It makes sens...) [10:41:45] The driver here is complex because it is a matter of framing: are you talking about a particular carrot, carrots in general (perhaps as a species) or a representative carrot? Arguably, when you say “carrot has fibre”, you’re making it a mass noun. I find the last case challenging, because it may be conventional (and therefore cultural). For example, the English reader [10:41:45] would [10:41:47] object to “bean has fibre” but not “cabbage has fibre”. Carrot(s) sit(s) somewhere in that spectrum, and it’s not obvious that the proposition has a single language-neutral framing, other than “as food”, leaving the English function to worry about whether the food should be (mass) singular, plural or partitive (like “a grain of rice”) (re @u99of9: I'd like to m message> [10:41:48] ake progress on English Z32645 / Z32935 / indefinite, and am getting confused. My test context is "X has Y" Z32496,...) [10:53:45] Hello. [10:54:40] I defined new functions without implementations and used them on [[abstract:Q15433043]], based on our discussion during yesterday's meeting. Please have a look. [10:55:23] The new statements begin by Z33193. [10:56:10] If this is fine, I will turn all the Abstract text into this final layout. [11:01:02] I'm still skeptical that we should allow adding functions without connected implementations as abstract content. To me, it feels like adding a redlinked infobox template in an article on Wikipedia. It would likely, and rightly so, be reverted almost immediately. Sure there might be some valid exceptions, but then those cases should be discussed and documented [11:01:03] onwiki. [11:02:17] They will. But, at least, this turns the Abstract Wikipedia problem with the Page I am working on into a Wikifunctions problem that can be dealt with. (re @Jan_ainali: I'm still skeptical that we should allow adding functions without connected implementations as abstract content. To me, it feels...) [11:03:12] Of course, I will add tests so that anyone willing to implement them can have examples to play with on Wikifunctions. [11:03:39] Please point me to that discussion once you have started it and I'll be happy to chime in there too. [11:03:56] The recording is now live on Commons: https://commons.wikimedia.org/wiki/File:Abstract_Wikipedia_Volunteer_Corner_2026-04.webm (re @Sannita: Thank you to everyone who came to the Volunteers' Corner, as always the recording will be up in the next few days (I hope by Wed...) [11:04:57] I will. Please verify the Abstract syntax on the Abstract Wikipedia Page and approve it. Then, I will finish my work and add a discussion page on this. (re @Jan_ainali: Please point me to that discussion once you have started it and I'll be happy to chime in there too.) [11:05:28] If you are skeptical about the syntax, please write about it too so that I fix it now. [11:09:26] Personally, I miss the redlinks 😏 I think we should actively discourage “wishful thinking” in Abstract Wikipedia articles, but a function call to an unimplemented function is still informative, in its way, so I’m not personally opposed to them as a matter of principle. Very much an on-wiki discussion point, though. (re @Jan_ainali: I'm still skeptical that we should allo [11:09:26] [11:09:27] w adding functions without connected implementations as abstract content. To me, it feels...) [11:10:29] In Swedish, and English, and Hebrew, and other high-activity Wikipedias, yes, it probably would. On a lot of low-activity languages, redliniked templates stay for years not only in articles, but even on the main page. [11:10:30] (This is just an observation about Wikipedia in various languages. I don't have an opinion about what to do with this on Abstract Wikipedia.) (re @Jan_ainali: I'm still skeptical that we should allow adding functions without connected implementations as abstract content. To me, it feels...) [11:12:38] Why isn’t this Z27926? (re @Csisc1994: The new statements begin by Z33193.) [11:12:53] For me, this will at least be better than the copy of English strings. So for this page I'm willing to support lots of red links. (re @Csisc1994: If this is fine, I will turn all the Abstract text into this final layout.) [11:16:57] The first one I found. (re @Al: Why isn’t this Z27926?) [11:17:38] This is why I still favour sending some (optional) direct grammatical framers like object_grammar=["mass noun"], at least by the time it gets to an English function. If they have come from more general framers like numerical categories that get converted into grammatical categories, that's fine. But I also can't see a problem with the orignal editor specifying them [11:17:38] (perhaps in pa [11:17:39] irs with which language/s they apply to). (re @Al: The driver here is complex because it is a matter of framing: are you talking about a particular carrot, carrots in general (per...) [11:17:41] There are also a lot of string to HTML fragment. Probably, they should be merged together. [11:21:18] I've posted this for deletion [[Wikifunctions:Requests_for_deletions#Z33193]] (re @Csisc1994: The first one I found.) [11:22:09] Merging properly is not easy. Please try to find the most complete/earliest and nominate any duplicates for deletion. (re @Csisc1994: There are also a lot of string to HTML fragment. Probably, they should be merged together.) [11:34:40] Which ones? (re @Csisc1994: There are also a lot of string to HTML fragment. Probably, they should be merged together.) [11:41:52] https://tools-static.wmflabs.org/bridgebot/2bea5351/file_79389.jpg [11:42:04] What is the difference between them [11:43:47] The first one gets a string and directly puts it into the fragment, without escaping, while the second one escapes special HTML characters (re @Csisc1994: What is the difference between them) [11:44:21] That is very interesting. (re @dvd_ccc27919: The first one gets a string and directly puts it into the fragment, without escaping, while the second one escapes special HTML ...) [11:44:31] Probably, it needs to be clarified. [11:45:10] As well, is there to change a function call without changing the arguments. It will be painful to redo everything from scratch. [11:46:01] I mean changing Z33193 by Z27926. [11:58:13] 🤔 I wouldn’t rule it out entirely but I would consider it a last resort. [11:58:14] More generally, it should be possible to point to the function or outcome you expect and let that materialise as a function call, but that would have to be developer magic rather than functioneer magic. (Ultimately, that takes us back to Denny’s original vision, in section 4, (https://arxiv.org/pdf/2004.04733) but even now (“soon”), it should be possible to automate the [11:58:14] nav [11:58:15] igation from a language-specific function through a configuration to the function (implementation) that uses it, which would currently require a separate visit to Wikifunctions, and an understanding of how these things work.) [11:58:17] 🤷‍♂️Overthinking again 😏 (re @u99of9: This is why I still favour sending some (optional) direct grammatical framers like object_grammar=["mass noun"], at least by the...) [12:03:34] Unfortunately it is a bit painful. This is why I prefer to do smaller tests and get them right before rolling out too much content. In fact I believe that most of our AW functions will actually need to output HTML so we can have hyperlinks in them. So I expect even what we have done already may get replaced. (re @Csisc1994: As well, is there to change a function call [12:03:34] without chan [12:03:35] ging the arguments. It will be painful to redo everything from scratch.) [12:07:53] I found a way through Copy to Clipboard. (re @u99of9: Unfortunately it is a bit painful. This is why I prefer to do smaller tests and get them right before rolling out too much conte...) [12:07:57] Thank you. [12:09:28] Actually, I'm not opposed to highlighting functions without implementations kinda like redlinks. [12:12:00] Yes. I tagged you on-wiki. (https://www.wikifunctions.org/wiki/Wikifunctions:Project_chat#%22language%22_argument_for_certain_functions) (re @u99of9: Unfortunately it is a bit painful. This is why I prefer to do smaller tests and get them right before rolling out too much conte...) [12:15:18] This is more of a userscript thing. I already have a tool that gives you information about a ZObject on hover (names, in the case of functions implementations and tests, in the case of implementations and tests the function, etc. etc.) (re @wmtelegram_bot: Actually, I'm not opposed to highlighting functions without implementations kinda like redlinks.) [12:15:20] It’s not clear that they need explicit escaping; maybe they are escaped in sanitisation? 🤷‍♂️ (re @dvd_ccc27919: The first one gets a string and directly puts it into the fragment, without escaping, while the second one escapes special HTML ...) [12:15:44] It shouldn't be that hard to redlink unimplemented functions (re @Feeglgeef: This is more of a userscript thing. I already have a tool that gives you information about a ZObject on hover (names, in the cas...) [12:19:44] The main problem is that it is not necessarily the function itself that is unimplemented, but some function that it eventually calls. But maybe that’s a case of partial implementation even when, in practice, no call can be successful at this time. (re @wmtelegram_bot: Actually, I'm not opposed to highlighting functions without implementations kinda like [12:19:45] redlinks.) [12:26:25] So "eventually" has arrived already!? Gulp. But are we sure of what we want yet? Before breaking all our prototypes... Can we just make a good language configured html one with all the bells and whistles first, and see what we learn. (re @Al: Yes. I tagged you on-wiki.) [12:28:34] Certainly we could (and should)… but I, for one, am still unsure about what we want. (re @u99of9: So "eventually" has arrived already!? Gulp. But are we sure of what we want yet? Before breaking all our prototypes... Can we ju...) [12:33:51] I can't imagine we will get it right the first time! (re @Al: Certainly we could (and should)… but I, for one, am still unsure about what we want.) [12:44:16] No… but a simple Z11 would be something like [12:44:17] L’Étranger [12:44:18] with a prior for the linked case. [12:44:20] I was thinking the span would always be present 🤷‍♂️ (re @u99of9: I can't imagine we will get it right the first time!) [12:48:03] What is the benefit of having the language spans everywhere? [12:50:23] Not having to decide when they’re needed? It also means the result can be deconstructed to the original list, so it’s a lossless conversion, in that regard. (re @u99of9: What is the benefit of having the language spans everywhere?) [13:24:29] But I agree with @u99of9 that this particular information should be inserted manually somehow from Abstract Wikipedia, since usually it is not possible to understand it from context (re @Al: 🤔 I wouldn’t rule it out entirely but I would consider it a last resort. [13:24:30] More generally, it should be possible to point to the ...) [13:28:23] When are they ever actually *needed*? Are they for when part of the returned text is not in the originally requested language? How do they help the AW encyclopaedia readership? (re @Al: Not having to decide when they’re needed? It also means the result can be deconstructed to the original list, so it’s a lossless...) [13:28:42] Yes. It’s just a question of how. We’re trying to avoid saying “treat this as a mass noun” by providing a semantic equivalent that has that effect in those languages that require the distinction. (re @dvd_ccc27919: But I agree with @u99of9 that this particular information should be inserted manually somehow from Abstract Wikipedia, since usu...) [13:39:41] They’re not directly observable by the AW readership, unless the style sheet surfaces the distinction as direction or font etc. Conversion and debugging are stronger motivators for me. Also, if we do want to inject specific styling (or links) after the join, we can at least see where the joins are. (re @u99of9: When are they ever actually *needed*? Are they for when part [13:39:42] of th [13:39:42] e returned text is not in the originally requested language? ...) [15:32:17] How well supported it the creation of custom Z6005, created by functions and not fetched on Wikidata? [15:55:49] I don’t think we have any such functions. What’s the use-case? (re @dvd_ccc27919: How well supported it the creation of custom Z6005, created by functions and not fetched on Wikidata?) [16:16:44] In [[Wikifunctions:Type proposals/Syntactic unit]], in its current formulation, would require the creation of coustom lexemes in case that there is no lexeme on Wikidata to represent an item (for example, because it is an item representing a person) (re @Al: I don’t think we have any such functions. What’s the use-case?) [17:28:14] Fair enough. Denny and I had this discussion (https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Wikidata_based_types#Discussion) on the original type proposal and our conclusion was: [17:28:15] It does make sense, yes. But then I would envisage non-Wikidata Lexeme types that would parallel the Wikidata Lexeme types, so that a raw Wikidata Lexeme could be transformed into a substitute that would (generally) be treated by functions as if it were a Wikidata lexeme. I imagine that would be the best way to handle alternative approaches adopted in Wikidata (and [17:28:15] inconsistencie [17:28:17] s). GrounderUK (https://www.wikifunctions.org/wiki/User:GrounderUK) (talk (https://www.wikifunctions.org/wiki/User_talk:GrounderUK)) 19:42, 16 July 2024 (UTC (https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Wikidata_based_types#c-GrounderUK-20240716194200-DVrandecic_(WMF)-20240716191000))[reply] [17:28:18] Maybe. I think Wikidata Lexemes are potentially a bit heavyweight and generic, and maybe more focused Types could be easier to handle. But I think both approaches would be valid. -- DVrandecic (WMF (https://www.wikifunctions.org/wiki/User:DVrandecic_(WMF))) (talk (https://www.wikifunctions.org/wiki/User_talk:DVrandecic_(WMF))) 23:38, 16 July 2024 (UTC (https [17:28:18] //www.wikifunctions.o [17:28:20] rg/wiki/Wikifunctions:Type_proposals/Wikidata_based_types#c-DVrandecic_(WMF)-20240716233800-GrounderUK-20240716194200)) [17:28:21] Or, “we could, but maybe we shouldn’t.” [17:28:23] With the benefit of hindsight, I’m inclined to think in terms of a language-focused type that brings together monolingual texts (or equivalent) from across related items and lexemes. That’s motivated by limiting multiple fetches (given a new built-in function) but, yeah, I wouldn’t assume it would be a Wikidata lexeme object per se. (re @dvd_ccc27919: In [[Wikifunctions [17:28:23] Typ [17:28:24] e proposals/Syntactic unit]], in its current formulation, would require the creation of coustom lexemes in...) [18:05:43] Valuable points, Al ; thanks for raising them. Support for statement identifiers raises questions about possible complications, so I've created a ticket for tracking and discussion (T423325). (re @Al: I know it has been over a year, but I think the Abstract Wikipedia use cases make the requirement clearer. If we are constructin...) [18:07:52] 🙏 Thanks, David. Since you’re here, did you happen to have any thoughts on my reply to Davide? (re @David: Valuable points, Al ; thanks for raising them. Support for statement identifiers raises questions about possible complication...) [18:45:25] I would appreciate if someone else could give a comment on https://www.wikifunctions.org/wiki/Wikifunctions:Requests_for_user_groups#AdrianoRutz [18:55:18] I see that @Csisc1994 is working hard on https://abstract.wikipedia.org/view/en/Q15433043 , but I cannot actually see anything except spinners. Does it work for anyone? [18:55:23] https://tools-static.wmflabs.org/bridgebot/73bfb060/file_79398.jpg [21:26:03] Not me. But I thought I heard him say on the volunteer's corner recording that it only renders at 4am utc (re @amire80: I see that @Csisc1994 is working hard on https://abstract.wikipedia.org/view/en/Q15433043 , but I cannot actually see anything e...) [21:26:27] That is unfortunately true. (re @u99of9: Not me. But I thought I heard him say on the volunteer's corner recording that it only renders at 4am utc) [21:26:45] @vrandecic said that it is a caching problem. [21:40:25] Yeah, I understand that it's some kind of performance problem. I'm just wondering how is it possible to anything at all if you cannot see the result. [23:12:34] I blindly work now. But, at least, I could write the Abstract syntax. (re @amire80: Yeah, I understand that it's some kind of performance problem. I'm just wondering how is it possible to anything at all if you c...) [23:13:22] The work that takes one hour in normal situations requires six hours of work. [23:14:47] That is why I finished working on the Abstract Wikipedia code and I will move to Wikifunctions. [23:15:38] Luckily, I can implement the required output as test cases there so that anyone working on the implementation can test outputs. [23:18:11] That’s an interesting metric. (re @Csisc1994: The work that takes one hour in normal situations requires six hours of work.) [23:18:54] And are you making it only to output English, or also Arabic, French, and other languageS? [23:20:46] Mainly English and French for now. (re @amire80: And are you making it only to output English, or also Arabic, French, and other languageS?) [23:21:16] But, I will expand test cases to other languages when I will be back in July. [23:32:13] That is the right place to be at the moment. (re @Csisc1994: That is why I finished working on the Abstract Wikipedia code and I will move to Wikifunctions.)