sparql-examples

A set of SPARQL examples that are used in different SIB resources

View the Project on GitHub sib-swiss/sparql-examples

110_Select_reaction_ec_protein_for_a_given_reaction

rq turtle/ttl

Select for a given reaction

Use at

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh:<http://rdf.rhea-db.org/>
PREFIX ec:<http://purl.uniprot.org/enzyme/>
PREFIX up:<http://purl.uniprot.org/core/>

SELECT
  ?reaction
  ?enzyme
  ?protein
WHERE {
  BIND(rh:11672 AS ?reaction)
  ?reaction rdfs:subClassOf rh:Reaction .
  ?reaction rh:ec ?enzyme
  SERVICE <http://sparql.uniprot.org/sparql> {
    ?protein up:reviewed true .
    OPTIONAL {?protein up:enzyme ?enzyme. } .
    OPTIONAL {?protein up:domain/up:enzyme ?enzyme . } .
    OPTIONAL {?protein up:component/up:enzyme ?enzyme .} .
  }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v2("?enzyme"):::projected 
  v3("?protein"):::projected 
  v1("?reaction"):::projected 
  a1((" "))
  a2((" "))
  c6(["true^^xsd:boolean"]):::literal 
  c2(["rh:Reaction"]):::iri 
  bind0[/"'rh:11672'"/]
  bind0 --as--o v1
  v1 --"rdfs:subClassOf"-->  c2
  v1 --"rh:ec"-->  v2
  subgraph s1["http://sparql.uniprot.org/sparql"]
    style s1 stroke-width:4px;
    v3 --"up:reviewed"-->  c6
    subgraph optional0["(optional)"]
    style optional0 fill:#bbf,stroke-dasharray: 5 5;
      v3 -."up:enzyme".->  v2
    end
    subgraph optional1["(optional)"]
    style optional1 fill:#bbf,stroke-dasharray: 5 5;
      v3 -."up:domain".->  a1
      a1 --"up:enzyme"-->  v2
    end
    subgraph optional2["(optional)"]
    style optional2 fill:#bbf,stroke-dasharray: 5 5;
      v3 -."up:component".->  a2
      a2 --"up:enzyme"-->  v2
    end
  end