@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_09288 a sh:SPARQLExecutable, sh:SPARQLSelectExecutable ;
  sh:prefixes _:sparql_examples_prefixes ;
  rdfs:comment '''Check there are no entries with modified residue annotations from neXtProt for which the evidence code is NOT mass spectrometry evidence, experimental evidence or sequence similarity evidence used in manual assertion'''@en ;
  schema:keywords "QC", "evidence", "ECO", "PTM" ;
  schema:target <https://sparql.nextprot.org/sparql> ;
  sh:select '''PREFIX : <http://nextprot.org/rdf/>
PREFIX cv: <http://nextprot.org/rdf/terminology/>
PREFIX source: <http://nextprot.org/rdf/source/>

select distinct ?entry where {
  ?entry :isoform /:modifiedResidue /:evidence ?ev1.
  ?ev1 :assignedBy source:NextProt.
  ?ev1 :evidenceCode ?eco.
  filter (?eco not in (cv:ECO_0001096,cv:ECO_0000006,cv:ECO_0000250))
}''' .
