sparql-examples

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

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

87_Select_all_approved_reactions_involving_lipids_that_are_parent_reactions_and_give_their_number_of_descendants

rq turtle/ttl

Select all approved reactions involving lipids (subclass of CHEBI:18059) that are parent reactions and give their number of descendants

Use at

PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh:<http://rdf.rhea-db.org/>

SELECT distinct ?reaction (count(distinct ?reactionDescendant) as ?reactionDescendantCount) ?reactionEquation WHERE {
?reaction rdfs:subClassOf rh:Reaction .
?reaction rh:status rh:Approved .
?reaction rh:equation ?reactionEquation .
?reaction rh:side ?reactionSide .

?reactionSide rh:contains ?participant .
?participant rh:compound ?compound .
?compound rh:chebi ?chebi .
?chebi rdfs:subClassOf+ CHEBI:18059 .

?reactionDescendant rdfs:subClassOf rh:Reaction .
?reactionDescendant rh:status rh:Approved .

?reactionDescendant rdfs:subClassOf+ ?reaction .
}
group by ?reaction ?reactionEquation
ORDER BY ?reaction
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v6("?chebi")
  v5("?compound")
  v4("?participant")
  v1("?reaction"):::projected 
  v7("?reactionDescendant"):::projected 
  v8("?reactionDescendantCount")
  v2("?reactionEquation"):::projected 
  v3("?reactionSide")
  c4(["rh:Approved"]):::iri 
  c2(["rh:Reaction"]):::iri 
  c10(["CHEBI:18059"]):::iri 
  v1 --"rdfs:subClassOf"-->  c2
  v1 --"rh:status"-->  c4
  v1 --"rh:equation"-->  v2
  v1 --"rh:side"-->  v3
  v3 --"rh:contains"-->  v4
  v4 --"rh:compound"-->  v5
  v5 --"rh:chebi"-->  v6
  v6 --"rdfs:subClassOf"-->  c10
  v7 --"rdfs:subClassOf"-->  c2
  v7 --"rh:status"-->  c4
  v7 --"rdfs:subClassOf"-->  v1
  bind1[/"count(?reactionDescendant)"/]
  v7 --o bind1
  bind1 --as--o v8