identifiers-org / identifiers-org.github.io

MIT License
8 stars 1 forks source link

Please remove the https in the URL Pattern of the uniprot records when pointing to purl.uniprot.org #245

Closed JervenBolleman closed 2 months ago

JervenBolleman commented 2 months ago

Hi

The url pattern

https://purl.uniprot.org/uniprot/{$id}

should be

    http://purl.uniprot.org/uniprot/{$id}

in the record uniprotkb.

In the record uniprotkb.isoform

the url pattern on our side should be

 http://purl.uniprot.org/isoforms/{id}

Thank you, Regards, Jerven

PS, Found when testing https://sparql.api.identifiers.org/sparql/ very nice that it is back, although the help page deserves some love and updates.

renatocjn commented 2 months ago

Hello @JervenBolleman,

About updating the URL patterns. The current samples work fine. Do you have examples that don't work?

About the SPARQL endpoint, we kept it up, but you are the first person that I know of who managed to get it to work. Could you explain to us how you did it? That way we can update the documentation. We were actually considering making a completely new endpoint.

JervenBolleman commented 2 months ago

@renatocjn it is not that they don't work. It is that the global identifier for uniprot records is without https.

The query I used for testing at the uniprot sparql endpoint is

PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT
?alternate
WHERE
{
  SERVICE <https://sparql.api.identifiers.org/sparql> {
     <https://purl.uniprot.org/uniprot/P07500> owl:sameAs ?alternate .
  }
}

But that is bad because the identifier on our side that works is purl without https.

PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT
?alternate
WHERE
{
  SERVICE <https://sparql.api.identifiers.org/sparql> {
     <http://purl.uniprot.org/uniprot/P07500> owl:sameAs ?alternate .
  }
}

The user community had meeting with the identifiers.org team in 2021 about restoring identifier.org sparql endpoint when it had gone, asking for it to be restored. So I was very surprised to see an updated help page with a new location for the sparql endpoint.

renatocjn commented 2 months ago

Hi, thank you for the examples. I will try to check things. I also updated the URL pattern to http.

I do not know the meeting, unfortunately. When I joined in early 2023, the previous developer already wasn't familiar with how the endpoint works. It was migrated with the rest of the services a while back and probably there was a change in its URL. I'm personally not very familiar with SPARQL and I don't know how it was initially made.

We have a project to work on this and some other tasks in the ELIXIR BioHackathon. We would love any help we can get. It would be nice to take input from the community on how this is being used.

The current plan is to use something like ontop (https://ontop-vkg.org/) to keep the dataset up-to-date and make it compatible with schemas such as DCAT (https://www.w3.org/TR/vocab-dcat-3/), VOiD (https://www.w3.org/TR/void/), and bioschemas.org.

JervenBolleman commented 2 months ago

@renatocjn let's open a new issue on the SPARQL topic. While I wait for the uniprot identifiers to be corrected.

renatocjn commented 2 months ago

@JervenBolleman, has it been solved?

JervenBolleman commented 2 months ago

Yes. and we can use it on our sparql endpoint.

PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT 
    ?protein 
    ?otherIdentifier
WHERE {
  BIND(uniprotkb:P00750 AS ?protein)
  SERVICE <https://sparql.api.identifiers.org/sparql> {
    ?protein owl:sameAs ?otherIdentifier .
 }
}
renatocjn commented 2 months ago

Perfect, thank you