@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_00209 a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:comment "Glycosylation sites and cross links positions on SwissProt canonical isoforms"@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX : <http://nextprot.org/rdf/>

SELECT DISTINCT ?entry ?iso ?ptmtype ?pos ?modres WHERE {
?entry :isoform ?iso.
?iso :swissprotDisplayed true .
?iso :sequence / :chain ?seq .
?iso :ptm ?ptm.
?ptm :term ?modterm.
?ptm :start ?pos.
bind (substr(?seq,?pos,1) as ?modres)	.
{
?ptm a :GlycosylationSite .
bind("glyco" as ?ptmtype)
}
union
{
?ptm a :CrossLink .
bind("cross-link" as ?ptmtype)
}
}
order by ?iso
#limit 100""" ;
    schema:keywords "PTM",
        "glycosylation",
        "isoforms",
        "sequence",
        "tutorial" ;
    schema:target <https://sparql.nextprot.org/sparql> .

