Skip to content

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

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

Closed
JervenBolleman opened this issue Jun 20, 2024 · 7 comments

Comments

@JervenBolleman
Copy link

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
Copy link
Member

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
Copy link
Author

JervenBolleman commented Jun 20, 2024

@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
Copy link
Member

renatocjn commented Jun 24, 2024

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
Copy link
Author

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

@renatocjn
Copy link
Member

@JervenBolleman, has it been solved?

@JervenBolleman
Copy link
Author

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
Copy link
Member

Perfect, thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants