@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_09446 a sh:SPARQLExecutable, sh:SPARQLSelectExecutable ;
  sh:prefixes _:sparql_examples_prefixes ;
  rdfs:comment '''Check there are no entries with keywords corresponding to keyword categories'''@en ;
  schema:keywords "QC", "keyword" ;
  schema:target <https://sparql.nextprot.org/sparql> ;
  sh:select '''PREFIX : <http://nextprot.org/rdf/>
PREFIX cv: <http://nextprot.org/rdf/terminology/>

select distinct ?entry where {  # Include ?kw if result is not 0 to identify problem keyword
  values ?kw {
  cv:KW-9999 # Biological process
  cv:KW-9998 # Cellular component
  cv:KW-9997 # Coding sequence diversity
  cv:KW-9996 # Developmental stage
  cv:KW-9995 # Disease
  cv:KW-9994 # Domain
  cv:KW-9993 # Ligand
  cv:KW-9992 # Molecular function
  cv:KW-9991 # PTM
  cv:KW-9990 # Technical term
  }
  ?entry :isoform /:keyword /:term ?kw.
}''' .
