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 dcterms: <http://purl.org/dc/terms/>
SELECT DISTINCT ?parasitoidX_WD ?parasitoidName ?intxn2Label ?parasiteX_WD ?parasiteName ?intxn3Label ?hostPlant_WD ?hostPlantName ?study2_DOI ?study3_DOI WHERE {
# part-1 interaction data parasite and parasitoid
{
SELECT DISTINCT ?parasitoidName ?parasiteName ?parasiteX_WD ?intxn2Label ?parasitoidX_WD ?study2_DOI WHERE {
?intxn2 emi:hasSource ?parasitoidX ; # retrieve interaction pairs part-1
emi:hasTarget ?parasiteX ;
emi:isClassifiedWith ?intxnName2 .
VALUES ?intxnName2 { <http://purl.obolibrary.org/obo/RO_0002208> } # keep interactions only if the interaction-id is RO_0002208 (parasitoidOf), e.g: 'parasitoidX' is 'parasitoidOf' 'parasiteX'
?intxnName2 rdfs:label ?intxn2Label .
?parasitoidX emi:inTaxon ?parasitoidX_WD ; # retreieve wikidata-ids for parasitoidX
rdfs:label ?parasitoidName ;
sosa:isSampleOf ?parasitoidSample . # retrieve scientific name of parasitoidX as listed in GloBI
?parasiteX emi:inTaxon ?parasiteX_WD ; # retreieve wikidata-ids for parasiteX
rdfs:label ?parasiteName ;
sosa:isSampleOf ?parasiteSample . # retreieve scientific name for parasiteX as listed in GloBI
OPTIONAL {
?intxn2 dcterms:bibliographicCitation ?study2_DOI . # optionally retrieve the doi of the study for parasitoid-parasite pairs
}
}
}
# part-2 interaction data parasite and host plant
?parasiteX1 emi:inTaxon ?parasiteX_WD . # check pasarsiteX1 is in wikidata-id parasiteX_WD (the ones obtained from interaction-pairs part-1)
?intxn3 emi:hasSource ?parasiteX1 ; # retrieve interaction pairs part-2
emi:hasTarget ?hostPlant ;
emi:isClassifiedWith ?intxnName3 .
?intxnName3 rdfs:label ?intxn3Label .
?hostPlant emi:inTaxon ?hostPlant_WD ; # retreieve wikidata-ids for hostPlant
rdfs:label ?hostPlantName ;
sosa:isSampleOf ?hostPlantSample . # retreieve scientific name for hostPlant as listed in GloBI
OPTIONAL {
?intxn3 dcterms:bibliographicCitation ?study3_DOI .
}
FILTER (!(STR(?intxn3Label) IN ('visits', 'visitsFlowersOf', 'pollinates'))) # keep interactions only if the interaction-names are not 'visits', 'visitsFlowersOf' or 'pollinates'. e.g.: 'parasiteX1' is 'pathogenOf/parasiteOf/..' 'hostPlant'
SERVICE <https://qlever.cs.uni-freiburg.de/api/wikidata> {
?hostPlant_WD wdt:P171* wd:Q879246 . # keep the interaction pairs part-2 only if hostPlant_WD has Kingdom Archaeplastida (wd:Q879246) in its lineage, this is to ensure the hostPlant is really a plant
}
} LIMIT 1000
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v16("?hostPlant")
v19("?hostPlantName"):::projected
v20("?hostPlantSample")
v18("?hostPlant_WD"):::projected
v2("?intxn2")
v6("?intxn2Label"):::projected
v15("?intxn3")
v1("?intxn3Label"):::projected
v6("?intxnName2")
v17("?intxnName3")
v11("?parasiteName"):::projected
v12("?parasiteSample")
v4("?parasiteX")
v14("?parasiteX1")
v10("?parasiteX_WD"):::projected
v8("?parasitoidName"):::projected
v9("?parasitoidSample")
v3("?parasitoidX")
v7("?parasitoidX_WD"):::projected
v13("?study2_DOI"):::projected
v21("?study3_DOI"):::projected
c13(["wd:Q879246"]):::iri
list0c1(["visits"]):::literal
list0c3(["pollinates"]):::literal
list0c2(["visitsFlowersOf"]):::literal
list0c1 --o f0
list0c2 --o f0
list0c3 --o f0
f0[["not in "]]
f0 --> v1
v2 --"emi:hasSource"--> v3
v2 --"emi:hasTarget"--> v4
v2 --"emi:isClassifiedWith"--> v6
bind1[/VALUES ?intxnName2/]
bind1-->v6
bind10([http://purl.obolibrary.org/obo/RO_0002208])
bind10 --> bind1
v6 --"rdfs:label"--> v6
v3 --"emi:inTaxon"--> v7
v3 --"rdfs:label"--> v8
v3 --"sosa:isSampleOf"--> v9
v4 --"emi:inTaxon"--> v10
v4 --"rdfs:label"--> v11
v4 --"sosa:isSampleOf"--> v12
subgraph optional0["(optional)"]
style optional0 fill:#bbf,stroke-dasharray: 5 5;
v2 -."dcterms:bibliographicCitation".-> v13
end
v14 --"emi:inTaxon"--> v10
v15 --"emi:hasSource"--> v14
v15 --"emi:hasTarget"--> v16
v15 --"emi:isClassifiedWith"--> v17
v17 --"rdfs:label"--> v1
v16 --"emi:inTaxon"--> v18
v16 --"rdfs:label"--> v19
v16 --"sosa:isSampleOf"--> v20
subgraph optional1["(optional)"]
style optional1 fill:#bbf,stroke-dasharray: 5 5;
v15 -."dcterms:bibliographicCitation".-> v21
end
subgraph s1["https://qlever.cs.uni-freiburg.de/api/wikidata"]
style s1 stroke-width:4px;
v18 --"wdt:P171"--> c13
end