@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_00131 a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:comment "Terms of controlled vocabularies containing some word(s)"@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT * WHERE {
 ?term rdfs:label ?label ; a ?type .
 # ---------------------------
 # exact match
 # ---------------------------
 filter(?label = "peroxisome"^^xsd:string)

 # ---------------------------
 # starting with peroxisome
 # ---------------------------
 # filter(regex(?label,"^peroxisome"))

 # ---------------------------
 # containing peroxisome
 # ---------------------------
 # filter(regex(?label,"peroxisome"))

 # ------------------------------------
 # containing peroxisome and receptor
 # ------------------------------------
 # filter(regex(?label,"peroxisome.*receptor"))
} limit 20""" ;
    schema:keywords "term",
        "tutorial" ;
    schema:target <https://sparql.nextprot.org/sparql> .

