gbif-norway / helpdesk

Please submit your helpdesk request here (or send an email to helpdesk@gbif.no). We will also use this repo for documentation of node helpdesk cases.
GNU General Public License v3.0
3 stars 0 forks source link

New data publisher - API data publication #171

Closed dagendresen closed 6 months ago

dagendresen commented 7 months ago

A new data publisher wants to publish their data to GBIF:

We would like to publish data generated by users to GBIF. We host all the data publicly, so ideally we'd like to register it with GBIF programmatically with as little manual processing as possible. After reading about publishing data methods and IPT I'd like to ask for advice.

As we imagined initially, publishing an occurrence would be a per-occurrence operation, where if successful we can obtain a GBIF occurrence id. We can store that id to have cross reference between an occurrence in our service and same occurrence published to GBIF. It appears that it's not the case, as I understand so far we can only publish datasets. Of course we can try to abuse publishing datasets and re-publish for each new occurrence, but it seems that's not the intended use.

Can you please advise how to best proceed? Can IPT be used as an adapter to publish to GBIF programmatically, without using IPT's UI? Can we achieve something like we planned using an existing IPT installation like ipt.gbif.no?

dagendresen commented 7 months ago

I responded:

GBIF supports direct API data publishing without using an IPT. It is possible to do the same as the IPT does by only using the API. However, we have limited experience in using the API for data publication at the Norwegian node - but are interested to learn together with you.

https://www.gbif.org/developer/registry

Some Norwegian data publishers expose their data on an API (e.g. on a JDBC database connection) which we connected to the ipt.gb.no. This might be an easier option for you to explore.

Each data publisher must provide their own occurrenceIDs for the data records. You are correct that GBIF do not provide a service for minting identifiers for occurrences (only offer DOIs for datasets). When the occurrenceID is unique and persistent within the dataset itself, GBIF will maintain the link to previous versions of the same occurrence data record!

Any locally unique and persistent occurrenceID will work fine. However, we DO recommend creating a globally unique identifier (and if possible resolvable to a machine-readable end-point). We often recommend simply minting your own UUID in the format urn:uuid:[UUID] (where "[UUID]" is the UUID string you create).

And GBIF Norway also by default creates end-points at http://purl.org/gbifnorway/id/urn:uuid:[UUID] for all data records published through GBIF Norway to GBIF. Which might be useful for you.

rukayaj commented 6 months ago

It looks like this is kind of resolved, so I'm going to close this issue.