@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_00285 a sh:SPARQLExecutable, sh:SPARQLSelectExecutable ;
  sh:prefixes _:sparql_examples_prefixes ;
  rdfs:comment """Proteins that have an interaction mapping region that contains the sequence 'ERLI'"""@en ;
  schema:keywords "PPI", "region", "sequence", "snorql-only" ;
  schema:target <https://sparql.nextprot.org/sparql> ;
  sh:select '''PREFIX : <http://nextprot.org/rdf/>
PREFIX cv: <http://nextprot.org/rdf/terminology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

select distinct ?entry (str(?gen) as ?gene)  where {
  ?entry :isoform ?iso; :gene / :name / rdfs:label ?gen .
  ?iso :swissprotDisplayed true; :interactionMapping ?itm .
  ?itm :start ?its; :end ?ite .
  ?iso :sequence / :chain ?seq.
  bind (substr(?seq, ?its, ?ite-?its+1) as ?itseq)
  filter (contains(?itseq,"ERLI"))
} order by ?entry''' .
