SPARQL examples for the EMI
View the Project on GitHub earth-metabolome-initiative/sparql-examples
Count the number of features annotated as aspidosperma type alkaloids by CANOPUS (p>0.5) in the different samples
PREFIX enpkg: <https://enpkg.commons-lab.org/kg/>
PREFIX enpkgmodule: <https://enpkg.commons-lab.org/module/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
SELECT ?extract ?organe ?species_name ?genus_name ?family_name ?count_of_selected_class
WHERE
{
?material enpkg:has_lab_process ?extract .
?material enpkgmodule:has_organe ?organe .
?material enpkg:has_wd_id ?wd_sp .
OPTIONAL
{
SERVICE <https://query.wikidata.org/sparql> {
?wd_sp wdt:P225 ?species_name .
?family wdt:P31 wd:Q16521 ;
wdt:P105 wd:Q35409 ;
wdt:P225 ?family_name ;
^wdt:P171* ?wd_sp .
?genus wdt:P31 wd:Q16521 ;
wdt:P105 wd:Q34740 ;
wdt:P225 ?genus_name ;
^wdt:P171* ?wd_sp
}
}
{
SELECT ?extract (COUNT(DISTINCT ?feature) AS ?count_of_selected_class)
WHERE
{
?extract rdf:type enpkg:LabExtract .
?extract enpkg:has_LCMS ?lcms .
?lcms rdf:type enpkg:LCMSAnalysisPos .
?lcms enpkg:has_lcms_feature_list ?feature_list .
?feature_list enpkg:has_lcms_feature ?feature .
?feature enpkg:has_canopus_annotation ?canopus .
?canopus enpkg:has_canopus_npc_class ?np_class .
?canopus enpkg:has_canopus_npc_class_prob ?class_prob .
FILTER(regex(str(?np_class), "Aspidosperma_type")) .
FILTER((?class_prob > 0.5)) .
} GROUP BY ?extract ORDER BY DESC(?count_of_selected_class)
}
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v16("?canopus")
v11("?class_prob")
v17("?count_of_selected_class"):::projected
v2("?extract"):::projected
v6("?family")
v7("?family_name"):::projected
v15("?feature")
v14("?feature_list")
v8("?genus")
v9("?genus_name"):::projected
v13("?lcms")
v1("?material")
v12("?np_class")
v3("?organe"):::projected
v5("?species_name"):::projected
v4("?wd_sp")
c9(["wd:Q35409"]):::iri
c11(["wd:Q34740"]):::iri
c15(["enpkg:LabExtract"]):::iri
c17(["enpkg:LCMSAnalysisPos"]):::iri
c7(["wd:Q16521"]):::iri
v1 --"enpkg:has_lab_process"--> v2
v1 --https://enpkg.commons-lab.org/module/has_organe--> v3
v1 --"enpkg:has_wd_id"--> v4
subgraph optional0["(optional)"]
style optional0 fill:#bbf,stroke-dasharray: 5 5;
subgraph s1["https://query.wikidata.org/sparql"]
style s1 stroke-width:4px;
v4 -."wdt:P225".-> v5
v6 --"wdt:P31"--> c7
v6 --"wdt:P105"--> c9
v6 --"wdt:P225"--> v7
v4 --"wdt:P171"--> v6
v8 --"wdt:P31"--> c7
v8 --"wdt:P105"--> c11
v8 --"wdt:P225"--> v9
v4 --"wdt:P171"--> v8
end
end
f0[["?class_prob > '0.5^^xsd:decimal'"]]
f0 --> v11
f1[["regex(str(?np_class),'Aspidosperma_type')"]]
f1 --> v12
v2 --"a"--> c15
v2 --"enpkg:has_LCMS"--> v13
v13 --"a"--> c17
v13 --"enpkg:has_lcms_feature_list"--> v14
v14 --"enpkg:has_lcms_feature"--> v15
v15 --"enpkg:has_canopus_annotation"--> v16
v16 --"enpkg:has_canopus_npc_class"--> v12
v16 --"enpkg:has_canopus_npc_class_prob"--> v11
bind3[/"count(?feature)"/]
v15 --o bind3
bind3 --as--o v17