prefixcommons / data-ingest

0 stars 3 forks source link

Offer API call to check whether prefix exists or not in each of multiple registries #14

Open jmcmurry opened 7 years ago

jmcmurry commented 7 years ago

This is a dead simple request to reduce prefix collisions. Users could ping it to assess whether a prefix has been claimed previously. Registries could use it to check availability before issuing a new prefix. It is not everything (reverse lookups etc); that is for another time. The simplest thing that is possibly useful is also quite easy to do.

Here is the raw table of expected responses.

The output for now does not need to be fancy; in fact it should be as human readable as possible.

Eg, for the prefix foobar it could look like this:

Note that you need to check all casing permutations (eg. 'go' and 'GO' and 'Go', and even 'gO'). If the prefix exists, include the link so the person can investigate.

Real-time prefix availability report for "GO"

Registry Availability Link if taken How to register if available
Identifiers.org Taken http://identifiers.org/go
Ontobee Taken http://www.ontobee.org/browser/index.php?o=go
Bioportal Taken http://purl.bioontology.org/ontology/go
LOV Available http://lov.okfn.org/dataset/lov/suggest
Prefix.cc Taken http://prefix.cc/go
SciCrunch Available email to info@scicrunch.org
DataHub Available https://discuss.okfn.org/t/creating-a-dataset-on-the-datahub/1627
BioSharing Taken https://biosharing.org/search/?q=&shortname=go&search_state=visible

Note that the GO DBXRefs Registry also needs to be parsed from here however, there is no individual call I am aware of that will dynamically return a binary answer. Perhaps @cmungall knows different.

jmcmurry commented 7 years ago

@jkunze do you happen to have any way of looking up a prefix on n2t? I know you currently support more than are in the identifiers.org corpus.

jkunze commented 7 years ago

Not yet. What I could do relatively easily is make a yaml file available that has the full set that N2T.net supports.

jmcmurry commented 7 years ago

"prefix" : "go" { 
     "summary" :{
         "sources-where-registered" : 5,
         "sources-where-available" : 3
         },
     "sources" :{
          "source" : "Identifiers.org" {
               "status" : "registered",
               "found-here" : "http://identifiers.org/go"
                    },
          "source" : "Ontobee" {
               "status" : "registered",
               "found-here" : "http://www.ontobee.org/browser/index.php?o=go"
               },
          "source" : "Bioportal" {
               "status" : "registered",
               "found-here" : "http://purl.bioontology.org/ontology/go"
               },
          "source" : "BioSharing" {
               "status" : "registered",
               "found-here" : "https://biosharing.org/search/?q=&shortname=go&search_state=visible"
               },
          "source" : "Prefix.cc" {
               "status" : "registered",
               "found-here" : "http://prefix.cc/go"
               },
          "source" : "SciCrunch" {
               "status" : "not registered",
               "register-here" : "email to info@scicrunch.org"
               },
          "source" : "DataHub" {
               "status" : "not registered",
               "register here" : "https://discuss.okfn.org/t/creating-a-dataset-on-the-datahub/1627"
               },
          "source" : "LOV" {
               "status" : "not registered",
               "register-here" : "http://lov.okfn.org/dataset/lov/suggest"
               }
     }
} ```