[04:58:56] Al or cory. Z41676 fails. Maybe the current connected implementation of Z14552 is too strict?? Or is this a dereferencing issue? [05:03:23] I'm not sure about policy. It's certainly my preference, but I don't usually overwrite Henk when he prefers bracketed English over maths. In-language word salad is even better than maths, so I'd support switching this one. (re @Al: Is it our policy to eliminate English from default functions? Perhaps in this case Q17198982 P138 Q49796016 with labels in the r...) [05:11:26] Al next issue: Z41670 fails, but when the same call is fed directly into the validator it works: Z41671. What am I missing!? [08:25:25] Normalization, I guess (not you, personally)… apparently, the value in result validation is not a Z1, but a “Benjamin array”, and a Benjamin array is not a Typed list. I think it’s just a testing thing. If you explicitly construct the call with validation (https://www.wikifunctions.org/wiki/Z801?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z801%22%2C%22Z801K1%22%3A%7B% [08:25:25] [08:25:26] 22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23120%22%2C%22Z23120K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23397%22%2C%22Z23397K1%22%3A%22Z37107%22%7D%7D%7D) in the test case, it should return a Boolean. Presumably this is a recent breaking change? (re @u99of9: Al next issue: Z41670 fails, but when the same call is fed directly into the validator it works: Z41671. [08:25:26] What am I [08:25:27] missing!?) [08:35:25] Even if it is just a testing thing, it causes this new test Z41669 to favour the slower implementation, which in turn gets used in lots of function choosing. (re @Al: Normalization, I guess (not you, personally)… apparently, the value in result validation is not a Z1, but a “Benjamin array”, an...) [08:39:43] Failure of Z41654 and Z41653 was related, but I'm not sure if they will clear up now that the slower composition is favoured. [08:45:41] I’m not sure that’s the same issue… still looking at it. (re @u99of9: Even if it is just a testing thing, it causes this new test Z41669 to favour the slower implementation, which in turn gets used ...) [08:57:40] I spotted Z37110 and thought I could write a test case for Swedish. But I am unsure what it should be. A natural translation of that sentence would literally be translated back as "The olympics games 1956 was held in Melbourne." On the other hand, the more close translation "Platsen för de olympiska spelen 1956 var Melbourne." feels very clunky. The reason I am [08:57:40] unsure is, as a n [08:57:41] on-native English speaker, I don't know if the English sentence also is clunky. [09:10:52] Yes, it’s fairly clunky in English, but this is supposed to be a general expression about location. The general sense is “in”(“on”, “at”, “by”…) but different types of location require different forms of expression, in natural-sounding English (and many other languages). (re @Jan_ainali: I spotted Z37110 and thought I could write a test case for Swedish. But I message> [09:10:53] am unsure what it should be. A natural translation of ...) [09:12:19] I guess on a deeper level, Z37107 being defined as "The of was ." is what feels odd as it in Swedish more often would make better sense to say "'s was ." [09:19:14] In English too, as often as not… just less often than in Swedish 😏 (re @Jan_ainali: I guess on a deeper level, Z37107 being defined as "The of was ." is what feels odd as it in Swedish...) [09:22:27] I made Z41693 that still is easily understandable and follows similar form. It was the first time I made a test where the result is HTML. Does it look okay? [09:23:39] Oh, I think I may have added the text case to the wrong function... [09:27:13] Navigating WF is so difficult and energy draining. :( (re @Jan_ainali: Oh, I think I may have added the test case to the wrong function...) [09:27:46] True: Z37104 (re @Jan_ainali: Navigating WF is so difficult and energy draining. :() [09:29:30] I can't move my test there, right? [09:30:00] You could have, but I’ve done it already. (re @Jan_ainali: I can't move my test there, right?) [09:31:57] So I'll create a new function and then add it it to this config list? Z37106 [09:32:10] The default function is the English one 🙄 but: [09:32:11] “The plats of the Olympiska sommarspelen 1956 was Melbourne (https://abstract.wikipedia.org/wiki/Q3141).” (re @Jan_ainali: I made Z41693 that still is easily understandable and follows similar form. It was the first time I made a test where the result...) [09:32:50] Proper Q7655877! (re @Al: The default function is the English one 🙄 but: [09:32:51] “The plats of the Olympiska sommarspelen 1956 was Melbourne.”) [09:44:51] You can start with a copy of the present tense version in Swedish (re @Jan_ainali: So I'll create a new function and then add it it to this config list? Z37106) [09:45:16] You make it sound so easy 😅 (re @u99of9: You can start with a copy of the present tense version in Swedish) [09:45:59] Actually the default is never used because the higher level function checks for a language config then sends to the present tense config instead. (re @Al: The default function is the English one 🙄 but: [09:46:00] “The plats of the Olympiska sommarspelen 1956 was Melbourne.”) [09:46:14] Which is "the present tense version in Swedish"? [09:47:39] I think I found it when searching in English. Z37046 [09:52:42] I may be missing something obvious in the user interface, but how do I copy a function? (re @u99of9: You can start with a copy of the present tense version in Swedish) [09:57:39] You currently need to edit the function to enable the menu (dots). (re @Jan_ainali: I may be missing something obvious in the user interface, but how do I copy a function?) [09:59:01] Sorry, that’s for an implementation… You can’t copy a function in the UI. (re @Al: You currently need to edit the function to enable the menu (dots).) [10:01:05] Ok, I'll make the function first and the "start" by copying the Z37093 implementation [10:10:19] I guess I can't copy an entire test case either, just the contents of the call and the result validation, right? [10:11:29] Or can I move Z41693 to Z41697? [10:15:56] Let me try and do that for you. Then I can explain how to do it! (re @Jan_ainali: Or can I move Z41693 to Z41697?) [10:27:47] Done. Maybe not actually worth while in this case, because you have to re-build the function call: [10:27:48] 1. Edit the test case [10:27:50] 2. Change the defined Function [10:27:51] 3. Copy any arguments you need to re-use [10:27:53] 4. Change the call to use the new function [10:27:54] 5. Enter or paste in the arguments to the new function [10:27:56] 6. Test the call, if possible [10:27:57] 7. Publish (re @Jan_ainali: Or can I move Z41693 to Z41697?) [10:32:24] It seems like a lot of work, and it’s not ideal that there’s a separate function just to vary the tense… A Wikidata statement could have qualifiers, like an end date, and it would be useful if a generalized function like this were to follow that sort of pattern 🤔 (re @Jan_ainali: Ok, I'll make the function first and the "start" by copying the Z37093 implementation) [10:35:55] I just now got to the present tense to copy the implementation, and I see that it has that flipped word order (implemented by another Swede :) ). [10:39:11] Should I worry about red links in the composition? This is how it looks where I copy from : https://tools-static.wmflabs.org/bridgebot/cd352e30/file_83701.jpg [10:39:21] And this is how it looks pasted : https://tools-static.wmflabs.org/bridgebot/6e6874fa/file_83702.jpg [10:40:50] Is it perhaps just an "en" in source and "sv" in paste artifact? [10:42:09] Yes. You probably need to re-do the argument references. (re @Jan_ainali: And this is how it looks pasted) [11:03:21] It was easier to keep this than to flip it back. I think I'll change the test case to match what is now expected. (re @Jan_ainali: I just now got to the present tense to copy the implementation, and I see that it has that flipped word order (implemented by an...) [11:09:11] Okay, Z41697 looks decent and is connected to config function. [11:10:30] It would be great if Usage would show number of functions using it too. : https://tools-static.wmflabs.org/bridgebot/bb6682c1/file_83703.jpg [11:24:53] Yes… or (separately) configurations (https://www.wikifunctions.org/w/index.php?fulltext=1&ns0=1&ns2=1&ns4=1&profile=advanced&search=%3A+%22Z14293K1+Z41697%22&title=Special%3ASearch) and implementations not implementing the function itself (https [11:24:53] //www.wikifunctions.org/w/index.php?fulltext=1&ns0=1&ns2=1&ns4=1&profile=advanced&search=%3A+Z41697+%21%22Z14K1+Z41697%22+Z14K1&title= [11:24:54] Special%3ASearch). (re @Jan_ainali: It would be great if Usage would show number of functions using it too.) [11:50:13] I'm in two minds. I agree that we can later write a general wrapper that makes the decision for us (e.g. when a subject dies or becomes a former entity it would be good for the whole article to switch). However, for the function writers, considering every dimension at once (including ~every Wikidata property) is already very ambitious/complex. So when there is a clear [11:50:14] dimension t [11:50:14] hat can be semantically sliced in two, it seems good to do it? (re @Al: It seems like a lot of work, and it’s not ideal that there’s a separate function just to vary the tense… A Wikidata statement co...) [11:51:38] But I was tempted in other functions to slice singular/plural subjects, and have been firmly reminded that the plurality of a concept is not consistent between languages. [11:55:39] It’s not a clear dimension linguistically. See, for example, Carnildo’s comment here [[Wikifunctions:Type proposals/Simple temporal entity]] (re @u99of9: I'm in two minds. I agree that we can later write a general wrapper that makes the decision for us (e.g. when a subject dies or ...) [11:59:35] The word sequence is not the definition of the function. The semantic meaning of the words is. So if it is more natural to flip them for some/all properties in some/all languages, that is the responsibility of those languages. We are far from done with making this function less clunky in English too. But I'm half waiting until we get better UI for Z96 so we can do [11:59:35] more efficient [11:59:36] case statements to pick between helper functions. (re @Jan_ainali: I guess on a deeper level, Z37107 being defined as "The of was ." is what feels odd as it in Swedish...) [12:02:30] As I understand Carnildo's comment we have legitimately sliced off a present, but have left 3x3 past cases grouped, which is not sliced enough for Spanish so the Spanish implementation will have to do further semantic slicing. (re @Al: It’s not a clear dimension linguistically. See, for example, Carnildo’s comment here [[Wikifunctions:Type proposals/Simple tempo...) [12:10:55] Regarding the type proposal, I'm now undecided. We have different grammatical gender sets, so we could/should have different grammatical tense sets. But should a semantic time set just be a long enum including all the ways languages could break it up (including "distant past" etc), then a language could just pick the most appropriate grammatical tense? I'm hesitant to [12:10:55] insist that [12:10:56] every AW editor should be forced to put (pairs of?) dates on everything, because that seems to unfairly shift the burden to them. [12:12:41] Yes, it’s not straightforward, but the relation has a temporal frame independent of language. Even regarding the present, we need to be able to make distinctions between, say, “The Bayeux Tapestry is currently in the British Museum” and “The Bayeux Tapestry is normally (kept) in the Bayeux Museum” (or “the current location…”) (re @u99of9: As I understand Carnildo' [12:12:41] [12:12:42] s comment we have legitimately sliced off a present, but have left 3x3 past cases grouped, which is not...) [12:16:56] As a general principle, the AW content should confine itself to “facts” rather than linguistic nuances. But the boundary is porous. [I reiterate my original 🤔] (re @u99of9: Regarding the type proposal, I'm now undecided. We have different grammatical gender sets, so we could/should have different gra...) [12:20:39] I should add that another dimension I sliced off in the definition of this function was with the word "specific". It effectively assumes the function is only used for properties where Property(subject)=value is a single-(best)-valued function. When it's multi valued like Neighbours(Austria)=[many countries] we need other functions (that @jsamwrites has been splitting [12:20:40] by individua [12:20:41] l property so far). (re @u99of9: The word sequence is not the definition of the function. The semantic meaning of the words is. So if it is more natural to flip ...) [12:26:41] Arguably, the Bayeux Tapestry falls into this… but [[:wd:Q187483#P276]] manages to be fairly communicative by not end dating the first statement 🤔 (re @u99of9: I should add that another dimension I sliced off in the definition of this function was with the word "specific". It effectively...) [12:28:10] Q187483 Q187483#P276 [12:28:21] https://www.wikidata.org/wiki/Q187483#P276 (re @Al: Arguably, the Bayeux Tapestry falls into this… but [[:wd:Q187483#P276]] manages to be fairly communicative by not end dating the...) [12:31:24] I did leave a backdoor Z38181 where you can pick whichever value you like, but it will still render as if it is the single best value. (re @Al: Arguably, the Bayeux Tapestry falls into this… but [[:wd:Q187483#P276]] manages to be fairly communicative by not end dating the...) [12:32:01] And you'll have to supply your own reference. [12:44:00] User:鈴音雨 (Google translates as "rain sounding like bells") is doing a fabulous job in Japanese. I just saw this fix to link injection to support katakana https://www.wikifunctions.org/wiki/Z38081?uselang=en&curid=88317&diff=311357&oldid=303784 [12:44:36] That’s generally true if it comes from Wikidata too, even when it looks like there is one. I’m inclined to the view that it is better to cite the Wikidata statement, where there is one (but we lack their identifiers). I suppose a general exception could be made where one of the WD references is from the view-language’s Wikipedia edition. 🤷‍♂️…all subject to local message> [12:44:36] Wikipedia policy, of course. (re @u99of9: And you'll have to supply your own reference.) [12:47:49] Talking about the tapestry, just yesterday we added a slideshow gallery in svwiki (https://sv.wikipedia.org/w/index.php?title=Bayeuxtapetens_scener&diff=prev&oldid=59649197). Do we have a gallery functionality available yet? (re @Al: Arguably, the Bayeux Tapestry falls into this… but [[:wd:Q187483#P276]] manages to be fairly communicative by not end dating the...) [12:49:02] I can't tell if you're supporting or opposing YoshiRulz's change to pass through WD's refs without showing the actual WD triple location as a ref. I think his change was an improvement. (re @Al: That’s generally true if it comes from Wikidata too, even when it looks like there is one. I’m inclined to the view that it is b...) [12:50:04] Nowhere near, sorry. (re @Jan_ainali: Talking about the tapestry, just yesterday we added a slideshow gallery in svwiki. Do we have a gallery functionality available ...) [12:53:04] Back to this, so we need a phab? (re @Al: Normalization, I guess (not you, personally)… apparently, the value in result validation is not a Z1, but a “Benjamin array”, an...) [12:53:59] And do you have insight into this one too? (re @u99of9: Al or cory. Z41676 fails. Maybe the current connected implementation of Z14552 is too strict?? Or is this a dereferencing issue?) [12:56:10] I’m not aware of the change, sorry. I was partly thinking about *T423325*, but multilingual references are just a general challenge. (re @u99of9: I can't tell if you're supporting or opposing YoshiRulz's change to pass through WD's refs without showing the actual WD triple ...) [12:59:22] Yes, I was just hoping to clarify the issue. It looks like my initial view was too narrow. Maybe your second example was because the list is embedded within the object, but I don’t recall this being an issue in the past 🤷‍♂️ (re @u99of9: Back to this, so we need a phab?) [13:08:33] Clarify away at T437443. (re @Al: Yes, I was just hoping to clarify the issue. It looks like my initial view was too narrow. Maybe your second example was because...) [13:16:38] I’ll take a look. This looks wrong (actual result): [13:16:39] { [13:16:41] "Z1K1": "Z14293", [13:16:42] "Z14293K1": "Z37107", [13:16:44] "Z14293K2": [ [13:16:45] "Z60", [13:16:47] "Z33034" [13:16:48] ] [13:16:50] } [13:16:51] Z33034 is a list, not a natural language. (re @u99of9: Al or cory. Z41676 fails. Maybe the current connected implementation of Z14552 is too strict?? Or is this a dereferencing issue?) [13:21:27] Oh, sorry, while you were writing, I was filing this one too: T437446 (re @Al: I’ll take a look. This looks wrong (actual result): [13:21:27] { [13:21:29] "Z1K1": "Z14293", [13:21:30] "Z14293K1": "Z37107", [13:21:32] "Z14293K2": [ [13:21:33] "Z60", [13:21:35] ...) [13:26:50] No worries. I think they’re related, if not necessarily the same. (re @u99of9: Oh, sorry, while you were writing, I was filing this one too: T437446) [13:38:32] I’ve corrected the configuration and both implementations now pass. (re @u99of9: Oh, sorry, while you were writing, I was filing this one too: T437446) [13:41:57] The configuration was incorrect. Fixed. (re @u99of9: Al or cory. Z41676 fails. Maybe the current connected implementation of Z14552 is too strict?? Or is this a dereferencing issue?) [14:19:15] Oh, it got messed up a couple of days ago. That's hard to spot! https://www.wikifunctions.org/w/index.php?title=Z37106&diff=310609&oldid=287257 (re @Al: I’ve corrected the configuration and both implementations now pass.) [14:22:22] I am exploring different ways to say this, even in English.. consists of for the property "has part" or use of words like "includes" (re @Jan_ainali: I guess on a deeper level, Z37107 being defined as "The of was ." is what feels odd as it in Swedish...) [14:24:36] Personally, I want to consider additional values from Wikidata to frame a sentence. This is important for languages with gendered objects since you need to use feminine for talking about cities (ville in French is feminine) [14:25:27] Yes, I added a note to the ticket. It may be possible to police this with Search, if we’re just talking about configs. (re @u99of9: Oh, it got messed up a couple of days ago. That's hard to spot! https://www.wikifunctions.org/w/index.php?title=Z37106&diff=3106...) [14:32:03] Is Z41701 the first AW configurable fragment first configured in a language other than English? [15:48:12] I don’t believe even the French are agreed on this point, although « ville » is certainly feminine. Some city names are syntactically masculine (Montréal, Los Angeles, Le Mans… even Londres), so a certain amount of linguistic gymnastics may be required to keep the referring expression feminine. I think this is a general case of avoiding a gender mismatch effect, which is [15:48:12] s [15:48:14] omething to consider when constructing or selecting anaphora 🤔 [16:47:57] It appears that we have twelve cases (https://www.wikifunctions.org/w/index.php?fulltext=1&ns0=1&ns2=1&ns4=1&profile=advanced&search=%3A+%22Z14293K2+Z60%22+insource%3A%2FZ14293K2%5B%5E%5D%5D*Z60%5B%5E%5D%5D*Z33034%2F&title=Special%3ASearch), or maybe fewer by the time you follow this link. (re @u99of9: Oh, it got messed up a couple of days ago. That's hard to spot! [16:47:57] https://www.wi [16:47:57] kifunctions.org/w/index.php?title=Z37106&diff=3106...) [17:07:45] One work around would be to always say « the city of X,y,z … » and then it will always be feminine (in french)? (re @Al: I don’t believe even the French are agreed on this point, although « ville » is certainly feminine. Some city names are syntacti...) [17:38:54] This is something that I tried for some sentences. But personally, I don't like it (re @adafede: One work around would be to always say « the city of X,y,z … » and then it will always be feminine (in french)?) [19:49:41] good evening. [19:51:16] I have a few technical questions, maybe someone can point me in the right direction. the first one would be, is there a way to get (read: API/machine readable) the source code for a given page? [19:51:59] hopeing there is some endpoint I can just query. [20:30:37] Not a full answer, but a pointer: https://www.wikifunctions.org/w/api.php (re @wmtelegram_bot: I have a few technical questions, maybe someone can point me in the right direction. the first one would be, is ther...) [20:40:06] I found that I can call https://abstract.wikipedia.org/w/rest.php/v1/page/$PAGE, which gives json-in-json. so still wondering if there is a better one. [20:40:35] thank you, it's... just a lot of not so nicely searchable docus to check. I'm sure there is a pattern in it, but I don't yet see it ;) [20:47:53] The API sandbox is nice to play around in. From there I found wikilambda_fetch. Is that what you are looking for? [20:47:54] Example sandbox: https://www.wikifunctions.org/wiki/Special:ApiSandbox#action=wikilambda_fetch&format=json&zids=Z37107&formatversion=2 [20:47:56] Example call: https://www.wikifunctions.org/w/api.php?action=wikilambda_fetch&format=json&zids=Z37107&formatversion=2 [20:55:04] thank you, but no. I have e.g. https://abstract.wikipedia.org/wiki/Q146 and want to fetch the content (read: source) for that page (without any processing done to it) [21:00:55] Like this? https://abstract.wikipedia.org/w/index.php?title=Q146&action=raw [21:00:56] Or is what you mean by source some semi-rendered state? (re @wmtelegram_bot: thank you, but no. I have e.g. https://abstract.wikipedia.org/wiki/Q146 and want to fetch the content (read: source)...) [21:04:00] exactly that. thank you! [21:04:43] More generally (https://www.wikifunctions.org/w/index.php?ns0=1&search=%3A+%22Z14293K2+Z60%22+insource%3A%2FZ14293K2%5B%5EA-Za-z0-9%5D*%5C%5B%5B%5EA-Za-z0-9%5D*Z60%5B%5E%5C%5D%5D*Z%5B1-9%5D%5B0-9%5D%7B4%2C%7D%2F&title=Special%3ASearch)… (re @Al: It appears that we have twelve cases, or maybe fewer by the time you follow this link.) [21:12:17] my second question: my understanding is that each function has (should have) a well defined behaviour that is not defined by code. this would imply that I could replace any function with a build-in that performs according to that definition within the range of values I call it with. there should be no side effects like that I would never call any functions such a function calls. Is this [21:12:23] correct? [21:32:05] I think that’s correct. A function’s implementation should be free from observable side-effects. It may call other functions as part of computing its result, but those calls are implementation details: replacing the implementation with another that produces the same result should not change the function’s observable behaviour. (re @wmtelegram_bot: my second [21:32:05] ques [21:32:05] tion: my understanding is that each function has (should have) a well defined behaviour that is not de...) [21:37:45] hm, thank you. [21:38:55] given the time, your input, and what I have read while playing around myself, I would now retire and come back the next days, hopefully with more fun questions. [21:40:40] Have fun until then! (re @wmtelegram_bot: given the time, your input, and what I have read while playing around myself, I would now retire and come back the n...) [21:41:30] thank you, and have a good night everyone! [22:46:29] And another request for staff assistence: Z111 and Z861 have tests that could be connected [22:59:37] It looks like community contributions to this kind of task may soon be possible! T435637 (re @Ameisenigel: And another request for staff assistence: Z111 and Z861 have tests that could be connected)