@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_00279 a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:comment "Proteins for which an interaction mapping region is described for both interactants "@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX : <http://nextprot.org/rdf/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?entry (str(?gen) AS ?gene) ?entry2 (str(?gen2) AS ?gene2) WHERE {
 ?entry :isoform ?iso; :gene / :recommendedName / rdfs:label ?gen .
 ?iso :interactionMapping / :interactant ?entry2.
 ?entry2 :gene / :recommendedName / rdfs:label ?gen2 .
 filter exists { ?entry2 :isoform / :interactionMapping / :interactant ?entry.}
} order by ?entry""" ;
    schema:keywords "PPI",
        "tutorial" ;
    schema:target <https://sparql.nextprot.org/sparql> .

