@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#> .

ex:58 a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:comment "Map a selection of UniProtKB accession numbers (ACs) to HGNC identifiers and symbols"@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>

SELECT
  ?uniprot
  ?hgnc
  ?hgncSymbol
WHERE
{
  # A space separated list of UniProt primary accessions.
  VALUES (?acc) {('P05067') ('P00750')}
  BIND(iri(concat(str(uniprotkb:), ?acc)) AS ?uniprot)
  ?uniprot rdfs:seeAlso ?hgnc .
  ?hgnc up:database <http://purl.uniprot.org/database/HGNC> ;
       rdfs:comment ?hgncSymbol .
}""" ;
schema:keywords "mapping" , "HGNC" ;    
schema:target <https://sparql.uniprot.org/sparql/> .

