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

ex:NXQ_00219 a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:comment "Proteins entries from a list of gene names"@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX : <http://nextprot.org/rdf/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT ?entry WHERE {
 values ?gene
 {"UBA6" "PXDNL" "CNOT1" "TCAF2" "ARHGAP32" "HACD1" "AKR1B15" "SGK1" "MYO1C" "LGALS9"
 "PIK3CD" "PDE2A" "DNM1L"} # space or nl-separated

 bind (STRDT (?gene,xsd:string) as ?genename ) . # converts raw string to ^^xsd:string
 ?entry :gene / :recommendedName / rdfs:label ?genename .
 }""" ;
    schema:keywords "gene",
        "tutorial" ;
    schema:target <https://sparql.nextprot.org/sparql> .

