sparql-examples

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

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

examples013

rq turtle/ttl

List all metabolites produced by species with near threatened (wd:Q719675) IUCN status (wdt:P141) and with values available (or greater than a specific value) for trait 'Seed dry mass'.

Use at

PREFIX emi: <https://purl.org/emi#>
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 sosa: <http://www.w3.org/ns/sosa/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?structure_inchikey ?wd_chem ?source_wdx ?sourceName WHERE {
	# trait data
	?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 .
	?tryObId sosa:hasResult ?tryData .
	?trySpName emi:inTaxon ?source_wdx . # wikidata-ids wdx for trySpName
	?tryData rdfs:label ?tryDataLab ;					
		rdf:type emi:Trait ; #retrieve data which is labelled as 'Trait' and its values
		rdf:value ?tryDataVal .
	FILTER (STR(?tryDataLab) = 'Seed dry mass' ) #filter on data label 'Seed dry mass'
	FILTER (?tryDataVal >= 100)						
	SERVICE <https://qlever.cs.uni-freiburg.de/api/wikidata> {
        	?source_wdx wdt:P141 wd:Q719675 . # filter wikidata-ids for trySpName, which have IUCN status (wdt:P141) as near threatened (wd:Q719675)
        }	
	# metabolite data
	{ 
		SELECT ?source_wdx ?structure_inchikey ?wd_chem 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 ?structure_inchikey .
			?structure_inchikey emi:isInChIKeyOf ?wd_chem .	# wikidata-ids for metabolites
		}
	}
	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:P703 ?source_wdx .	
		}
	}
} LIMIT 1000
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v10("?extract")
  v14("?feature")
  v13("?feature_list")
  v16("?ik2d")
  v12("?lcms")
  v9("?material")
  v11("?organe")
  v15("?sirius_annotation")
  v17("?smiles")
  v5("?sourceName"):::projected 
  v8("?source_wdx"):::projected 
  v18("?structure_inchikey"):::projected 
  v7("?tryData")
  v2("?tryDataLab")
  v1("?tryDataVal")
  v6("?tryObId")
  v4("?trySpName")
  v3("?trySpObs")
  v19("?wd_chem"):::projected 
  c9(["emi:Trait"]):::iri 
  c17(["emi:StructuralAnnotation"]):::iri 
  c13(["wd:Q719675"]):::iri 
  f0[["?tryDataVal >= '100^^xsd:integer'"]]
  f0 --> v1
  f1[["str(?tryDataLab) = 'Seed dry mass'"]]
  f1 --> v2
  v3 --"sosa:isSampleOf"-->  v4
  v3 --"rdfs:label"-->  v5
  v3 --"sosa:isFeatureOfInterestOf"-->  v6
  v6 --"sosa:hasResult"-->  v7
  v4 --"emi:inTaxon"-->  v8
  v7 --"rdfs:label"-->  v2
  v7 --"a"-->  c9
  v7 --"rdf:value"-->  v1
  subgraph s1["https://qlever.cs.uni-freiburg.de/api/wikidata"]
    style s1 stroke-width:4px;
    v8 --"wdt:P141"-->  c13
  end
  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;
      v19 --"wdt:P235"-->  v18
      v19 --"wdt:P703"-->  v8
    end
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    v9 --"sosa:hasSample"-->  v10
    v9 --"sosa:isSampleOf"-->  v11
    v11 --"emi:inTaxon"-->  v8
    v10 --"sosa:isFeatureOfInterestOf"-->  v12
    v12 --"sosa:hasResult"-->  v13
    v13 --"emi:hasLCMSFeature"-->  v14
    v14 --"emi:hasAnnotation"-->  v15
    v15 --"a"-->  c17
    v15 --"emi:hasChemicalStructure"-->  v16
    v16 --"emi:hasSMILES"-->  v17
    v16 --"emi:isInChIKey2DOf"-->  v18
    v18 --"emi:isInChIKeyOf"-->  v19
  end
  union0r <== or ==> union0l
  end