@prefix ex: <https://sparql.uniprot.org/.well-known/sparql-examples/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix spex:<https://purl.expasy.org/sparql-examples/ontology#> .

ex:99_uniprot_identifiers_org_translation a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:comment "Translate a selection of UniProtKB accession numbers into other options using the identifiers.org translating endpoint."@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>

SELECT 
    ?protein 
    ?otherIdentifier
WHERE {
    VALUES (?protein) {(uniprotkb:P00750) (uniprotkb:P05067)}
    ?protein a up:Protein .
    SERVICE <https://sparql.api.identifiers.org/sparql> {
        ?protein owl:sameAs ?otherIdentifier .
    }
}""" ;
    schema:keywords "identifier" , "mapping" ;
    schema:target <https://sparql.uniprot.org/sparql/> ;
    spex:federatesWith <https://sparql.api.identifiers.org/sparql> .

