A set of SPARQL examples that are used in different SIB resources
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX emi: <https://purl.org/emi#>
PREFIX sosa: <http://www.w3.org/ns/sosa/>
PREFIX qudt: <https://qudt.org/2.1/schema/qudt#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT DISTINCT ?source_wdx ?sourceName ?tryDataLab ?tryDataVal ?unit ?unitComment WHERE {
# metabolite data
{
SELECT DISTINCT ?source_wdx WHERE {
?material sosa:hasSample ?extract ;
sosa:isSampleOf ?organe .
?organe emi:inTaxon ?source_wdx . # filter metabolite data which is found in wikidata-ids wdx
?extract sosa:isFeatureOfInterestOf ?lcms .
?lcms sosa:hasResult ?feature_list .
?feature_list emi:hasLCMSFeature ?feature .
?feature emi:hasAnnotation ?sirius_annotation .
?sirius_annotation a emi:StructuralAnnotation ;
emi:hasChemicalStructure ?ik2d .
?ik2d emi:hasSMILES ?smiles ;
emi:isInChIKey2DOf ?ik ;
emi:hasClass ?npcClass .
?npcClass skos:broader ?npcSuperClass .
?ik emi:isInChIKeyOf ?wd_chem . # wikidata-ids for metabolites
FILTER (REGEX(STR(?npcSuperClass), 'DITERPENOIDS'))
}
} UNION #union with data from lotus (integrated in wikidata)
{
SERVICE <https://qlever.cs.uni-freiburg.de/api/wikidata> {
?wd_chem wdt:P235 ?structure_inchikey ;
((wdt:P31|wdt:P279)/(wdt:P279*)) wd:Q47006367 ; # check if the class/superclass of the chemical is Diterpenoids
wdt:P703 ?source_wdx .
}
}
# trait data
?trySpName emi:inTaxon ?wdx .
?trySpObs sosa:isSampleOf ?trySpName ; # trait/non-trait data for trySpName (scientific name of plant species as listed in trydb)
rdfs:label ?sourceName ;
sosa:isFeatureOfInterestOf ?tryObId .
?trySpName emi:inTaxon ?source_wdx . # wikidata-ids wdx for trySpName matching the one from metabolite queries
?tryObId sosa:hasResult ?tryData .
?tryData rdfs:label ?tryDataLab ;
rdf:type emi:Trait ; # retrieve data which is labelled as 'Trait' and its values
rdf:value ?tryDataVal ;
qudt:hasUnit ?unit ;
rdfs:comment ?unitComment . # original units for Trait data as listed in trydb
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v3("?extract")
v8("?feature")
v7("?feature_list")
v12("?ik")
v10("?ik2d")
v6("?lcms")
v2("?material")
v13("?npcClass")
v1("?npcSuperClass")
v4("?organe")
v9("?sirius_annotation")
v11("?smiles")
v19("?sourceName"):::projected
v5("?source_wdx"):::projected
v15("?structure_inchikey")
v21("?tryData")
v22("?tryDataLab"):::projected
v23("?tryDataVal"):::projected
v20("?tryObId")
v16("?trySpName")
v18("?trySpObs")
v24("?unit"):::projected
v25("?unitComment"):::projected
v14("?wd_chem")
v17("?wdx")
a1((" "))
c24(["emi:Trait"]):::iri
c10(["emi:StructuralAnnotation"]):::iri
c21(["wd:Q47006367"]):::iri
subgraph union0[" Union "]
subgraph union0l[" "]
style union0l fill:#abf,stroke-dasharray: 3 3;
subgraph s1["https://qlever.cs.uni-freiburg.de/api/wikidata"]
style s1 stroke-width:4px;
v14 --"wdt:P235"--> v15
subgraph union1[" Union "]
subgraph union1l[" "]
style union1l fill:#abf,stroke-dasharray: 3 3;
v14 --"wdt:P279"--> a1
end
subgraph union1r[" "]
style union1r fill:#abf,stroke-dasharray: 3 3;
v14 --"wdt:P31"--> a1
end
union1r <== or ==> union1l
end
a1 --"wdt:P279"--> c21
v14 --"wdt:P703"--> v5
end
end
subgraph union0r[" "]
style union0r fill:#abf,stroke-dasharray: 3 3;
f0[["regex(str(?npcSuperClass),'DITERPENOIDS')"]]
f0 --> v1
v2 --"sosa:hasSample"--> v3
v2 --"sosa:isSampleOf"--> v4
v4 --"emi:inTaxon"--> v5
v3 --"sosa:isFeatureOfInterestOf"--> v6
v6 --"sosa:hasResult"--> v7
v7 --"emi:hasLCMSFeature"--> v8
v8 --"emi:hasAnnotation"--> v9
v9 --"a"--> c10
v9 --"emi:hasChemicalStructure"--> v10
v10 --"emi:hasSMILES"--> v11
v10 --"emi:isInChIKey2DOf"--> v12
v10 --"emi:hasClass"--> v13
v13 --"skos:broader"--> v1
v12 --"emi:isInChIKeyOf"--> v14
end
union0r <== or ==> union0l
end
v16 --"emi:inTaxon"--> v17
v18 --"sosa:isSampleOf"--> v16
v18 --"rdfs:label"--> v19
v18 --"sosa:isFeatureOfInterestOf"--> v20
v16 --"emi:inTaxon"--> v5
v20 --"sosa:hasResult"--> v21
v21 --"rdfs:label"--> v22
v21 --"a"--> c24
v21 --"rdf:value"--> v23
v21 --https://qudt.org/2.1/schema/qudt#hasUnit--> v24
v21 --"rdfs:comment"--> v25