SISS / SISSVoc

SISSVoc is a Linked Data API for accessing published vocabularies.
http://www.sissvoc.info/
GNU Lesser General Public License v3.0
4 stars 2 forks source link

Support case-insensitive "exact" label search #16

Open rwalkerands opened 1 year ago

rwalkerands commented 1 year ago

One of our users noted that the "Exact label" search, implemented using the /concept?anylabel={text} endpoint, is case-sensitive, and they were "surprised" by this.

(As for me, I would be not the least surprised to discover that an "exact" search was case-sensitive, but not everyone thinks the way I do ... sigh.)

What do you think about offering a case-insensitive variant of /concept?anylabel={text}?

dr-shorthair commented 1 year ago

We can probably blame Microsoft.

Yeah, sure, make a case-insensitive version.

rwalkerands commented 1 year ago

Well, what would/should the URL pattern (api:uriTemplate) be?

rwalkerands commented 7 months ago

Any thoughts on URL pattern?

jyucsiro commented 7 months ago

hi @rwalkerands. just thinking about this. some options.

  1. Reimplement anylabel to be case-insensitive
  2. create another query for the label, e.g. anylabelCaseInsensitive. we might think of a better name.
  3. Rename anylabel to be case-sensitive, i.e. anylabelExact, and implement anylabel to be case-insensitive.

What do you think?

rwalkerands commented 7 months ago

See description:

One of our users noted that the "Exact label" search, implemented using the /concept?anylabel={text} endpoint ...

The "problem" (if there really is one) is not the behaviour of the /concept?anylabel={text} endpoint; it's that our user expects a search function labelled "Exact label" to be case-insensitive, and that they want such a search function.

On that basis, my notes on the three options:

  1. Reimplement anylabel to be case-insensitive

This one doesn't work for me. In this case, there's nothing really wrong with the /concept?anylabel={text} endpoint, so I'm not a fan of changing its long-standing behaviour.

  1. create another query for the label, e.g. anylabelCaseInsensitive. we might think of a better name.

Yes, this is possible, as long as there's a corresponding change to, or at least a clarification of the search box label: no longer "Exact label". Not sure what it could become; "Exact label (case-insensitive)" is precise, but cumbersome.

  1. Rename anylabel to be case-sensitive, i.e. anylabelExact, and implement anylabel to be case-insensitive.

For me this has the same problem as 1. above.

So: option 2.