-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate CoL-Data #12
Comments
It might be worthwile to let synolib also accept URIs for CoL-taxons and (our) taxon-concepts/names as search query -- this would allow taxomplete to just have an IRI as a value and would allow for easy queries for non-binomial names or names with weird characters |
I have (in PR) implemented searching by URI. I think it might be a good idea to only allow searches by URI, and make Taxomplete feed Synolib an URI directly. We might make a more generic This would unify all places where we search for names by string literals and would make it easier to integrate CoL data. @retog opinions? edit: Taxomplete would still need its own code to find URIs, as it is the only place where we want to find partial matches (it's auto complete after all) |
UI wise I think Taxomplete should show small badges in it's auto complete indicating if the suggestion is a TN/TC or CoL taxon (or both) |
In general, there might be some benefit in reconsidering the data structures of synolib.
This would be a slight (but clean) divorce between the treatment rdf structure and the synolib structure, which is necessary to integrate the col data. Related to *: It might make sense to make this list be "lazy evaluated" where Synolib only fully loads all |
We have to be careful however when using CoL taxa to find synonyms: example: SELECT DISTINCT * WHERE {
?s ?p <https://www.catalogueoflife.org/data/taxon/8295f6bf-59a3-431a-9e7b-eff343efa154> .
} (for my own reference: PREFIX cito: <http://purl.org/spar/cito/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX dwc: <http://rs.tdwg.org/dwc/terms/>
PREFIX treat: <http://plazi.org/vocab/treatment#>
SELECT DISTINCT
?tc (group_concat(DISTINCT ?auth; separator=" / ") as ?authority) (group_concat(DISTINCT ?colid; separator="|") as ?colids) (group_concat(DISTINCT ?aug;separator="|") as ?augs) (group_concat(DISTINCT ?def;separator="|") as ?defs) (group_concat(DISTINCT ?dpr;separator="|") as ?dprs) (group_concat(DISTINCT ?cite;separator="|") as ?cites)
WHERE {
{
?tc treat:hasTaxonName <http://taxon-name.plazi.org/id/Animalia/Sadayoshia_miyakei> .
} UNION {
?tc <http://www.w3.org/2000/01/rdf-schema#seeAlso> <https://www.catalogueoflife.org/data/taxon/8295f6bf-59a3-431a-9e7b-eff343efa154> .
}
OPTIONAL { ?tc dwc:scientificNameAuthorship ?auth . }
OPTIONAL { ?tc <http://www.w3.org/2000/01/rdf-schema#seeAlso> ?colid . }
OPTIONAL { ?aug treat:augmentsTaxonConcept ?tc . }
OPTIONAL { ?def treat:definesTaxonConcept ?tc . }
OPTIONAL { ?dpr treat:deprecates ?tc . }
OPTIONAL { ?cite cito:cites ?tc . }
}
GROUP BY ?tc ) |
The sarch by URI change sounds reasonable. As for the change in synolib, should it only support synonyms or no-synonyms are also to restrict the search, so some synonyms but mabye not all? |
I think having the option to restrict the search (all, some, no synonyms) is only a future possibility and we don't really need to decide on details now. If we do implement it, I would (start) with two modes only: all synonyms (same as now, default) and no-non-trivial synonyms (i.e. only things that have the same latin name as was searched for. Middle-ground modes to me only make sense if a) there is explicit demand for it or b) we can implement them in a way that is either invisible to the user or provides a somehow more ergonomic experience (e.g. load the next synonyms only on scroll or idk). I mostly included it in my list above because it is a possibility, not beacuse I see an urgent need. |
see #14 |
The text was updated successfully, but these errors were encountered: