Closed kchall closed 1 month ago
@gracemyz I've thought more about the question of location nodes being potentially interpreted as either terminal nodes (e.g. if the user searches for a "Head" location, they get only signs that have "Head" and nothing further specified) or as non-terminal nodes (e.g. if the user searches for a "Head" location, they get signs that have "Head" only, but also any signs that have "Head" plus lower specifications, such as "Head > Face" or "Head > Face > Forehead Region," etc.).
I think that the locations really are special in this regard. While it's certainly possible that a user might want to search for e.g. a movement that is specified as only "Perceptual shape" and nothing further (i.e. as a terminal node), that is definitely not going to be as common, because such specifications aren't the 'norm' of actual phonological coding. They'd be useful for things like finding unfinished codings, but not for really doing a phonological search. In these cases, the default should be to interpret it as a non-terminal node (find anything that has "Perceptual Shape" specified, whether that's "Perceptual Shape > Shape > Circle" or "Perceptual Shape > Shape > Zigzag" or whatever). If a user really wants to search for exact matches here, I think the "exact match" function could be used in the search parameters box.
But for locations, I think we do need an easy way to distinguish the two interpretations. I think the default should be the same as in other modules, as you coded it originally, i.e., interpret it as non-terminal and allow matches with any specification that matches. But, we should add a checkbox in the Location search target module, near the drop-down menu, that says "Interpret as terminal node." Checking this box would then return only matches where the given location is exactly specified, with nothing further down the hierarchy. This should be available for any of the location menus, i.e. Body locations, Body-anchored locations, and Purely spatial locations.
Thanks!
An initial outline of 'basic' search functionality (essentially matching existing designations) is outlined here: https://docs.google.com/document/d/15KPfPauWFHdlA2LDuNKVOsYFT9enws9HvWTNzIhu04I/edit#bookmark=id.gcz1ejef80x0
I'm open to feedback / alternate suggestions / etc!