A set of SPARQL examples that are used in different SIB resources
Select all approved reactions involving lipids (subclass of CHEBI:18059) that are parent reactions and give their number of descendants
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