[00:30:25] Can you clarify the intent? You want to start with an item and no list and end up returning the entire list of parents? (re @M: Can someone help me figure out why this recursive function call seems to be immediately going to the base case? Recursion isn't ...) [00:31:35] Pretty much. Recursively go up P171 until you get to an item that has Q146481, then return the list of all the visited QIDs [00:52:26] I guess this will end up too expensive for current performance, and we wouldn't want to call all the time for every species. Since these things are reasonably static, you could consider specifying a hardcoded list for each taxon in AW and converting it to the fragment you want. Getting that hardcoded list in the first place could be the job of another tool. (re @M: [00:52:26] Pretty much. R [00:52:27] ecursively go up P171 until you get to an item that has Q146481, then return the list of all the visited QIDs) [03:53:34] When we don't have lexemes, maybe we can use Z37999, if we can compile lists of classes in Z38002 and Z38003. Possibly from sparql? (re @NicolasVIGNERON: yes, this one is not an easy problem, I'll create a create a corresponding test) [05:56:33] the first function is very good and doable [05:56:33] not sure the 2nd and 3rd will be doable and very useful... (I see that you indicate "moutain" as masculine, it's mostly true but I can thing of hundreds of feminin mountain ;) ) I'll look more into it (re @u99of9: When we don't have lexemes, maybe we can use Z37999, if we can compile lists of classes in Z38002 and Z38003. Possibly from spar...) [05:59:30] (sorry got mixed-up) [06:00:03] also, ideally it should take into account plurals (which is not a class at all) [06:04:05] I understand the right way is to take the word "mont" from the name to get to the lexeme L23872, where masculine is identified? (or "montagne" to L17213 then feminine). But unfortunately as far as I can see that all depends on T419561, so this is an attempt to fallback in the meantime. (re @NicolasVIGNERON: it's a very good idea [06:04:06] not sure how much the 2nd and 3rd will be doable and useful... (I see that you indicate "moutain" as mascu...) [06:05:41] yep, not all mountain are "mont": it could be "un pic, un sommet", both masculine or "une montagne, une aiguille, une cime" feminine... (re @u99of9: I understand the right way is to take the word "mont" from the name to get to the lexeme L23872, where masculine is identified? ...) [06:06:31] and some just don't have anything, like "La Rhune" (luckily here the article is already included ;) ) [06:08:50] Okay. I've added Z38007 to show that it can't always be done with the type lists. (re @NicolasVIGNERON: yep, not all mountain are "mont": it could be "un pic, un sommet", both masculine or "une montagne, une aiguille, une cime" femi...) [06:10:27] Yes, I'm not sure what that function should return when the article is already included. I considered just returning a grammatical gender, but then I didn't know what to return for humans (where we want to prevent the definite article). (re @NicolasVIGNERON: and some just don't have anything, like "La Rhune" (luckily here the article is already included ;) )) [06:11:47] Would that be better with "neuter" included as an option? or something else? (re @u99of9: Yes, I'm not sure what that function should return when the article is already included. I considered just returning a grammatic...) [06:11:56] maybe the function should look at the string first? it may also help detects plural (words endings with an "s") (re @u99of9: Yes, I'm not sure what that function should return when the article is already included. I considered just returning a grammatic...) [06:12:30] "neuter" make no sense in French but you could return a third option "maybe/unknown" ;) (re @u99of9: Would that be better with "neuter" included as an option? or something else?) [06:13:04] Yes it needs to detect plurals somehow, hence just sending back a grammatical gender didn't seem like enough. (re @NicolasVIGNERON: maybe the function should look at the string first? it may also help detects plural (words endings with an "s")) [06:13:29] that feels defamatory for a human! (re @NicolasVIGNERON: "neuter" make no sense in French but you could return a third option "maybe/unknown" ;)) [06:15:12] Feel free to make an awesome implementation! (re @NicolasVIGNERON: maybe the function should look at the string first? it may also help detects plural (words endings with an "s")) [06:29:20] I might try but I'm wondering about the logic itself and if we shouldn't have two separate functions: [06:29:21] - one for determining if the article is needed or not (here a class can help) [06:29:22] - an other for guessing the gender (here class can't help, but you could look at the first word of the label to make an educated guess ; which is kind of like a class except it's not) (re @u99of9: Feel free to make an awesome implementation!) [06:43:34] You're much better positioned than me to know this. Those two sound like good helper functions for this combined function. [08:32:42] For your first suggestion, should we list all the classes that *do* need one, or all the classes that *don't* need one? (re @NicolasVIGNERON: I might try but I'm wondering about the logic itself and if we shouldn't have two separate functions: [08:32:43] - one for determining if t...)