Help:WikiPathways SPARQL queries

From WikiPathways

(Difference between revisions)
Jump to: navigation, search
(Get the number of interactions with some data source)
Current revision (15:29, 8 April 2022) (view source)
 
(144 intermediate revisions not shown.)
Line 2: Line 2:
Queries can be performed in three ways:
Queries can be performed in three ways:
-
1. Either go to the endpoint directly and create your own SPARQL query
+
1. Either go to the endpoint directly and create your own SPARQL query.
-
2. Copy and past one of the example queries listed below in the endpoint.
+
2. Copy and paste an example query listed below in the endpoint.
-
3. Click the execute link under an example query, which will take you directly to the result of the example query.
+
3. Adapt a [[#Code_example | code examples]] to programmatically make a SPARQL query
This project is written up in the "[http://journals.plos.org/ploscompbiol/article/metrics?id=10.1371%2Fjournal.pcbi.1004989 Using the Semantic Web for Rapid Integration of WikiPathways with Other Biological Online Data Resources]" paper.
This project is written up in the "[http://journals.plos.org/ploscompbiol/article/metrics?id=10.1371%2Fjournal.pcbi.1004989 Using the Semantic Web for Rapid Integration of WikiPathways with Other Biological Online Data Resources]" paper.
 +
 +
<pre style="color: red">
 +
NOTIFICATION: Due to an Apache update, we are now creating RDF data according to SPARQL 1.1.
 +
 +
However, our SPARQL-endpoint running on Virtuoso is still using SPARQL 1.0.
 +
 +
This influences the way to query strings, and might affect federated queries.
 +
 +
Please remove the ^^xsd:string suffix, as shown in the example below.
 +
 +
</pre>
 +
 +
[[Image:SPARQL11.png‎]]
= Resources =
= Resources =
* WikiPathways internal vocabularies: http://vocabularies.wikipathways.org
* WikiPathways internal vocabularies: http://vocabularies.wikipathways.org
-
* WikiPathways SPARQL endpoint http://sparql.wikipathways.org
+
* WikiPathways SPARQL endpoint https://sparql.wikipathways.org/sparql
-
 
+
-
* Identifiers.org: http://identifiers.org
+
-
* Sparqlbin http://sparqlbin.org
+
-
* Searches prefixes: http://prefix.cc
+
 +
* Identifiers.org: https://identifiers.org
 +
* Searches prefixes: http://prefix.cc
= Submit ideas =
= Submit ideas =
Line 27: Line 38:
= Prefixes =
= Prefixes =
-
Within the example queries, we have omitted the prefixes. These prefixes are automatically used in the SPARQL Endpoint.
+
Within the example queries, we have omitted the prefixes. These prefixes are automatically used in the SPARQL endpoint.
The following prefixes are used in the WikiPathways RDF:
The following prefixes are used in the WikiPathways RDF:
Line 36: Line 47:
PREFIX wprdf:  <http://rdf.wikipathways.org/>
PREFIX wprdf:  <http://rdf.wikipathways.org/>
PREFIX biopax:  <http://www.biopax.org/release/biopax-level3.owl#>  
PREFIX biopax:  <http://www.biopax.org/release/biopax-level3.owl#>  
-
PREFIX cas:    <http://identifiers.org/cas/>
+
PREFIX cas:    <https://identifiers.org/cas/>
PREFIX dc:      <http://purl.org/dc/elements/1.1/>  
PREFIX dc:      <http://purl.org/dc/elements/1.1/>  
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf:    <http://xmlns.com/foaf/0.1/>  
PREFIX foaf:    <http://xmlns.com/foaf/0.1/>  
-
PREFIX ncbigene:<http://identifiers.org/ncbigene/>
+
PREFIX ncbigene:<https://identifiers.org/ncbigene/>
PREFIX pubmed:  <http://www.ncbi.nlm.nih.gov/pubmed/>  
PREFIX pubmed:  <http://www.ncbi.nlm.nih.gov/pubmed/>  
PREFIX rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#>  
PREFIX rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#>  
Line 54: Line 65:
== Metadata queries ==
== Metadata queries ==
-
List the information about the data sets in the SPARQL end point:
+
List the information about the data sets in the SPARQL endpoint:
<pre>
<pre>
Line 64: Line 75:
}
}
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3Fdataset+str%28%3FtitleLit%29+as+%3Ftitle+%3Fdate+%3Flicense+where+{%0D%0A++%3Fdataset+a+void%3ADataset+%3B%0D%0A++++dcterms%3Atitle+%3FtitleLit+%3B%0D%0A++++dcterms%3Alicense+%3Flicense+%3B%0D%0A++++pav%3AcreatedOn+%3Fdate+.%0D%0A}&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3djoPo2 Execute]
== Pathway oriented queries ==
== Pathway oriented queries ==
Line 80: Line 91:
}
}
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+wp%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Forganism+str%28%3Flabel%29+as+%3Fname%0D%0AWHERE+%7B%0D%0A++++%3Fconcept+wp%3Aorganism+%3Forganism+%3B%0D%0A++++++wp%3AorganismName+%3Flabel+.%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3rXT9sq Execute]
===List pathways and their species ===
===List pathways and their species ===
Line 94: Line 105:
}  
}  
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+dc%3A++++++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0APREFIX+wp%3A+++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0A%0D%0ASELECT+DISTINCT+str%28%3Ftitle%29+as+%3Fpathway+str%28%3Flabel%29+as+%3Forganism+%0D%0AWHERE+%7B%0D%0A++++%3Fpw+dc%3Atitle+%3Ftitle+%3B%0D%0A++++++wp%3Aorganism+%3Forganism+%3B%0D%0A++++++wp%3AorganismName+%3Flabel+.%0D%0A%7D+%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3beDONr Execute]
=== List the species captured in WikiPathways and the number of pathways per species===
=== List the species captured in WikiPathways and the number of pathways per species===
Line 109: Line 120:
ORDER BY DESC(?pathwayCount)
ORDER BY DESC(?pathwayCount)
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+dc%3A++++++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0APREFIX+wp%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Forganism+str%28%3Flabel%29+as+%3Fname+count%28%3Fpw%29+as+%3FpathwayCount%0D%0AWHERE+%7B%0D%0A++++%3Fpw+dc%3Atitle+%3Ftitle+%3B%0D%0A++++++wp%3Aorganism+%3Forganism+%3B%0D%0A++++++wp%3AorganismName+%3Flabel+.%0D%0A%7D%0D%0AORDER+BY+DESC%28%3FpathwayCount%29%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3dh824Q Execute]
=== List all pathways for species "Mus musculus" ===
=== List all pathways for species "Mus musculus" ===
-
The following query list all mouse pathways. ?wpIdentifier is the link through identifiers.org, ?pathway points to the rdf version of wikipathways and ?page is the revision which is loaded in the sparql endpoint.  
+
The following query list all mouse pathways. ?wpIdentifier is the link through identifiers.org, ?pathway points to the RDF version of WikiPathways and ?page is the revision which is loaded in the SPARQL endpoint.  
<PRE>
<PRE>
Line 127: Line 138:
     ?pathway foaf:page ?page .
     ?pathway foaf:page ?page .
     ?pathway dc:identifier ?wpIdentifier .
     ?pathway dc:identifier ?wpIdentifier .
-
     ?pathway wp:organismName "Mus musculus"^^xsd:string .
+
     ?pathway wp:organismName "Mus musculus" .
  }
  }
ORDER BY ?wpIdentifier
ORDER BY ?wpIdentifier
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dc%3A++++++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0APREFIX+foaf%3A++++%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+%0D%0APREFIX+wp%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3FwpIdentifier+%3Fpathway+%3Fpage%0D%0AWHERE+%7B%0D%0A++++%3Fpathway+dc%3Atitle+%3Ftitle+.%0D%0A++++%3Fpathway+foaf%3Apage+%3Fpage+.%0D%0A++++%3Fpathway+dc%3Aidentifier+%3FwpIdentifier+.%0D%0A++++%3Fpathway+wp%3AorganismName+%22Mus+musculus%22%5E%5Exsd%3Astring+.%0D%0A+%7D%0D%0AORDER+BY+%3FwpIdentifier%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute] [https://gist.github.com/andrawaag/5974484 Perl]
+
[https://bit.ly/3GKc68N Execute] [https://gist.github.com/andrawaag/5974484 Perl]
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
=== Get all pathways with a particular gene ===
=== Get all pathways with a particular gene ===
Line 157: Line 162:
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0APREFIX+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fpathway+str%28%3Flabel%29+as+%3FgeneProduct%0D%0AWHERE+%7B%0D%0A++++%3FgeneProduct+a+wp%3AGeneProduct+.+%0D%0A++++%3FgeneProduct+rdfs%3Alabel+%3Flabel+.%0D%0A++++%3FgeneProduct+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++%3Fpathway+a+wp%3APathway+.%0D%0A++++%0D%0A++++FILTER+regex%28str%28%3Flabel%29%2C+%22CYP%22%29.+%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on execute]
+
[https://bit.ly/3dgZb30 Execute]
=== Get all groups and complexes containing a particular gene ===
=== Get all groups and complexes containing a particular gene ===
Line 179: Line 184:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0APREFIX+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fpathway+str%28%3Flabel%29+as+%3FgeneProduct%0D%0AWHERE+%7B%0D%0A++++%3FgeneProduct+a+wp%3AGeneProduct+.+%0D%0A++++%3FgeneProduct+rdfs%3Alabel+%3Flabel+.%0D%0A++++%3FgeneProduct+dcterms%3AisPartOf+%3Fpathway+.%0D%0A%0D%0A++++FILTER+NOT+EXISTS+%7B+%3Fpathway+a+wp%3AInteraction+%7D+.%0D%0A++++FILTER+NOT+EXISTS+%7B+%3Fpathway+a+wp%3APathway+%7D+.%0D%0A++++FILTER+regex%28str%28%3Flabel%29%2C+%22CYP%22%29.+%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on execute]
+
[https://bit.ly/3bd59iH Execute]
===Get all the genes on a particular pathway===
===Get all the genes on a particular pathway===
Line 193: Line 198:
     ?geneProduct dcterms:isPartOf ?pathway .
     ?geneProduct dcterms:isPartOf ?pathway .
     ?pathway a wp:Pathway .
     ?pathway a wp:Pathway .
-
     ?pathway dcterms:identifier "WP1560"^^xsd:string .  
+
     ?pathway dcterms:identifier "WP1560" .  
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0APREFIX+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+distinct+%3Fpathway+str%28%3Flabel%29+as+%3FgeneProduct+where+%7B%0D%0A++++%3FgeneProduct+a+wp%3AGeneProduct+.+%0D%0A++++%3FgeneProduct+rdfs%3Alabel+%3Flabel+.%0D%0A++++%3FgeneProduct+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++%3Fpathway+a+wp%3APathway+.%0D%0A++++%3Fpathway+dcterms%3Aidentifier+%22WP1560%22%5E%5Exsd%3Astring+.+%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on excute]
+
[https://bit.ly/3sD7b4C Execute]
=== Count the number of pathways per ontology term ===
=== Count the number of pathways per ontology term ===
Line 209: Line 214:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=SELECT+DISTINCT+%3FpwOntologyTerm+count%28%3FpwOntologyTerm%29+as+%3FpathwayCount%0D%0A+WHERE+{%0D%0A%09%3FpathwayRDF+wp%3AontologyTag+%3FpwOntologyTerm+.%0D%0A+}%0D%0A+ORDER+BY+DESC%28%3FpathwayCount%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/2ZmNzn0 Execute]
=== Get all pathways with a particular ontology term ===
=== Get all pathways with a particular ontology term ===
Line 224: Line 229:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+obo%3A+%3Chttp%3A%2F%2Fpurl.obolibrary.org%2Fobo%2F%3E%0D%0A%0D%0ASELECT+%3Fpathway+%28str%28%3FtitleLit%29+AS+%3Ftitle%29%0D%0AWHERE+%7B%0D%0A++%3FpathwayRDF+wp%3AontologyTag+obo%3APW_0000296+%3B%0D%0A++++++++++++++foaf%3Apage+%3Fpathway+%3B%0D%0A++++++++++++++dc%3Atitle+%3FtitleLit+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on execute]
+
[https://bit.ly/3dm0VYV Execute]
=== Get all ontology terms for a particular pathway ===
=== Get all ontology terms for a particular pathway ===
Line 234: Line 239:
     foaf:page ?pathway ;
     foaf:page ?pathway ;
     dc:title ?titleLit ;
     dc:title ?titleLit ;
-
     dcterms:identifier "WP1560"^^xsd:string .  
+
     dcterms:identifier "WP1560" .  
   FILTER (! regex(str(?pathway), "group"))
   FILTER (! regex(str(?pathway), "group"))
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=SELECT+%3Fo+as+%3FpwOntologyTerm+str%28%3FtitleLit%29+as+%3Ftitle+%3Fpathway+%0D%0AWHERE+{%0D%0A++%3FpathwayRDF+wp%3AontologyTag+%3Fo+%3B%0D%0A++++foaf%3Apage+%3Fpathway+%3B%0D%0A++++dc%3Atitle+%3FtitleLit+%3B%0D%0A++++dcterms%3Aidentifier+%22WP1560%22^^xsd%3Astring+.+%0D%0A%0D%0A++FILTER+%28!+regex%28str%28%3Fpathway%29%2C+%22group%22%29%29%0D%0A}%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3JoXkG9 Execute]
=== Get all Reactome pathways ===
=== Get all Reactome pathways ===
Line 252: Line 257:
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+cur%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23Curation%3A%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fpathway+%28str%28%3FtitleLit%29+as+%3Ftitle%29%0D%0AWHERE+%7B%0D%0A++%3Fpathway+wp%3AontologyTag+cur%3AReactome_Approved+%3B%0D%0A+++++++++++dc%3Atitle+%3FtitleLit+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3k01zgc Execute]
-
=== Get all pathways with Pubmed references ===
+
=== Get all Proteins from Community pathways ===
 +
Obtain all Protein DataNodes (so not GeneProducts) from specific communities.
 +
Note: All community tags are available in the WikiPathways SPARQL endpoint now (the "Blau" community was updated to "IEM").
 +
 
 +
<PRE>
 +
PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
 +
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
 +
PREFIX dcterms: <http://purl.org/dc/terms/>
 +
PREFIX cur: <http://vocabularies.wikipathways.org/wp#Curation:>
 +
 
 +
SELECT DISTINCT ?pathway (str(?label) as ?Protein)
 +
WHERE {
 +
  ?pathway wp:ontologyTag    cur:Lipids  ; # Other communities: AOP; CIRM_Related ; COVID19 ; IEM ; RareDiseases ; SGD_Approved ; WormBase_Approved
 +
          a                wp:Pathway .
 +
 
 +
  ?protein a                wp:Protein ;
 +
          rdfs:label        ?label    ;
 +
          dcterms:isPartOf  ?pathway  .
 +
 
 +
}
 +
</PRE>
 +
 
 +
[https://bit.ly/3qwAV0D Execute]
 +
 
 +
=== Get all pathways with PubMed references ===
<PRE>
<PRE>
SELECT DISTINCT ?pathway ?pubmed  
SELECT DISTINCT ?pathway ?pubmed  
Line 260: Line 289:
     {?pubmed a      wp:PublicationReference .  
     {?pubmed a      wp:PublicationReference .  
       ?pubmed dcterms:isPartOf ?pathway }
       ?pubmed dcterms:isPartOf ?pathway }
-
ORDER BY ?pathway
+
ORDER BY ?pathway LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fpathway+%3Fpubmed+%0D%0AWHERE+%0D%0A+++++%7B%3Fpubmed+a+++++++wp%3APublicationReference+.+%0D%0A++++++%3Fpubmed+dcterms%3AisPartOf+%3Fpathway+%7D%0D%0AORDER+BY+%3Fpathway&format=text%2Fhtml&timeout=0&debug=on Execute]
 
 +
[https://bit.ly/3BhTR9A Execute]
-
=== Get all pathways with a particular Pubmed reference ===
+
=== Get all pathways with a particular PubMed reference ===
<PRE>
<PRE>
SELECT DISTINCT ?pathway ?pubmed  
SELECT DISTINCT ?pathway ?pubmed  
Line 278: Line 307:
The $ at the end of the PubMed identifier ensures that, for example, 147694831 does not match too; the regex instruction '$' means "end of the string".
The $ at the end of the PubMed identifier ensures that, for example, 147694831 does not match too; the regex instruction '$' means "end of the string".
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=SELECT+DISTINCT+%3Fpathway+%3Fpubmed+%0D%0AWHERE+{%0D%0A++++++%3Fpubmed+a+++++++wp%3APublicationReference+.+%0D%0A++++++%3Fpubmed+dcterms%3AisPartOf+%3Fpathway+.%0D%0A%0D%0A++++++FILTER+regex%28str%28%3Fpubmed%29%2C+%2214769483%24%22%29+%0D%0A}%0D%0AORDER+BY+%3Fpathway&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?&query=SELECT+DISTINCT+%3Fpathway+%3Fpubmed+%0D%0AWHERE+{%0D%0A++++++%3Fpubmed+a+++++++wp%3APublicationReference+.+%0D%0A++++++%3Fpubmed+dcterms%3AisPartOf+%3Fpathway+.%0D%0A%0D%0A++++++FILTER+regex%28str%28%3Fpubmed%29%2C+%2214769483%24%22%29+%0D%0A}%0D%0AORDER+BY+%3Fpathway&format=text%2Fhtml&timeout=0&debug=on Execute]
=== Get all pathways and the number of refences per pathway ===
=== Get all pathways and the number of refences per pathway ===
Line 288: Line 317:
ORDER BY DESC(?numberOfReferences)  
ORDER BY DESC(?numberOfReferences)  
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fpathway+COUNT%28%3Fpubmed%29+AS+%3FnumberOfReferences%0D%0AWHERE+%0D%0A+++++%7B%3Fpubmed+a+++++++wp%3APublicationReference+.+%0D%0A++++++%3Fpubmed+dcterms%3AisPartOf+%3Fpathway+%7D%0D%0AORDER+BY+DESC%28%3FnumberOfReferences%29+&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?default-graph-uri=&query=SELECT+DISTINCT+%3Fpathway+COUNT%28%3Fpubmed%29+AS+%3FnumberOfReferences%0D%0AWHERE+%0D%0A+++++%7B%3Fpubmed+a+++++++wp%3APublicationReference+.+%0D%0A++++++%3Fpubmed+dcterms%3AisPartOf+%3Fpathway+%7D%0D%0AORDER+BY+DESC%28%3FnumberOfReferences%29+&format=text%2Fhtml&timeout=0&debug=on Execute]
=== Get a full dump of all pathways and their pathway ontological terms ===
=== Get a full dump of all pathways and their pathway ontological terms ===
Line 309: Line 338:
         OPTIONAL {?pathway wp:ontologyTag ?ontology .}
         OPTIONAL {?pathway wp:ontologyTag ?ontology .}
-
}  
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dc%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0D%0APREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E%0D%0APREFIX+schema%3A+%3Chttp%3A%2F%2Fschema.org%2F%3E%0D%0APREFIX+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0APREFIX+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fdepicts+str%28%3FtitleLit%29+as+%3Ftitle+str%28%3FspeciesLabelLit%29+as+%3FspeciesLabel+%3Fidentifier+%3Fontology%0D%0AWHERE+{%0D%0A%09%3Fpathway+foaf%3Apage+%3Fdepicts+.%0D%0A++++++++%3Fpathway+dc%3Atitle+%3FtitleLit+.%0D%0A++++++++%3Fpathway+wp%3Aorganism+%3Fspecies+.%0D%0A++++++++%3Fpathway+wp%3AorganismName+%3FspeciesLabelLit+.%0D%0A++++++++%3Fpathway+dc%3Aidentifier+%3Fidentifier+.%0D%0A%0D%0A++++++++OPTIONAL+{%3Fpathway+wp%3AontologyTag+%3Fontology+.}%0D%0A}+%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3rMxlTd Execute]
 +
=== Count how many genes from a list occur in one or more pathways ===
 +
 +
The gene list is given in the line starting with VALUES. For this example, we use the HGNC gene nomenclature.
 +
 +
Other gene IDs can be used to fill the list. However, keep in mind they use different URLs and therefore the prefix (first line of query) should be adapted.
 +
A list of these URLs can be found on identifiers.org (or by looking at the "raw" RDF files).
 +
 +
<PRE>
 +
prefix hgnc:      <https://identifiers.org/hgnc.symbol/>
 +
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?hgncId) AS ?GenesInPWs)
 +
where {
 +
VALUES ?hgncId {hgnc:GPD1L hgnc:SCN3B hgnc:BAD}
 +
  ?gene a wp:GeneProduct ;
 +
    dcterms:identifier ?id ;
 +
    dcterms:isPartOf ?pathwayRes ;
 +
    wp:bdbHgncSymbol ?hgncId .
 +
  ?pathwayRes a wp:Pathway ;
 +
              wp:organismName "Homo sapiens" ;
 +
    dcterms:identifier ?wpid ;
 +
    dc:title ?title .
 +
}
 +
 +
ORDER BY DESC(?GenesInPWs)
 +
</PRE>
 +
[https://bit.ly/3gLC80N Execute]
 +
 +
== LIPID MAPS related queries: ==
 +
 +
=== Count amount of lipids per pathways in WikiPathways with LIPID MAPS identifier ===
 +
 +
Converts all Metabolite identifiers to LipidMaps (provided by BridgeDb), and create an ordered list of pathways including lipid compounds.
 +
 +
<PRE>
 +
prefix lipidmaps:      <https://identifiers.org/lipidmaps/>
 +
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?lipidID) AS ?LipidsInPWs)
 +
where {
 +
  ?metabolite a wp:Metabolite ;
 +
    dcterms:identifier ?id ;
 +
    dcterms:isPartOf ?pathwayRes ;
 +
    wp:bdbLipidMaps ?lipidID .
 +
  ?pathwayRes a wp:Pathway ;
 +
              wp:organismName "Homo sapiens" ;
 +
    dcterms:identifier ?wpid ;
 +
    dc:title ?title .
 +
}
 +
 +
ORDER BY DESC(?LipidsInPWs)
 +
</PRE>
 +
 +
[https://bit.ly/34FCrb9 Execute]
 +
 +
=== Count amount of lipids per LIPID MAPS ontology class ===
 +
 +
Counts unique LIPID MAPS identifier (provided by BridgeDb) for the fatty acid (FA) class, other examples are provided as a comment.
 +
 +
<PRE>
 +
select count(distinct ?lipidID) as ?IndividualLipidsPerClass_FA
 +
where {    ?metabolite a wp:Metabolite ;
 +
    dcterms:identifier ?id ;
 +
    dcterms:isPartOf ?pathwayRes ;
 +
    wp:bdbLipidMaps ?lipidID .
 +
  ?pathwayRes a wp:Pathway ;
 +
              wp:organismName "Homo sapiens" ;
 +
    dcterms:identifier ?wpid ;
 +
    dc:title ?title .
 +
  FILTER regex(str(?lipidID), "FA" ). # Other classes: GL, GP, SP, ST, PR, SL, PK
 +
}
 +
</PRE>
 +
 +
[https://bit.ly/33iCc56 Execute]
 +
 +
=== Find pathways per LIPID MAPS ontology class, sorted on amount of unique lipids ===
 +
 +
Filter all unique LIPID MAPS identifier (provided by BridgeDb) for the fatty acid (FA) class, and find all pathways with individual lipids in there.
 +
 +
<PRE>
 +
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?lipidID) AS ?FA_LipidsInPWs)
 +
where {    ?metabolite a wp:Metabolite ;
 +
    dcterms:identifier ?id ;
 +
    dcterms:isPartOf ?pathwayRes ;
 +
    wp:bdbLipidMaps ?lipidID .
 +
  ?pathwayRes a wp:Pathway ;
 +
              wp:organismName "Homo sapiens" ;
 +
    dcterms:identifier ?wpid ;
 +
    dc:title ?title .
 +
  FILTER regex(str(?lipidID), "FA" ). # Fatty acids, Other classes: GL, GP, SP, ST, PR, SL, PK
 +
}
 +
 +
ORDER BY DESC(?FA_LipidsInPWs)
 +
</PRE>
 +
[https://bit.ly/34U7qQG Execute]
== Data statistics oriented queries ==
== Data statistics oriented queries ==
Line 336: Line 456:
} GROUP BY ?label ORDER BY DESC(?count)
} GROUP BY ?label ORDER BY DESC(?count)
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+%28count%28distinct+%3Fmetabolite%29+as+%3Fcount%29+%28str%28%3Flabel%29+as+%3Fspecies%29+where+%7B%0D%0A++%3Fmetabolite+a+wp%3AMetabolite+%3B%0D%0A++++dcterms%3AisPartOf+%3Fpw+.%0D%0A++%3Fpw+dc%3Atitle+%3Ftitle+%3B%0D%0A++++wp%3Aorganism+%3Forganism+%3B%0D%0A++++wp%3AorganismName+%3Flabel+.%0D%0A%7D+GROUP+BY+%3Flabel+ORDER+BY+DESC%28%3Fcount%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/34DwbAI Execute]
== Interaction oriented queries ==
== Interaction oriented queries ==
Line 354: Line 474:
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction a wp:Interaction .  
   ?interaction a wp:Interaction .  
-
   ?interaction wp:participants <http://identifiers.org/ensembl/ENSG00000125845> .   
+
   ?interaction wp:participants <https://identifiers.org/ensembl/ENSG00000125845> .   
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Finteraction+%3Fpathway++WHERE+%7B%0D%0A%0D%0A+++%3Fpathway+a+wp%3APathway+.%0D%0A+++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.+%0D%0A+++%3Finteraction+a+wp%3AInteraction+.+%0D%0A+++%3Finteraction+wp%3Aparticipants+%3Chttp%3A%2F%2Fidentifiers.org%2Fensembl%2FENSG00000125845%3E+.+++%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3GIlwl7 Execute]
-
=== Find all datanodes (GeneProducts, Metabolites, Pathways) that are connected to a particular datanode via any type of interaction (wp:Interaction). ===
+
=== Find all datanodes (GeneProducts, Metabolites, Pathways) that are connected to a particular datanode via any type of interaction (wp:Interaction) ===
<PRE>
<PRE>
SELECT DISTINCT ?participants ?DataNodeLabel ?interaction WHERE {
SELECT DISTINCT ?participants ?DataNodeLabel ?interaction WHERE {
   ?interaction a wp:Interaction .
   ?interaction a wp:Interaction .
    
    
-
   ?interaction wp:participants <http://identifiers.org/ensembl/ENSG00000125845> .   
+
   ?interaction wp:participants <https://identifiers.org/ensembl/ENSG00000125845> .   
   ?interaction wp:participants ?participants .
   ?interaction wp:participants ?participants .
   ?participants a wp:DataNode .
   ?participants a wp:DataNode .
Line 372: Line 492:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fparticipants+%3FDataNodeLabel+%3Finteraction+WHERE+%7B%0D%0A+++%3Finteraction+a+wp%3AInteraction+.%0D%0A+++%0D%0A+++%3Finteraction+wp%3Aparticipants+%3Chttp%3A%2F%2Fidentifiers.org%2Fensembl%2FENSG00000125845%3E+.+++%0D%0A+++%3Finteraction+wp%3Aparticipants+%3Fparticipants+.%0D%0A+++%3Fparticipants+a+wp%3ADataNode+.%0D%0A+++%3Fparticipants+rdfs%3Alabel+%3FDataNodeLabel+.+++%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3gLDDvX Execute]
-
=== Get all interactions for a particular pathway. ===
+
=== Get all interactions for a particular pathway ===
<PRE>
<PRE>
Line 383: Line 503:
   ?pathway a wp:Pathway .
   ?pathway a wp:Pathway .
-
   ?pathway dc:identifier <http://identifiers.org/wikipathways/WP1425> .
+
   ?pathway dc:identifier <https://identifiers.org/wikipathways/WP1425> .
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction a wp:Interaction .   
   ?interaction a wp:Interaction .   
Line 389: Line 509:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+wp%3A++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fpathway+%3Finteraction+++%0D%0AWHERE+%7B%0D%0A%0D%0A+++%3Fpathway+a+wp%3APathway+.%0D%0A+++%3Fpathway+dc%3Aidentifier+%3Chttp%3A%2F%2Fidentifiers.org%2Fwikipathways%2FWP1425%3E+.%0D%0A+++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.+%0D%0A+++%3Finteraction+a+wp%3AInteraction+.++%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3LA5xcL Execute]
-
=== Get all interactions for a particular pathway and their participants. ===
+
=== Get all interactions for a particular pathway and their participants ===
<PRE>
<PRE>
Line 400: Line 520:
   ?pathway a wp:Pathway .
   ?pathway a wp:Pathway .
-
   ?pathway dc:identifier <http://identifiers.org/wikipathways/WP1425> .
+
   ?pathway dc:identifier <https://identifiers.org/wikipathways/WP1425> .
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction a wp:Interaction .
   ?interaction a wp:Interaction .
Line 409: Line 529:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fpathway+%3Finteraction+%3Fparticipants+%3FDataNodeLabel%0D%0AWHERE+%7B%0D%0A%0D%0A+++%3Fpathway+a+wp%3APathway+.%0D%0A+++%3Fpathway+dc%3Aidentifier+%3Chttp%3A%2F%2Fidentifiers.org%2Fwikipathways%2FWP1425%3E+.%0D%0A+++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.+%0D%0A+++%3Finteraction+a+wp%3AInteraction+.%0D%0A+++%3Finteraction+wp%3Aparticipants+%3Fparticipants+.%0D%0A+++%3Fparticipants+a+wp%3ADataNode+.%0D%0A+++%3Fparticipants+rdfs%3Alabel+%3FDataNodeLabel+.++%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3sHolxN Execute]
-
=== Get all Interactions. ===
+
=== Get all Interactions ===
-
Limited to 1000 interactions.
+
Limited to 100 interactions.
<PRE>
<PRE>
Line 426: Line 546:
}
}
-
LIMIT 1000
+
LIMIT 100
</PRE>
</PRE>
 +
[https://bit.ly/3uIwqVQ Execute]
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+wp%3A++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fpathway+%3Finteraction+%3Fparticipant%0D%0AWHERE+%7B%0D%0A%0D%0A+++%3Fpathway+a+wp%3APathway+.+%0D%0A+++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++%3Finteraction+a+wp%3AInteraction+.%0D%0A+++%3Finteraction+wp%3Aparticipants+%3Fparticipant+.+%0D%0A%7D%0D%0A%0D%0ALIMIT+1000&format=text%2Fhtml&timeout=0&debug=on Execute]
+
=== Get all Interactions for a species (Homo sapiens) ===
-
=== Get all Interactions for a species (Homo sapiens). ===
+
We've added a LIMIT to this query (since it takes some time to run). Remove the 'LIMIT 100' to obtain all interactions
<PRE>
<PRE>
Line 442: Line 563:
   ?pathway a wp:Pathway .
   ?pathway a wp:Pathway .
-
   ?pathway wp:organismName "Homo sapiens"^^xsd:string .  
+
   ?pathway wp:organismName "Homo sapiens" .  
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction dcterms:isPartOf ?pathway .  
   ?interaction a wp:Interaction .   
   ?interaction a wp:Interaction .   
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fpathway+%3Finteraction+++%0D%0AWHERE+%7B%0D%0A%0D%0A+++%3Fpathway+a+wp%3APathway+.%0D%0A+++%3Fpathway+wp%3AorganismName+%22Homo+sapiens%22%5E%5Exsd%3Astring+.+%0D%0A+++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.+%0D%0A+++%3Finteraction+a+wp%3AInteraction+.++%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/34CCK6B Execute]
-
 
+
-
=== Get downstream adjacent nodes from a source. ===
+
=== Get downstream adjacent nodes from a source ===
A directed interaction always runs from source to target.  (eg. s --> t)
A directed interaction always runs from source to target.  (eg. s --> t)
Line 460: Line 580:
SELECT DISTINCT ?source ?label ?target ?label1 ?pathway ?interaction
SELECT DISTINCT ?source ?label ?target ?label1 ?pathway ?interaction
WHERE {
WHERE {
-
     ?source dc:identifier <http://identifiers.org/ensembl/ENSG00000125845> .
+
     ?source dc:identifier <https://identifiers.org/ensembl/ENSG00000125845> .
     ?source dcterms:isPartOf ?pathway .
     ?source dcterms:isPartOf ?pathway .
     ?pathway a wp:Pathway .
     ?pathway a wp:Pathway .
Line 474: Line 594:
</PRE>
</PRE>
 +
[https://bit.ly/3BhM8Z6 Execute]
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fsource+%3Flabel+%3Ftarget+%3Flabel1+%3Fpathway+%3Finteraction%0D%0AWHERE+%7B%0D%0A++++%3Fsource+dc%3Aidentifier+%3Chttp%3A%2F%2Fidentifiers.org%2Fensembl%2FENSG00000125845%3E+.%0D%0A++++%3Fsource+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++%3Fpathway+a+wp%3APathway+.%0D%0A++++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++%3Finteraction+a+wp%3AInteraction+.%0D%0A++++%3Finteraction+wp%3Asource+%3Fsource+.%0D%0A%0D%0A++++%3Finteraction+wp%3Atarget+%3Ftarget+.%0D%0A++++%3Fsource+rdfs%3Alabel+%3Flabel+.%0D%0A++++%3Ftarget+rdfs%3Alabel+%3Flabel1+.%0D%0A+%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
=== Get upstream adjacent nodes from a target ===
-
 
+
-
=== Get upstream adjacent nodes from a target. ===
+
A directed interaction always runs from source to target.  (eg. t <-- s)
A directed interaction always runs from source to target.  (eg. t <-- s)
Line 485: Line 604:
SELECT DISTINCT ?target ?label1 ?source ?label ?pathway ?interaction
SELECT DISTINCT ?target ?label1 ?source ?label ?pathway ?interaction
WHERE {
WHERE {
-
     ?target dc:identifier <http://identifiers.org/ncbigene/659> .
+
     ?target dc:identifier <https://identifiers.org/ncbigene/659> .
     ?target dcterms:isPartOf ?pathway .
     ?target dcterms:isPartOf ?pathway .
     ?pathway a wp:Pathway .
     ?pathway a wp:Pathway .
Line 499: Line 618:
</PRE>
</PRE>
-
 
+
[https://bit.ly/3HRcTWP Execute]
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+wp%3A++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Ftarget+%3Flabel1+%3Fsource+%3Flabel+%3Fpathway+%3Finteraction%0D%0AWHERE+%7B%0D%0A++++%3Ftarget+dc%3Aidentifier+%3Chttp%3A%2F%2Fidentifiers.org%2Fncbigene%2F659%3E+.%0D%0A++++%3Ftarget+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++%3Fpathway+a+wp%3APathway+.%0D%0A++++%3Finteraction+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++%3Finteraction+a+wp%3AInteraction+.%0D%0A++++%3Finteraction+wp%3Atarget+%3Ftarget+.%0D%0A%0D%0A++++%3Finteraction+wp%3Asource+%3Fsource+.%0D%0A++++%3Ftarget+rdfs%3Alabel+%3Flabel1+.%0D%0A++++%3Fsource+rdfs%3Alabel+%3Flabel+.%0D%0A++++%0D%0A+%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
=== Get the number of interactions with some data source ===
=== Get the number of interactions with some data source ===
Line 517: Line 635:
   ORDER BY DESC(?count)
   ORDER BY DESC(?count)
</PRE>
</PRE>
 +
 +
[https://bit.ly/34S0qUf Execute]
=== Get the number of normalized identifiers by data source ===
=== Get the number of normalized identifiers by data source ===
Line 535: Line 655:
   ORDER BY DESC(?count) ?source
   ORDER BY DESC(?count) ?source
</PRE>
</PRE>
 +
 +
[https://bit.ly/3uKUMOI Execute]
== Datasource oriented queries ==
== Datasource oriented queries ==
Line 543: Line 665:
         ?concept dc:source ?datasourceLit
         ?concept dc:source ?datasourceLit
} </pre>
} </pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+str%28%3FdatasourceLit%29+as+%3Fdatasource++%0D%0AWHERE+%7B%0D%0A+++++++++%3Fconcept+dc%3Asource+%3FdatasourceLit%0D%0A%7D+&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3oP6SCJ Execute]
===Get the number of entries per datasource in WikiPathways===
===Get the number of entries per datasource in WikiPathways===
Line 552: Line 674:
}  
}  
ORDER BY DESC(?numberEntries)</pre>
ORDER BY DESC(?numberEntries)</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+str%28%3FdatasourceLit%29+as+%3Fdatasource+count%28%3FdataNode%29+as+%3FnumberEntries+%0D%0AWHERE+%7B%0D%0A++%3Fconcept+dc%3Asource+%3FdatasourceLit+%3B%0D%0A++++wp%3AisAbout+%3FdataNode+.%0D%0A%7D+%0D%0AORDER+BY+DESC%28%3FnumberEntries%29%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3Jq0Gce Execute]
===Count the identifiers per data source===
===Count the identifiers per data source===
Line 561: Line 683:
   ?concept dc:identifier ?identifier
   ?concept dc:identifier ?identifier
} </pre>
} </pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+str%28%3FdatasourceLit%29+as+%3Fdatasource+count%28distinct+%3Fidentifier%29+AS+%3FnumberEntries+%0D%0AWHERE+%7B%0D%0A++%3Fconcept+dc%3Asource+%3FdatasourceLit+.%0D%0A++%3Fconcept+dc%3Aidentifier+%3Fidentifier%0D%0A%7D+&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3HU4XEj Execute]
===Count the identifiers per data source and order them from high to low===
===Count the identifiers per data source and order them from high to low===
Line 570: Line 692:
   ?concept dc:identifier ?identifier
   ?concept dc:identifier ?identifier
} ORDER BY DESC(?numberEntries)</pre>
} ORDER BY DESC(?numberEntries)</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+str%28%3FdatasourceLit%29+as+%3Fdatasource+count%28distinct+%3Fidentifier%29+AS+%3FnumberEntries+%0D%0AWHERE+%7B%0D%0A++%3Fconcept+dc%3Asource+%3FdatasourceLit+.%0D%0A++%3Fconcept+dc%3Aidentifier+%3Fidentifier%0D%0A%7D+ORDER+BY+DESC%28%3FnumberEntries%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3GScAK6 Execute]
=== Return all compounds annotated with the "ChEMBL compound" as data source and the pathways they are in ===
=== Return all compounds annotated with the "ChEMBL compound" as data source and the pathways they are in ===
Line 576: Line 698:
WHERE {
WHERE {
         ?concept dcterms:isPartOf ?pathway .
         ?concept dcterms:isPartOf ?pathway .
-
         ?concept dc:source "ChEMBL compound"^^xsd:string .
+
         ?concept dc:source "ChEMBL compound" .
         ?concept dc:identifier ?identifier .
         ?concept dc:identifier ?identifier .
          
          
} </pre>
} </pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=SELECT+DISTINCT+%3Fidentifier+%3Fpathway%0D%0AWHERE+%7B%0D%0A++++++++%3Fconcept+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++++++%3Fconcept+dc%3Asource+%22ChEMBL+compound%22%5E%5Exsd%3Astring+.%0D%0A++++++++%3Fconcept+dc%3Aidentifier+%3Fidentifier+.%0D%0A++++++++%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
 
 +
[https://bit.ly/3uOyqMk Execute]
== Curators oriented queries ==
== Curators oriented queries ==
Line 587: Line 710:
<pre>SELECT DISTINCT  ?identifier ?pathway ?label
<pre>SELECT DISTINCT  ?identifier ?pathway ?label
WHERE {
WHERE {
-
         ?concept dc:source "null"^^xsd:string .
+
         ?concept dc:source "null" .
         ?concept dc:identifier ?identifier .
         ?concept dc:identifier ?identifier .
         ?concept dcterms:isPartOf ?pathway .
         ?concept dcterms:isPartOf ?pathway .
         ?concept rdfs:label ?label
         ?concept rdfs:label ?label
} </pre>
} </pre>
-
[http://sparqlbin.com/#c0b65b9658401dca047f9c7b482c670a sparqlbin] [http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%0D%0APREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E%0D%0APREFIX+schema%3A+%3Chttp%3A%2F%2Fschema.org%2F%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0A%0D%0ASELECT+DISTINCT++%3Fidentifier+%3Fpathway+%3Flabel%0D%0AWHERE+%7B%0D%0A++++++++%3Fconcept+dc%3Asource+%22null%22%5E%5Exsd%3Astring+.%0D%0A++++++++%3Fconcept+dc%3Aidentifier+%3Fidentifier+.%0D%0A++++++++%3Fconcept+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++++++%3Fconcept+rdfs%3Alabel+%3Flabel%0D%0A%7D+%0D%0A%0D%0A++++&format=text%2Fhtml&timeout=30000 Execute]
+
[https://bit.ly/3HRdTKz Execute]
=== Get all geneproducts that lack either a DataSource or an Identifier===
=== Get all geneproducts that lack either a DataSource or an Identifier===
Line 608: Line 731:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+distinct+%3Fpathway+%3Flabel+where+%7B%3FgeneProduct+a+wp%3AGeneProduct+.+%0D%0A++++++%3FgeneProduct+rdfs%3Alabel+%3Flabel+.%0D%0A++++++%3FgeneProduct+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++++%0D%0A++++++FILTER+regex%28str%28%3FgeneProduct%29%2C+%22%5Enode%22%29.+%0D%0A++++++FILTER+regex%28str%28%3Fpathway%29%2C+%22%5Ehttp%22%29.%0D%0A++++++%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+distinct+%3Fpathway+%3Flabel+where+%7B%3FgeneProduct+a+wp%3AGeneProduct+.+%0D%0A++++++%3FgeneProduct+rdfs%3Alabel+%3Flabel+.%0D%0A++++++%3FgeneProduct+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++++%0D%0A++++++FILTER+regex%28str%28%3FgeneProduct%29%2C+%22%5Enode%22%29.+%0D%0A++++++FILTER+regex%28str%28%3Fpathway%29%2C+%22%5Ehttp%22%29.%0D%0A++++++%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
=== Get entities with more than one identifier ===
=== Get entities with more than one identifier ===
 +
 +
This query contains a limit, since it might take some time to run.
<PRE>
<PRE>
select ?entity count(?identifier) as ?count where {
select ?entity count(?identifier) as ?count where {
   ?entity <http://purl.org/dc/terms/identifier> ?identifier .
   ?entity <http://purl.org/dc/terms/identifier> ?identifier .
-
} order by desc(?count)  
+
} order by desc(?count) LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=select+%3Fentity+count%28%3Fidentifier%29+as+%3Fcount+where+%7B%0D%0A++%3Fentity+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2Fidentifier%3E+%3Fidentifier+.%0D%0A%7D+order+by+desc%28%3Fcount%29+&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3GKdcBr Execute]
 +
=== PubChem-compound 1004 ===
 +
Warning: may time out, which indicates there is no current use of this identifier value.
 +
Wrongly used for phosphate. It is the uncharged compound. Phosphate is, instead, and particularly thinkgs like "Pi",
 +
CID 1061 for ortho-phosphate, aka [PO4]2-.
 +
<pre>
 +
prefix wp:      <http://vocabularies.wikipathways.org/wp#>
 +
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
 +
prefix dcterms:  <http://purl.org/dc/terms/>
 +
prefix xsd:    <http://www.w3.org/2001/XMLSchema#>
 +
select ?pathway ?source
 +
where {
 +
  ?mb dc:source ?source ;
 +
    dcterms:isPartOf ?pathway ;
 +
    dc:source "Pubchem Compound" ;
 +
    dcterms:identifier "1004".
 +
}
 +
</pre>
 +
[https://bit.ly/362bkr2 Execute]
-
=== PubChem-compound 1004 ===
+
=== Entrez Gene 1004 ===
-
Warning: may time out, which indicates there is no current use of this identifier value.
+
This query will return results, since the ID '1004' is in use by Entrez Gene, and we are not filtering for a specific database name.
-
 
+
-
Wrongly used for phosphate. It is the uncharged compound. Phosphate is, instead, and particularly thinkgs like "Pi",
+
-
CID 1061 for ortho-phosphate, aka [PO4]2-.
+
<pre>
<pre>
Line 642: Line 782:
   ?mb dc:source ?source ;
   ?mb dc:source ?source ;
     dcterms:isPartOf ?pathway ;
     dcterms:isPartOf ?pathway ;
-
     dcterms:identifier "1004"^^xsd:string .
+
     dcterms:identifier "1004".
}
}
</pre>
</pre>
-
[http://goo.gl/0cB4z Execute]
+
[https://bit.ly/3v3ZzuX Execute]
=== Outdated HMDB identifiers ===
=== Outdated HMDB identifiers ===
Line 667: Line 807:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+distinct+str%28%3FidentifierStr%29+as+%3Fidentifier%0D%0Awhere+%7B%0D%0A++%3Fmb+a+wp%3AMetabolite+%3B%0D%0A++++dc%3Asource+%22HMDB%22%5E%5Exsd%3Astring+%3B%0D%0A++++dcterms%3Aidentifier+%3FidentifierStr+.%0D%0A++OPTIONAL+%7B+%3Fmb++wp%3AbdbHmdb+%3Fbridgedb+.+%7D%0D%0A++FILTER+%28%21BOUND%28%3Fbridgedb%29%29%0D%0A%7D+order+by+%3FidentifierStr&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+distinct+str%28%3FidentifierStr%29+as+%3Fidentifier%0D%0Awhere+%7B%0D%0A++%3Fmb+a+wp%3AMetabolite+%3B%0D%0A++++dc%3Asource+%22HMDB%22%5E%5Exsd%3Astring+%3B%0D%0A++++dcterms%3Aidentifier+%3FidentifierStr+.%0D%0A++OPTIONAL+%7B+%3Fmb++wp%3AbdbHmdb+%3Fbridgedb+.+%7D%0D%0A++FILTER+%28%21BOUND%28%3Fbridgedb%29%29%0D%0A%7D+order+by+%3FidentifierStr&format=text%2Fhtml&timeout=0&debug=on Execute]
=== Metabolites not classified as such ===
=== Metabolites not classified as such ===
Line 682: Line 822:
     dcterms:identifier ?identifier .
     dcterms:identifier ?identifier .
   FILTER NOT EXISTS { ?mb a wp:Metabolite }
   FILTER NOT EXISTS { ?mb a wp:Metabolite }
-
} order by desc(?count)
+
} order by asc(?count)
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+str%28%3FdatasourceLit%29+as+%3Fdatasource+count%28%3Fidentifier%29+as+%3Fcount%0D%0Awhere+%7B%0D%0A++%3Fmb+dc%3Asource+%3FdatasourceLit+%3B%0D%0A++++dcterms%3Aidentifier+%3Fidentifier+.%0D%0A++FILTER+NOT+EXISTS+%7B+%3Fmb+a+wp%3AMetabolite+%7D%0D%0A%7D+order+by+desc%28%3Fcount%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3rMZM3x Execute]
 +
 
 +
Check the full list, to see which databases normally used for chemicals are not typed as Metabolites.
 +
Gene identifier sources are most likely at the bottom.
 +
Note: Wikidata can be used for Metabolites, Proteins, and Genes (but is preferably used only for Metabolites, since there are no mappings available yet to map to other gene databases).
-
That mostly lists gene identifier sources, etc, but watch out for the metabolite identifier data sources. For example, metabolites not marked as such but with a metabolite identifier can be found this way. Down the list is CAS (but genes are chemicals too...), and a few minor more:
+
Example (data from 2022-01-10)
<pre>
<pre>
-
HMDB 4
+
ChEBI 1
-
ChEBI 3
+
XMetDB 2
-
GLYCAN 3
+
Wikidata 90
-
COMPOUND 3
+
-
PubChem 2
+
</pre>
</pre>
-
I would expect GLYCAN and COMPOUND to be misnomers of the matching KEGG subsets.
 
==== Metabolites sometimes marked as DataNode@Type Metabolite ====
==== Metabolites sometimes marked as DataNode@Type Metabolite ====
Line 724: Line 865:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0Aprefix+xsd%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0A%0D%0Aselect+%3Fpathway+%3Fnonmb+%3Fmb+str%28%3FlabelLit%29+as+%3Flabel%0D%0Awhere+{%0D%0A++%3Fnonmb+rdfs%3Alabel+%3FlabelLit+.%0D%0A++%3Fmb+rdfs%3Alabel+%3FlabelLit+.%0D%0A++%3Fnonmb+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++FILTER+%28+%3Fnonmb+!%3D+%3Fmb+%29%0D%0A++FILTER+NOT+EXISTS+{+%3Fnonmb+a+wp%3AMetabolite+}%0D%0A++FILTER+EXISTS+{+%3Fpathway+a+wp%3APathway+}%0D%0A++FILTER+EXISTS+{+%3Fmb+a+wp%3AMetabolite+}%0D%0A++FILTER+%28!regex%28str%28%3Fnonmb%29%2C++%22noIdentifier%22%2C+%22i%22%29%29%0D%0A++FILTER+%28!regex%28str%28%3Fmb%29%2C++%22noIdentifier%22%2C+%22i%22%29%29%0D%0A}&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3v42Avh Execute]
=== Metabolites with too many labels ===
=== Metabolites with too many labels ===
Line 744: Line 885:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0A%0D%0Aselect+distinct+%3Fmb+count%28distinct+%3FlabelLit%29+as+%3FlabelCount%0D%0Awhere+{%0D%0A++%3Fmb+a+wp%3AMetabolite+%3B%0D%0A++++rdfs%3Alabel+%3FlabelLit+%3B%0D%0A++++dcterms%3AisPartOf+%3Fpathway+.%0D%0A++%3Fpathway+a+wp%3APathway+.%0D%0A}+order+by+desc%28%3FlabelCount%29+%3Fmb+&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3LtpPEN Execute]
-
And get the actual labels (and more) with:
+
And get the actual labels (and more) with (perform a ctrl+f to search for the term "label'):
<pre>
<pre>
-
describe <http://identifiers.org/hmdb/HMDB02174>
+
Describe <https://identifiers.org/chebi/CHEBI:35366>
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=describe+%3Chttp%3A%2F%2Fidentifiers.org%2Fhmdb%2FHMDB02174%3E&format=text%2Fx-html%2Bul&timeout=0&debug=on Execute]
+
[https://bit.ly/3GOMQhV Execute]
Or use this one, but mind that pathway/label combinations are combinatorial, because they share the same node:
Or use this one, but mind that pathway/label combinations are combinatorial, because they share the same node:
Line 759: Line 900:
select distinct ?pathway (str(?labelLit) as ?label)
select distinct ?pathway (str(?labelLit) as ?label)
where {
where {
-
   <http://identifiers.org/hmdb/HMDB01401> a wp:Metabolite;
+
   <https://identifiers.org/hmdb/HMDB0001401> a wp:Metabolite;
     rdfs:label ?labelLit ;
     rdfs:label ?labelLit ;
     dcterms:isPartOf ?pathway .
     dcterms:isPartOf ?pathway .
Line 766: Line 907:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3Fpathway+str%28%3FlabelLit%29+as+%3Flabel%0D%0Awhere+{%0D%0A++%3Chttp%3A%2F%2Fidentifiers.org%2Fhmdb%2FHMDB01401%3E+a+wp%3AMetabolite%3B%0D%0A++++rdfs%3Alabel+%3FlabelLit+%3B%0D%0A++++dcterms%3AisPartOf+%3Fpathway+.%0D%0A++%3Fpathway+a+wp%3APathway+.%0D%0A}+order+by+%3Fpathway&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3e4pidW Execute]
=== Metabolites with an Entrez Gene identifier ===
=== Metabolites with an Entrez Gene identifier ===
Line 780: Line 921:
   ?mb a wp:Metabolite ;
   ?mb a wp:Metabolite ;
     rdfs:label ?labelLit ;
     rdfs:label ?labelLit ;
-
     dc:source "Entrez Gene"^^xsd:string ;
+
     dc:source "Entrez Gene" ;
     dcterms:identifier ?identifierLit ;
     dcterms:identifier ?identifierLit ;
     dcterms:isPartOf ?pathway .
     dcterms:isPartOf ?pathway .
Line 787: Line 928:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0Aprefix+xsd%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0A%0D%0Aselect+distinct+%3Fpathway+%3Fmb+str%28%3FlabelLit%29+as+%3Flabel+str%28%3FidentifierLit%29+as+%3Fidentifier+%0D%0Awhere+%7B%0D%0A++%3Fmb+a+wp%3AMetabolite+%3B%0D%0A++++rdfs%3Alabel+%3FlabelLit+%3B%0D%0A++++dc%3Asource+%22LIPID+MAPS%22%5E%5Exsd%3Astring+%3B%0D%0A++++dcterms%3Aidentifier+%3FidentifierLit+%3B%0D%0A++++dcterms%3AisPartOf+%3Fpathway+.%0D%0A++%3Fpathway+a+wp%3APathway+.%0D%0A%7D+order+by+%3Fpathway%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3uNb1uA Execute]
=== Metabolites without a link to Wikidata ===
=== Metabolites without a link to Wikidata ===
 +
 +
This query provides a list of IDs which might be relevant to add to Wikidata.
<pre>
<pre>
Line 801: Line 944:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+wdt%3A+%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fmetabolite+WHERE+%7B%0D%0A++%3Fmetabolite+a+wp%3AMetabolite+.%0D%0A++OPTIONAL+%7B+%3Fmetabolite+wp%3AbdbWikidata+%3Fwikidata+.+%7D%0D%0A++FILTER+%28%21BOUND%28%3Fwikidata%29%29%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/366i5bj Execute]
A variant sorting the metabolites by the number of pathways they occur in:
A variant sorting the metabolites by the number of pathways they occur in:
Line 818: Line 961:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=PREFIX+wdt%3A+%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0D%0A%0D%0ASELECT+%3Fmetabolite+%28count%28DISTINCT+%3FpathwayRes%29+as+%3Fpathways%29+WHERE+%7B%0D%0A++%3Fmetabolite+a+wp%3AMetabolite+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+.%0D%0A++%3FpathwayRes+a+wp%3APathway+.%0D%0A++OPTIONAL+%7B+%3Fmetabolite+wp%3AbdbWikidata+%3Fwikidata+.+%7D%0D%0A++FILTER+%28%21BOUND%28%3Fwikidata%29%29%0D%0A%7D+GROUP+BY+%3Fmetabolite+ORDER+BY+DESC%28%3Fpathways%29%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3rJlV2C Execute]
-
And finally, finding double mappings to Wikidata:
+
And finally, finding double mappings to Wikidata (which is also a nice curation task):
<pre>
<pre>
Line 834: Line 977:
</pre>
</pre>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+wdt%3A+%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3FmetaboliteID+%28GROUP_CONCAT%28DISTINCT+%3Fwikidata%3Bseparator%3D%22%2C+%22%29+AS+%3Fresults%29+WHERE+%7B%0D%0A++%3FmetaboliteID+a+wp%3AMetabolite+.%0D%0A++%3FmetaboliteID+wp%3AbdbWikidata+%3Fwikidata+.%0D%0A++%3FmetaboliteID+wp%3AbdbWikidata+%3Fwikidata2+.%0D%0A++FILTER%28%3Fwikidata+%21%3D+%3Fwikidata2%29%0D%0A%7D+GROUP+BY+%3FmetaboliteID&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3uKI2rd Execute]
=== Pathways without (annotated) datanodes ===
=== Pathways without (annotated) datanodes ===
Line 851: Line 994:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0Aprefix+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E%0D%0Aprefix+xsd%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0A%0D%0ASELECT+DISTINCT+%3Fpathway%0D%0AWHERE%7B%0D%0A%3Fpathway+a+wp%3APathway.%0D%0AFILTER+NOT+EXISTS+%7B%3Fnode+dcterms%3AisPartOf+%3Fpathway.%0D%0A%3Fnode+a+wp%3ADataNode%7D%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/34IAXgd Execute]
 +
 
 +
=== Pathways without literature references ===
 +
 
 +
<PRE>
 +
SELECT (STR(?speciesLabelLit) AS ?species) (STR(?titleLit) AS ?title) ?pathway WHERE {
 +
  ?pathway a wp:Pathway ; dc:title ?titleLit ; wp:organismName ?speciesLabelLit .
 +
  MINUS { ?pubmed a      wp:PublicationReference .
 +
          ?pubmed dcterms:isPartOf ?pathway }
 +
} ORDER BY ASC(?species) ASC(?title)
 +
</PRE>
 +
 
 +
[https://bit.ly/36ewzGn Execute]
 +
 
 +
Or if you just want to know how many these are:
 +
 
 +
<PRE>
 +
SELECT count(DISTINCT ?pathway) WHERE {
 +
  ?pathway a wp:Pathway ; dc:title ?titleLit ; wp:organismName ?speciesLabelLit .
 +
  MINUS { ?pubmed a       wp:PublicationReference .
 +
          ?pubmed dcterms:isPartOf ?pathway }
 +
}</PRE>
 +
 
 +
[https://bit.ly/3JpPCf1 Execute]
== Literature queries ==
== Literature queries ==
Line 867: Line 1,033:
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+cur%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23Curation%3A%3E%0D%0A%0D%0ASELECT+%28COUNT%28DISTINCT+%3Fpubmed%29+AS+%3Fcount%29%0D%0AWHERE+%7B%0D%0A++%3Fpubmed+a+++++++wp%3APublicationReference+.%0D%0A++MINUS+%7B+%3Fpubmed+dcterms%3AisPartOf%2Fwp%3AontologyTag+cur%3AAnalysisCollection+%7D%0D%0A++%7B+%3Fpubmed+dcterms%3AisPartOf%2Fwp%3AontologyTag+cur%3AReactome_Approved+%7D%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/2OIgBLT Execute]
=== Articles cited by WikiPathways but not by Reactome ===
=== Articles cited by WikiPathways but not by Reactome ===
Line 881: Line 1,047:
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+cur%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23Curation%3A%3E%0D%0A%0D%0ASELECT+%28COUNT%28DISTINCT+%3Fpubmed%29+AS+%3Fcount%29%0D%0AWHERE+%7B%0D%0A++%3Fpubmed+a+++++++wp%3APublicationReference+.%0D%0A++%7B+%3Fpubmed+dcterms%3AisPartOf%2Fwp%3AontologyTag+cur%3AAnalysisCollection+%7D%0D%0A++MINUS+%7B+%3Fpubmed+dcterms%3AisPartOf%2Fwp%3AontologyTag+cur%3AReactome_Approved+%7D%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3u4so7d Execute]
=== Articles cited by both Reactome and WikiPathways ===
=== Articles cited by both Reactome and WikiPathways ===
Line 895: Line 1,061:
}
}
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+cur%3A+%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23Curation%3A%3E%0D%0A%0D%0ASELECT+%28COUNT%28DISTINCT+%3Fpubmed%29+AS+%3Fcount%29%0D%0AWHERE+%7B%0D%0A++%3Fpubmed+a+++++++wp%3APublicationReference+.%0D%0A++%7B+%3Fpubmed+dcterms%3AisPartOf%2Fwp%3AontologyTag+cur%3AAnalysisCollection+%7D%0D%0A++%7B+%3Fpubmed+dcterms%3AisPartOf%2Fwp%3AontologyTag+cur%3AReactome_Approved+%7D%0D%0A%7D%0D%0A&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3u2ARrJ Execute]
-
 
+
== Federated queries - !Under Construction!==
== Federated queries - !Under Construction!==
=== Other SPARQL endpoints used in the federated queries ===
=== Other SPARQL endpoints used in the federated queries ===
-
*  Arrayexpress Atlas: http://wwwdev.ebi.ac.uk/fgpt/gxa-sparql/index.jsp
+
Note that the EBI endpoints are not maintained and therefore do not yield results at the moment.
-
* Gene Wiki: http://genewiki.semwebinsi.de
+
We created a mirror for the ChEMBL endpoint at:
-
* ChEMBL: http://rdf.farmbio.uu.se/chembl/sparql/ (This should be replaced by the new RDF endpoint from ChEMBL itself)
+
-
* Text mining from Fraunhofer Institutes at University of Bonn: http://ops-virtuoso.scai.fraunhofer.de:8893/sparql
+
-
 
+
 +
* ChEMBL: https://chemblmirror.rdf.bigcat-bioinformatics.org/ (old: https://www.ebi.ac.uk/rdf/services/sparql and http://rdf.farmbio.uu.se/chembl/sparql/ ).
 +
Down/unavailable (EVI):
 +
* Arrayexpress Atlas: http://wwwdev.ebi.ac.uk/fgpt/gxa-sparql/index.jsp
 +
* Reactome endpoint.
 +
Other endpoints:
 +
* Gene Wiki: http://genewiki.semwebinsi.de
 +
* Text mining from Fraunhofer Institutes at University of Bonn: http://ops-virtuoso.scai.fraunhofer.de:8893/sparql
 +
* Wikidata: query.wikidata.org
 +
* IDSM (MolMeDB): https://idsm.elixir-czech.cz/sparql/endpoint/molmedb
=== WikiPathways with ChEMBL: all ChEMBL assays for pathways ===
=== WikiPathways with ChEMBL: all ChEMBL assays for pathways ===
 +
<PRE>
<PRE>
-
SELECT ?pathway ?target ?assay WHERE {
+
PREFIX chembl: <http://rdf.ebi.ac.uk/terms/chembl#>
-
{
+
 
-
  SELECT DISTINCT
+
SELECT ?pathway ?ensembl ?assay WHERE {
-
    ?pathway ?uniprot
+
  {
-
     iri(
+
    SELECT DISTINCT
-
       bif:concat("http://bio2rdf.org/uniprot:",
+
      ?pathway ?ensembl
-
      bif:regexp_substr('http://identifiers.org/uniprot/(.*)',?uniprot, 1))
+
     WHERE {
-
    ) as ?chembluniprot
+
       VALUES ?ensembl { <https://identifiers.org/ensembl/ENSG00000150093> }
-
  WHERE {
+
      ?s wp:bdbEnsembl ?ensembl ;
-
    ?s ?p ?uniprot .
+
        dcterms:isPartOf ?pathway .
-
    ?s dcterms:isPartOf ?pathway .
+
     }
-
     FILTER regex(?uniprot, "uniprot")
+
   }
   }
-
}
+
   SERVICE <https://chemblmirror.rdf.bigcat-bioinformatics.org/sparql> {
-
   SERVICE <http://rdf.farmbio.uu.se/chembl/sparql/> {
+
     OPTIONAL { ?assay a chembl:Assay ;
-
     ?target owl:sameAs ?chembluniprot .
+
      chembl:hasTarget/chembl:hasTargetComponent/chembl:targetCmptXref ?ensembl . }
-
    ?score chembl:forTarget ?target .
+
  }
-
    ?assay chembl:hasTargetScore ?score .
+
} limit 100
-
}
+
-
}
+
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+dc%3A++++++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0Aprefix+cas%3A+++++%3Chttp%3A%2F%2Fidentifiers.org%2Fcas%2F%3E+%0D%0Aprefix+wprdf%3A+++%3Chttp%3A%2F%2Frdf.wikipathways.org%2F%3E+%0D%0Aprefix+foaf%3A++++%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+%0D%0Aprefix+pubmed%3A++%3Chttp%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpubmed%2F%3E+%0D%0Aprefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E+%0D%0Aprefix+biopax%3A++%3Chttp%3A%2F%2Fwww.biopax.org%2Frelease%2Fbiopax-level3.owl%23%3E+%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E+%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E+%0D%0Aprefix+ncbigene%3A++%3Chttp%3A%2F%2Fidentifiers.org%2Fncbigene%2F%3E+%0D%0Aprefix+xsd%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E+%0D%0Aprefix+rdf%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E+%0D%0Aprefix+gpml%3A++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fgpml%23%3E+%0D%0Aprefix+skos%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E+%0D%0APREFIX+chembl%3A+%3Chttp%3A%2F%2Frdf.farmbio.uu.se%2Fchembl%2Fonto%2F%23%3E%0D%0A%0D%0ASELECT+%3Fpathway+%3Ftarget+%3Fassay+WHERE+%7B%0D%0A%7B%0D%0A++SELECT+DISTINCT%0D%0A++++%3Fpathway+%3Funiprot%0D%0A++++iri%28%0D%0A++++++bif%3Aconcat%28%22http%3A%2F%2Fbio2rdf.org%2Funiprot%3A%22%2C%0D%0A++++++bif%3Aregexp_substr%28%27http%3A%2F%2Fidentifiers.org%2Funiprot%2F%28.*%29%27%2C%3Funiprot%2C+1%29%29%0D%0A++++%29+as+%3Fchembluniprot%0D%0A++WHERE+%7B%0D%0A++++%3Fs+%3Fp+%3Funiprot+.%0D%0A++++%3Fs+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++FILTER+regex%28%3Funiprot%2C+%22uniprot%22%29%0D%0A++%7D%0D%0A%7D%0D%0A++SERVICE+%3Chttp%3A%2F%2Frdf.farmbio.uu.se%2Fchembl%2Fsparql%2F%3E+%7B%0D%0A++++%3Ftarget+owl%3AsameAs+%3Fchembluniprot+.%0D%0A++++%3Fscore+chembl%3AforTarget+%3Ftarget+.%0D%0A++++%3Fassay+chembl%3AhasTargetScore+%3Fscore+.%0D%0A%7D%0D%0A%7D%0D%0ALIMIT+50&format=text%2Fhtml&timeout=0&debug=on Execute]
+
 
 +
[https://bit.ly/3jWpDR4 Execute]
=== WikiPathways with ChEMBL: all molecules targeting pathways ===
=== WikiPathways with ChEMBL: all molecules targeting pathways ===
 +
 +
Here a limit is used too, as well as an IRI rewrite (from HTTPS to HTTP).
 +
<PRE>
<PRE>
-
SELECT ?pathway ?target ?assay ?smiles WHERE {
+
PREFIX chembl: <http://rdf.ebi.ac.uk/terms/chembl#>
-
{
+
PREFIX sio:    <http://semanticscience.org/resource/>
-
  SELECT DISTINCT
+
 
-
    ?pathway ?uniprot
+
SELECT ?pathway ?ensembl ?molecule ?smiles WHERE {
-
     iri(
+
  {
-
       bif:concat("http://bio2rdf.org/uniprot:",
+
    SELECT DISTINCT
-
       bif:regexp_substr('http://identifiers.org/uniprot/(.*)',?uniprot, 1))
+
      ?pathway ?ensembl
-
    ) as ?chembluniprot
+
     WHERE {
-
   WHERE {
+
       ?s wp:bdbEnsembl ?ensembl ;
-
     ?s ?p ?uniprot .
+
        dcterms:isPartOf ?pathway .
-
    ?s dcterms:isPartOf ?pathway .
+
      ?pathway dcterms:identifier "WP15".
-
    FILTER regex(?uniprot, "uniprot")
+
        
 +
      ##The IRI for Ensembl from WikiPathways starts with https:// , where the one from ChEMBL starts with http:// , so we need to rewrite the IRI
 +
    BIND(                     # Bind the created IRI into a new variable (called ?newIRI)
 +
        IRI(                  # Convert the string back to an IRI
 +
          CONCAT(              # Concatenate item 1 and 2 together as one string
 +
              "http",       # First item to concat (more items can be added with a comma
 +
              #Second item to concat:
 +
              SUBSTR(        # Obtain a substring
 +
                STR(?ensembl), # Convert the Ensembl IRI from WikiPathways to a string,
 +
                6)           # removing the first 6 characters (<https)
 +
        )) AS ?newIRI          # Name for the new variable
 +
    )
 +
    }
 +
   }
 +
  SERVICE <https://chemblmirror.rdf.bigcat-bioinformatics.org/sparql>  {
 +
     SELECT DISTINCT ?newIRI ?molecule ?smiles WHERE {
 +
      ?assay a chembl:Assay ; chembl:hasTarget/chembl:hasTargetComponent/chembl:targetCmptXref ?newIRI .
 +
      ?activity chembl:hasAssay ?assay ;
 +
                chembl:hasMolecule ?molecule .
 +
      OPTIONAL { ?molecule sio:SIO_000008 ?attrib . ?attrib a sio:CHEMINF_000018 ; sio:SIO_000300 ?smiles . }
 +
    } limit 100
   }
   }
}
}
-
  SERVICE <http://rdf.farmbio.uu.se/chembl/sparql/> {
+
 
-
    ?target owl:sameAs ?chembluniprot .
+
-
    ?score chembl:forTarget ?target .
+
-
    ?assay chembl:hasTargetScore ?score .
+
-
    ?activity chembl:onAssay ?assay ;
+
-
      chembl:forMolecule ?molecule .
+
-
    ?molecule bo:smiles ?smiles .
+
-
   
+
-
}
+
-
}
+
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=prefix+dc%3A++++++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0Aprefix+cas%3A+++++%3Chttp%3A%2F%2Fidentifiers.org%2Fcas%2F%3E+%0D%0Aprefix+wprdf%3A+++%3Chttp%3A%2F%2Frdf.wikipathways.org%2F%3E+%0D%0Aprefix+foaf%3A++++%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+%0D%0Aprefix+pubmed%3A++%3Chttp%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpubmed%2F%3E+%0D%0Aprefix+wp%3A++++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fwp%23%3E+%0D%0Aprefix+biopax%3A++%3Chttp%3A%2F%2Fwww.biopax.org%2Frelease%2Fbiopax-level3.owl%23%3E+%0D%0Aprefix+dcterms%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E+%0D%0Aprefix+rdfs%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E+%0D%0Aprefix+ncbigene%3A++%3Chttp%3A%2F%2Fidentifiers.org%2Fncbigene%2F%3E+%0D%0Aprefix+xsd%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E+%0D%0Aprefix+rdf%3A+++++%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E+%0D%0Aprefix+gpml%3A++++%3Chttp%3A%2F%2Fvocabularies.wikipathways.org%2Fgpml%23%3E+%0D%0Aprefix+skos%3A++++%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E+%0D%0APREFIX+chembl%3A+%3Chttp%3A%2F%2Frdf.farmbio.uu.se%2Fchembl%2Fonto%2F%23%3E%0D%0APREFIX+bo%3A+%3Chttp%3A%2F%2Fwww.blueobelisk.org%2Fchemistryblogs%2F%3E%0D%0A%0D%0ASELECT+%3Fpathway+%3Ftarget+%3Fassay+%3Fsmiles+WHERE+%7B%0D%0A%7B%0D%0A++SELECT+DISTINCT%0D%0A++++%3Fpathway+%3Funiprot%0D%0A++++iri%28%0D%0A++++++bif%3Aconcat%28%22http%3A%2F%2Fbio2rdf.org%2Funiprot%3A%22%2C%0D%0A++++++bif%3Aregexp_substr%28%27http%3A%2F%2Fidentifiers.org%2Funiprot%2F%28.*%29%27%2C%3Funiprot%2C+1%29%29%0D%0A++++%29+as+%3Fchembluniprot%0D%0A++WHERE+%7B%0D%0A++++%3Fs+%3Fp+%3Funiprot+.%0D%0A++++%3Fs+dcterms%3AisPartOf+%3Fpathway+.%0D%0A++++FILTER+regex%28%3Funiprot%2C+%22uniprot%22%29%0D%0A++%7D%0D%0A%7D%0D%0A++SERVICE+%3Chttp%3A%2F%2Frdf.farmbio.uu.se%2Fchembl%2Fsparql%2F%3E+%7B%0D%0A++++%3Ftarget+owl%3AsameAs+%3Fchembluniprot+.%0D%0A++++%3Fscore+chembl%3AforTarget+%3Ftarget+.%0D%0A++++%3Fassay+chembl%3AhasTargetScore+%3Fscore+.%0D%0A++++%3Factivity+chembl%3AonAssay+%3Fassay+%3B%0D%0A++++++chembl%3AforMolecule+%3Fmolecule+.%0D%0A++++%3Fmolecule+bo%3Asmiles+%3Fsmiles+.%0D%0A++++%0D%0A%7D%0D%0A%7D%0D%0ALIMIT+50&format=text%2Fhtml&timeout=0&debug=on Execute]
 
-
=== WikiPathways with EBI Atlas RDF - !Under Construction! ===
+
[https://bit.ly/3LuLRa7 Execute]
 +
 
 +
=== WikiPathways with EBI Atlas RDF ===
 +
 
 +
Unfortunately, this data is no longer hosted on a SPARQL endpoint by EBI (so the federated queries will not work).
 +
 
==== Genes differentially expressed in asthma and Pathways ====
==== Genes differentially expressed in asthma and Pathways ====
For the genes differentially expressed in asthma, get the gene products associated to a WikiPathways pathway. (Built upon example query 5 in: http://www.ebi.ac.uk/rdf/services/atlas/sparql ). You can substitute the [[Media:efo_table.pdf|EFO number for other disease codes]].
For the genes differentially expressed in asthma, get the gene products associated to a WikiPathways pathway. (Built upon example query 5 in: http://www.ebi.ac.uk/rdf/services/atlas/sparql ). You can substitute the [[Media:efo_table.pdf|EFO number for other disease codes]].
<PRE>
<PRE>
-
PREFIX identifiers:<http://identifiers.org/ensembl/>
+
PREFIX identifiers:<https://identifiers.org/ensembl/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
Line 991: Line 1,179:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+identifiers%3A%3Chttp%3A%2F%2Fidentifiers.org%2Fensembl%2F%3E%0D%0APREFIX+atlas%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fresource%2Fatlas%2F%3E%0D%0APREFIX+atlasterms%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fterms%2Fatlas%2F%3E%0D%0APREFIX+efo%3A+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2F%3E%0D%0A%0D%0Aselect+distinct+%3FwpURL+%3FpwTitle+%3FexpressionValue+%3Fpvalue+where+%7B%0D%0A%0D%0ASERVICE+%3Chttps%3A%2F%2Fwww.ebi.ac.uk%2Frdf%2Fservices%2Fatlas%2Fsparql%3E+%7B%0D%0A+++++%3Ffactor+rdf%3Atype+efo%3AEFO_0000270+.+%0D%0A+++++%3Fvalue+atlasterms%3AhasFactorValue+%3Ffactor+.+%0D%0A+++++%3Fvalue+atlasterms%3AisMeasurementOf+%3Fprobe+.+%0D%0A+++++%3Fvalue+atlasterms%3ApValue+%3Fpvalue+.+%0D%0A+++++%3Fvalue+rdfs%3Alabel+%3FexpressionValue+.+%0D%0A+++++%3Fprobe+atlasterms%3AdbXref+%3FdbXref+.%0D%0A%7D%0D%0A+++++%3FpwElement+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++++%3Fpathway+dc%3Atitle+%3FpwTitle+.%0D%0A+++++%3Fpathway+dc%3Aidentifier+%3FwpURL+.%0D%0A+++++%3FpwElement+wp%3AbdbEnsembl+%3FdbXref+.%0D%0A%7D%0D%0AORDER+BY+ASC%28%3Fpvalue%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?default-graph-uri=&query=PREFIX+identifiers%3A%3Chttps%3A%2F%2Fidentifiers.org%2Fensembl%2F%3E%0D%0APREFIX+atlas%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fresource%2Fatlas%2F%3E%0D%0APREFIX+atlasterms%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fterms%2Fatlas%2F%3E%0D%0APREFIX+efo%3A+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2F%3E%0D%0A%0D%0Aselect+distinct+%3FwpURL+%3FpwTitle+%3FexpressionValue+%3Fpvalue+where+%7B%0D%0A%0D%0ASERVICE+%3Chttps%3A%2F%2Fwww.ebi.ac.uk%2Frdf%2Fservices%2Fatlas%2Fsparql%3E+%7B%0D%0A+++++%3Ffactor+rdf%3Atype+efo%3AEFO_0000270+.+%0D%0A+++++%3Fvalue+atlasterms%3AhasFactorValue+%3Ffactor+.+%0D%0A+++++%3Fvalue+atlasterms%3AisMeasurementOf+%3Fprobe+.+%0D%0A+++++%3Fvalue+atlasterms%3ApValue+%3Fpvalue+.+%0D%0A+++++%3Fvalue+rdfs%3Alabel+%3FexpressionValue+.+%0D%0A+++++%3Fprobe+atlasterms%3AdbXref+%3FdbXref+.%0D%0A%7D%0D%0A+++++%3FpwElement+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++++%3Fpathway+dc%3Atitle+%3FpwTitle+.%0D%0A+++++%3Fpathway+dc%3Aidentifier+%3FwpURL+.%0D%0A+++++%3FpwElement+wp%3AbdbEnsembl+%3FdbXref+.%0D%0A%7D%0D%0AORDER+BY+ASC%28%3Fpvalue%29&format=text%2Fhtml&timeout=0&debug=on Execute]
==== Genes differentially expressed in [http://www.ebi.ac.uk/efo/EFO_0001360 type II diabetes mellitus] and Pathways ====
==== Genes differentially expressed in [http://www.ebi.ac.uk/efo/EFO_0001360 type II diabetes mellitus] and Pathways ====
<PRE>
<PRE>
-
PREFIX identifiers:<http://identifiers.org/ensembl/>
+
PREFIX identifiers:<https://identifiers.org/ensembl/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
Line 1,019: Line 1,207:
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+identifiers%3A%3Chttp%3A%2F%2Fidentifiers.org%2Fensembl%2F%3E%0D%0APREFIX+atlas%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fresource%2Fatlas%2F%3E%0D%0APREFIX+atlasterms%3A+%3Chttps%3A%2F%2Frdf.ebi.ac.uk%2Fterms%2Fatlas%2F%3E%0D%0APREFIX+efo%3A+%3Chttps%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2F%3E%0D%0A%0D%0Aselect+distinct+%3FwpURL+%3FpwTitle+%3FexpressionValue+%3Fpvalue+where+%7B%0D%0A%0D%0ASERVICE+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Frdf%2Fservices%2Fatlas%2Fsparql%3E+%7B%0D%0A+++++%3Ffactor+rdf%3Atype+efo%3AEFO_0000270+.+%0D%0A+++++%3Fvalue+atlasterms%3AhasFactorValue+%3Ffactor+.+%0D%0A+++++%3Fvalue+atlasterms%3AisMeasurementOf+%3Fprobe+.+%0D%0A+++++%3Fvalue+atlasterms%3ApValue+%3Fpvalue+.+%0D%0A+++++%3Fvalue+rdfs%3Alabel+%3FexpressionValue+.+%0D%0A+++++%3Fprobe+atlasterms%3AdbXref+%3FdbXref+.%0D%0A%7D%0D%0A+++++%3FpwElement+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++++%3Fpathway+dc%3Atitle+%3FpwTitle+.%0D%0A+++++%3Fpathway+dc%3Aidentifier+%3FwpURL+.%0D%0A+++++%3FpwElement+wp%3AbdbEnsembl+%3FdbXref+.%0D%0A%7D%0D%0AORDER+BY+ASC%28%3Fpvalue%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?default-graph-uri=&query=PREFIX+identifiers%3A%3Chttps%3A%2F%2Fidentifiers.org%2Fensembl%2F%3E%0D%0APREFIX+atlas%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fresource%2Fatlas%2F%3E%0D%0APREFIX+atlasterms%3A+%3Chttps%3A%2F%2Frdf.ebi.ac.uk%2Fterms%2Fatlas%2F%3E%0D%0APREFIX+efo%3A+%3Chttps%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2F%3E%0D%0A%0D%0Aselect+distinct+%3FwpURL+%3FpwTitle+%3FexpressionValue+%3Fpvalue+where+%7B%0D%0A%0D%0ASERVICE+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Frdf%2Fservices%2Fatlas%2Fsparql%3E+%7B%0D%0A+++++%3Ffactor+rdf%3Atype+efo%3AEFO_0000270+.+%0D%0A+++++%3Fvalue+atlasterms%3AhasFactorValue+%3Ffactor+.+%0D%0A+++++%3Fvalue+atlasterms%3AisMeasurementOf+%3Fprobe+.+%0D%0A+++++%3Fvalue+atlasterms%3ApValue+%3Fpvalue+.+%0D%0A+++++%3Fvalue+rdfs%3Alabel+%3FexpressionValue+.+%0D%0A+++++%3Fprobe+atlasterms%3AdbXref+%3FdbXref+.%0D%0A%7D%0D%0A+++++%3FpwElement+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++++%3Fpathway+dc%3Atitle+%3FpwTitle+.%0D%0A+++++%3Fpathway+dc%3Aidentifier+%3FwpURL+.%0D%0A+++++%3FpwElement+wp%3AbdbEnsembl+%3FdbXref+.%0D%0A%7D%0D%0AORDER+BY+ASC%28%3Fpvalue%29&format=text%2Fhtml&timeout=0&debug=on Execute]
==== Genes differentially expressed in [http://www.ebi.ac.uk/efo/EFO_0001073 obesity] and Pathways ====
==== Genes differentially expressed in [http://www.ebi.ac.uk/efo/EFO_0001073 obesity] and Pathways ====
<PRE>
<PRE>
-
PREFIX identifiers:<http://identifiers.org/ensembl/>
+
PREFIX identifiers:<https://identifiers.org/ensembl/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
Line 1,044: Line 1,232:
ORDER BY ASC(?pvalue)
ORDER BY ASC(?pvalue)
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+identifiers%3A%3Chttp%3A%2F%2Fidentifiers.org%2Fensembl%2F%3E%0D%0APREFIX+atlas%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fresource%2Fatlas%2F%3E%0D%0APREFIX+atlasterms%3A+%3Chttps%3A%2F%2Frdf.ebi.ac.uk%2Fterms%2Fatlas%2F%3E%0D%0APREFIX+efo%3A+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3FwpURL+%3FpwTitle+%3FexpressionValue+%3Fpvalue+where+%7B%0D%0A%0D%0ASERVICE+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Frdf%2Fservices%2Fatlas%2Fsparql%3E+%7B%0D%0A+++++%3Ffactor+rdf%3Atype+efo%3AEFO_0001073+.+%0D%0A+++++%3Fvalue+atlasterms%3AhasFactorValue+%3Ffactor+.+%0D%0A+++++%3Fvalue+atlasterms%3AisMeasurementOf+%3Fprobe+.+%0D%0A+++++%3Fvalue+atlasterms%3ApValue+%3Fpvalue+.+%0D%0A+++++%3Fvalue+rdfs%3Alabel+%3FexpressionValue+.+%0D%0A+++++%3Fprobe+atlasterms%3AdbXref+%3FdbXref+.%0D%0A%7D%0D%0A+++++%3FpwElement+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++++%3Fpathway+dc%3Atitle+%3FpwTitle+.%0D%0A+++++%3Fpathway+dc%3Aidentifier+%3FwpURL+.%0D%0A+++++%3FpwElement+wp%3AbdbEnsembl+%3FdbXref+.%0D%0A%7D%0D%0AORDER+BY+ASC%28%3Fpvalue%29&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[http://sparql.wikipathways.org/sparql?default-graph-uri=&query=PREFIX+identifiers%3A%3Chttps%3A%2F%2Fidentifiers.org%2Fensembl%2F%3E%0D%0APREFIX+atlas%3A+%3Chttp%3A%2F%2Frdf.ebi.ac.uk%2Fresource%2Fatlas%2F%3E%0D%0APREFIX+atlasterms%3A+%3Chttps%3A%2F%2Frdf.ebi.ac.uk%2Fterms%2Fatlas%2F%3E%0D%0APREFIX+efo%3A+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2F%3E%0D%0A%0D%0ASELECT+DISTINCT+%3FwpURL+%3FpwTitle+%3FexpressionValue+%3Fpvalue+where+%7B%0D%0A%0D%0ASERVICE+%3Chttp%3A%2F%2Fwww.ebi.ac.uk%2Frdf%2Fservices%2Fatlas%2Fsparql%3E+%7B%0D%0A+++++%3Ffactor+rdf%3Atype+efo%3AEFO_0001073+.+%0D%0A+++++%3Fvalue+atlasterms%3AhasFactorValue+%3Ffactor+.+%0D%0A+++++%3Fvalue+atlasterms%3AisMeasurementOf+%3Fprobe+.+%0D%0A+++++%3Fvalue+atlasterms%3ApValue+%3Fpvalue+.+%0D%0A+++++%3Fvalue+rdfs%3Alabel+%3FexpressionValue+.+%0D%0A+++++%3Fprobe+atlasterms%3AdbXref+%3FdbXref+.%0D%0A%7D%0D%0A+++++%3FpwElement+dcterms%3AisPartOf+%3Fpathway+.%0D%0A+++++%3Fpathway+dc%3Atitle+%3FpwTitle+.%0D%0A+++++%3Fpathway+dc%3Aidentifier+%3FwpURL+.%0D%0A+++++%3FpwElement+wp%3AbdbEnsembl+%3FdbXref+.%0D%0A%7D%0D%0AORDER+BY+ASC%28%3Fpvalue%29&format=text%2Fhtml&timeout=0&debug=on Execute]
=== WikiPathways with Wikidata - !Under Construction! ===
=== WikiPathways with Wikidata - !Under Construction! ===
-
The following queries are run on the WikiPathways SPARQL end point. But you can run federated queries on the Wikidata SPARQL end point too.
+
The following queries are run on the WikiPathways SPARQL endpoint. But you can run federated queries on the Wikidata SPARQL endpoint too.
Example queries for that are [https://www.wikidata.org/wiki/User:Pathwaybot/query_examples#Wikidata_and_the_SPARQL_endpoint_of_WikiPathways_(http://sparql.wikipathways.org) found here].
Example queries for that are [https://www.wikidata.org/wiki/User:Pathwaybot/query_examples#Wikidata_and_the_SPARQL_endpoint_of_WikiPathways_(http://sparql.wikipathways.org) found here].
Line 1,059: Line 1,247:
SELECT ?metabolite ?wikidata ?inchikey WHERE {
SELECT ?metabolite ?wikidata ?inchikey WHERE {
-
   ?metabolite a wp:Metabolite ;
+
   {
-
    wp:bdbWikidata ?wikidata .
+
    SELECT ?metabolite ?wikidata WHERE {
 +
      ?metabolite a wp:Metabolite ;
 +
        wp:bdbWikidata ?wikidata .
 +
    } LIMIT 50
 +
  }
   SERVICE <https://query.wikidata.org/sparql> {
   SERVICE <https://query.wikidata.org/sparql> {
     ?wikidata wdt:P235 ?inchikey .
     ?wikidata wdt:P235 ?inchikey .
   }
   }
-
} LIMIT 10
+
} LIMIT 50
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=PREFIX+wdt%3A+%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0D%0A%0D%0ASELECT+%3Fmetabolite+%3Fwikidata+%3Finchikey+WHERE+%7B%0D%0A++%3Fmetabolite+a+wp%3AMetabolite+%3B%0D%0A++++wp%3AbdbWikidata+%3Fwikidata+.%0D%0A++SERVICE+%3Chttps%3A%2F%2Fquery.wikidata.org%2Fsparql%3E+%7B%0D%0A++++%3Fwikidata+wdt%3AP235+%3Finchikey+.%0D%0A++%7D%0D%0A%7D+LIMIT+10&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3poWXRJ Execute]
 +
 
 +
 
 +
=== MolMeDB and WikiPathways ===
 +
 
 +
Find all pathways, which link out to one compound in MolMeDB database (http://identifiers.org/molmedb/MM00431) through Pubchem mapping.
 +
 
 +
<PRE>
 +
SELECT DISTINCT ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) ((substr(str(?COMPOUND),46)) as ?PubChem) WHERE
 +
{
 +
  SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/molmedb> {
 +
  <http://identifiers.org/molmedb/MM00431> skos:exactMatch ?COMPOUND.
 +
  filter (strstarts(str(?COMPOUND), 'http://rdf.ncbi.nlm.nih.gov/pubchem/compound/CID'))
 +
  }
 +
 
 +
  ?gene a wp:Metabolite ;
 +
    dcterms:identifier ?id ;
 +
    dcterms:isPartOf ?pathwayRes ;
 +
    wp:bdbPubChem ?COMPOUND .
 +
 
 +
  ?pathwayRes a wp:Pathway ;
 +
    wp:organismName "Homo sapiens" ;
 +
    dcterms:identifier ?wpid ;
 +
    dc:title ?title .
 +
}
 +
 
 +
</PRE>
 +
 
 +
[https://bit.ly/3rJiLvM Execute]
 +
 
 +
Find which pathways out of a subset of pathway (in the VALUES clause), link out to one compound in MolMeDB database (http://identifiers.org/molmedb/MM00431) through Pubchem mapping.
 +
 
 +
<PRE>
 +
SELECT DISTINCT ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) ((substr(str(?COMPOUND),46)) as ?PubChem) WHERE {
 +
  SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/molmedb> {
 +
    SERVICE <https://sparql.wikipathways.org/sparql> {
 +
      VALUES ?wpid {"WP4224" "WP4225" "WP4571"}
 +
 
 +
    ?gene a wp:Metabolite ;
 +
      dcterms:identifier ?id ;
 +
      dcterms:isPartOf ?pathwayRes ;
 +
      wp:bdbPubChem ?COMPOUND .
 +
 
 +
    ?pathwayRes a wp:Pathway ;
 +
      wp:organismName "Homo sapiens" ;
 +
      dcterms:identifier ?wpid ;
 +
      dc:title ?title .
 +
    }
 +
   
 +
    <http://identifiers.org/molmedb/MM00431> skos:exactMatch ?COMPOUND.
 +
  }
 +
}
 +
 
 +
</PRE>
 +
 
 +
[https://bit.ly/3GLB7jZ Execute]
== Identifier to WikiPathways lists ==
== Identifier to WikiPathways lists ==
Line 1,074: Line 1,321:
<PRE>
<PRE>
-
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?ensId,32) as ?ensembl) where {
+
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?ensId,33) as ?ensembl) where {
   ?gene a wp:GeneProduct ;
   ?gene a wp:GeneProduct ;
     dcterms:identifier ?id ;
     dcterms:identifier ?id ;
Line 1,082: Line 1,329:
     dcterms:identifier ?wpid ;
     dcterms:identifier ?wpid ;
     dc:title ?title .
     dc:title ?title .
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=&query=select+distinct+%3FpathwayRes+str%28%3Fwpid%29+as+%3Fpathway+str%28%3Ftitle%29+as+%3FpathwayTitle+fn%3Asubstring%28%3FensId%2C32%29+as+%3Fensembl+where+%7B%0D%0A++%3Fgene+a+wp%3AGeneProduct+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+%3B%0D%0A++++wp%3AbdbEnsembl+%3FensId+.%0D%0A++%3FpathwayRes+a+wp%3APathway+%3B%0D%0A++++dcterms%3Aidentifier+%3Fwpid+%3B%0D%0A++++dc%3Atitle+%3Ftitle+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/34CS4A0 Execute]
=== List of WikiPathways for HGNC symbols ===
=== List of WikiPathways for HGNC symbols ===
<PRE>
<PRE>
-
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?hgncId,36) as ?HGNC) where {
+
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?hgncId,37) as ?HGNC) where {
   ?gene a wp:GeneProduct ;
   ?gene a wp:GeneProduct ;
     dcterms:identifier ?id ;
     dcterms:identifier ?id ;
Line 1,098: Line 1,345:
     dcterms:identifier ?wpid ;
     dcterms:identifier ?wpid ;
     dc:title ?title .
     dc:title ?title .
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3FpathwayRes+str%28%3Fwpid%29+as+%3Fpathway+str%28%3Ftitle%29+as+%3FpathwayTitle+fn%3Asubstring%28%3FhgncId%2C36%29+as+%3FHGNC+where+%7B%0D%0A++%3Fgene+a+wp%3AGeneProduct+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+%3B%0D%0A++++wp%3AbdbHgncSymbol+%3FhgncId+.%0D%0A++%3FpathwayRes+a+wp%3APathway+%3B%0D%0A++++dcterms%3Aidentifier+%3Fwpid+%3B%0D%0A++++dc%3Atitle+%3Ftitle+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3sG0tut Execute]
=== List of WikiPathways for NCBI Gene identifiers ===
=== List of WikiPathways for NCBI Gene identifiers ===
<PRE>
<PRE>
-
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?ncbiGeneId,33) as ?NCBIGene) where {
+
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?ncbiGeneId,34) as ?NCBIGene) where {
   ?gene a wp:GeneProduct ;
   ?gene a wp:GeneProduct ;
     dcterms:identifier ?id ;
     dcterms:identifier ?id ;
Line 1,114: Line 1,361:
     dcterms:identifier ?wpid ;
     dcterms:identifier ?wpid ;
     dc:title ?title .
     dc:title ?title .
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3FpathwayRes+str%28%3Fwpid%29+as+%3Fpathway+str%28%3Ftitle%29+as+%3FpathwayTitle+fn%3Asubstring%28%3FncbiGeneId%2C33%29+as+%3FNCBIGene+where+%7B%0D%0A++%3Fgene+a+wp%3AGeneProduct+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+%3B%0D%0A++++wp%3AbdbEntrezGene+%3FncbiGeneId+.%0D%0A++%3FpathwayRes+a+wp%3APathway+%3B%0D%0A++++dcterms%3Aidentifier+%3Fwpid+%3B%0D%0A++++dc%3Atitle+%3Ftitle+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3HQWvWu Execute]
=== List of WikiPathways for HMDB identifiers ===
=== List of WikiPathways for HMDB identifiers ===
<PRE>
<PRE>
-
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?hmdbId,29) as ?hmdb) where {
+
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?hmdbId,30) as ?hmdb) where {
   ?gene a wp:Metabolite ;
   ?gene a wp:Metabolite ;
     dcterms:identifier ?id ;
     dcterms:identifier ?id ;
Line 1,130: Line 1,377:
     dcterms:identifier ?wpid ;
     dcterms:identifier ?wpid ;
     dc:title ?title .
     dc:title ?title .
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3FpathwayRes+str%28%3Fwpid%29+as+%3Fpathway+str%28%3Ftitle%29+as+%3FpathwayTitle+fn%3Asubstring%28%3FhmdbId%2C29%29+as+%3Fhmdb+where+%7B%0D%0A++%3Fgene+a+wp%3AMetabolite+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+%3B%0D%0A++++wp%3AbdbHmdb+%3FhmdbId+.%0D%0A++%3FpathwayRes+a+wp%3APathway+%3B%0D%0A++++dcterms%3Aidentifier+%3Fwpid+%3B%0D%0A++++dc%3Atitle+%3Ftitle+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3oLCXeu Execute]
=== List of WikiPathways for ChemSpider identifiers ===
=== List of WikiPathways for ChemSpider identifiers ===
-
<PRE>select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?csId,35) as ?chemspider) where {
+
<PRE>select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?csId,36) as ?chemspider) where {
   ?gene a wp:Metabolite ;
   ?gene a wp:Metabolite ;
     dcterms:identifier ?id ;
     dcterms:identifier ?id ;
Line 1,145: Line 1,392:
     dcterms:identifier ?wpid ;
     dcterms:identifier ?wpid ;
     dc:title ?title .
     dc:title ?title .
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3FpathwayRes+str%28%3Fwpid%29+as+%3Fpathway+str%28%3Ftitle%29+as+%3FpathwayTitle+fn%3Asubstring%28%3FcsId%2C35%29+as+%3Fchemspider+where+%7B%0D%0A++%3Fgene+a+wp%3AMetabolite+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+%3B%0D%0A++++wp%3AbdbChemspider+%3FcsId+.%0D%0A++%3FpathwayRes+a+wp%3APathway+%3B%0D%0A++++dcterms%3Aidentifier+%3Fwpid+%3B%0D%0A++++dc%3Atitle+%3Ftitle+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/34JL0l8 Execute]
=== List of WikiPathways for PubChem CID identifiers ===
=== List of WikiPathways for PubChem CID identifiers ===
Line 1,161: Line 1,408:
     dcterms:identifier ?wpid ;
     dcterms:identifier ?wpid ;
     dc:title ?title .
     dc:title ?title .
-
}
+
} LIMIT 100
</PRE>
</PRE>
-
[http://sparql.wikipathways.org/?default-graph-uri=http%3A%2F%2Frdf.wikipathways.org%2F&query=select+distinct+%3FpathwayRes+str%28%3Fwpid%29+as+%3Fpathway+str%28%3Ftitle%29+as+%3FpathwayTitle+fn%3Asubstring%28%3Fcid%2C46%29+as+%3FPubChem+where+%7B%0D%0A++%3Fgene+a+wp%3AMetabolite+%3B%0D%0A++++dcterms%3Aidentifier+%3Fid+%3B%0D%0A++++dcterms%3AisPartOf+%3FpathwayRes+%3B%0D%0A++++wp%3AbdbPubChem+%3Fcid+.%0D%0A++%3FpathwayRes+a+wp%3APathway+%3B%0D%0A++++dcterms%3Aidentifier+%3Fwpid+%3B%0D%0A++++dc%3Atitle+%3Ftitle+.%0D%0A%7D&format=text%2Fhtml&timeout=0&debug=on Execute]
+
[https://bit.ly/3gQucvb Execute]
= Code examples =
= Code examples =
Line 1,188: Line 1,435:
ORDER BY ?wpIdentifier";
ORDER BY ?wpIdentifier";
   
   
-
my $url = 'http://sparql.wikipathways.org/?default-graph-uri=&query='.uri_escape($sparql).'&format=text%2Fcsv&timeout=0&debug=on';
+
my $url = 'https://sparql.wikipathways.org/sparql?default-graph-uri=&query='.uri_escape($sparql).'&format=text%2Fcsv&timeout=0&debug=on';
   
   
my $content = get $url;
my $content = get $url;
Line 1,211: Line 1,458:
String sparqlQueryString = "SELECT * WHERE {?s ?p ?o} LIMIT 10";
String sparqlQueryString = "SELECT * WHERE {?s ?p ?o} LIMIT 10";
Query query = QueryFactory.create(sparqlQueryString);
Query query = QueryFactory.create(sparqlQueryString);
-
QueryExecution queryExecution = QueryExecutionFactory.sparqlService("http://sparql.wikipathways.org", query);
+
QueryExecution queryExecution = QueryExecutionFactory.sparqlService("https://sparql.wikipathways.org/sparql", query);
ResultSet resultSet = queryExecution.execSelect();
ResultSet resultSet = queryExecution.execSelect();
while (resultSet.hasNext()) {
while (resultSet.hasNext()) {
Line 1,227: Line 1,474:
== R ==
== R ==
 +
 +
The R package rrdf can be found and installed from [https://github.com/egonw/rrdf https://github.com/egonw/rrdf].
     library(rrdf)
     library(rrdf)
     sparql.remote(
     sparql.remote(
-
       "http://sparql.wikipathways.org/",
+
       "https://sparql.wikipathways.org/sparql",
       "SELECT DISTINCT ?p WHERE { ?s ?p ?o }"
       "SELECT DISTINCT ?p WHERE { ?s ?p ?o }"
     )
     )
 +
 +
Another option is to use the [https://cran.r-project.org/web/packages/SPARQL/ SPARQL-package] (tested on Ubuntu 18.04.5 LTS, R-studio version 1.4.1717, R version 4.1.0 (2021-05-18)).
 +
* Note the backslashes in front of the quotation marks in the VALUES claim; this is specifically needed in R to read these characters correctly.
 +
* Note this query is an example of how to perform a UNION query in WikiPathways.
 +
 +
<PRE>
 +
 +
if(!"SPARQL" %in% installed.packages()){
 +
  install.packages("SPARQL")
 +
}
 +
 +
library(SPARQL)
 +
 +
##Connect to Endpoint WikiPathways
 +
endpointwp <- "https://sparql.wikipathways.org/sparql"
 +
 +
queryDatanodeContent <-
 +
"
 +
select distinct (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?hgncIdProtein) AS ?ProteinsInPWs) (count(distinct ?chebiMetabolite) AS ?MetabolitesInPWs)
 +
where {
 +
VALUES ?wpid {\'WP4224\' \'WP4225\' \'WP4571\' }
 +
  ?datanode dcterms:identifier ?id ;
 +
    dcterms:isPartOf ?pathwayRes .
 +
  ?pathwayRes a wp:Pathway ;
 +
    dcterms:identifier ?wpid ;
 +
    dc:title ?title .
 +
 
 +
  {?datanode a wp:Protein ;         
 +
            wp:bdbHgncSymbol ?hgncIdProtein .}
 +
  UNION
 +
  {?datanode a wp:Metabolite ;         
 +
            wp:bdbChEBI ?chebiMetabolite .}
 +
 
 +
} ORDER BY ASC(?wpid)
 +
 +
"
 +
 +
resultsDatanodeContent <- SPARQL(endpointwp,queryDatanodeContent,curl_args=list(useragent=R.version.string))
 +
showresultsDatanodeContent <- resultsDatanodeContent$results
 +
 +
</PRE>
== Bioclipse ==
== Bioclipse ==
Line 1,239: Line 1,529:
     rdf.sparqlRemote(
     rdf.sparqlRemote(
-
       "http://sparql.wikipathways.org/",
+
       "https://sparql.wikipathways.org/sparql",
       "SELECT DISTINCT ?p WHERE { ?s ?p ?o }"
       "SELECT DISTINCT ?p WHERE { ?s ?p ?o }"
     )
     )
Line 1,247: Line 1,537:
<PRE>
<PRE>
-
curl -F "query=SELECT * WHERE {?s ?p ?o} LIMIT 10" http://sparql.wikipathways.org
+
curl -F "query=SELECT * WHERE {?s ?p ?o} LIMIT 10" https://sparql.wikipathways.org/sparql
</PRE>
</PRE>

Current revision

On http://sparql.wikipathways.org/ WikiPathways content is replicated in a SPARQL endpoint. Queries can be performed in three ways:

1. Either go to the endpoint directly and create your own SPARQL query.

2. Copy and paste an example query listed below in the endpoint.

3. Adapt a code examples to programmatically make a SPARQL query


This project is written up in the "Using the Semantic Web for Rapid Integration of WikiPathways with Other Biological Online Data Resources" paper.

NOTIFICATION: Due to an Apache update, we are now creating RDF data according to SPARQL 1.1. 

However, our SPARQL-endpoint running on Virtuoso is still using SPARQL 1.0. 

This influences the way to query strings, and might affect federated queries.

Please remove the ^^xsd:string suffix, as shown in the example below.

Image:SPARQL11.png‎


Contents

[hide]

Resources


Submit ideas

Prefixes

Within the example queries, we have omitted the prefixes. These prefixes are automatically used in the SPARQL endpoint. The following prefixes are used in the WikiPathways RDF:

PREFIX gpml:    <http://vocabularies.wikipathways.org/gpml#>
PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX cur:     <http://vocabularies.wikipathways.org/wp#Curation:>
PREFIX wprdf:   <http://rdf.wikipathways.org/>
PREFIX biopax:  <http://www.biopax.org/release/biopax-level3.owl#> 
PREFIX cas:     <https://identifiers.org/cas/>
PREFIX dc:      <http://purl.org/dc/elements/1.1/> 
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf:    <http://xmlns.com/foaf/0.1/> 
PREFIX ncbigene:<https://identifiers.org/ncbigene/>
PREFIX pubmed:  <http://www.ncbi.nlm.nih.gov/pubmed/> 
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos:    <http://www.w3.org/2004/02/skos/core#>
PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#> 

Example queries

Queries with a * require a bit more time for results.

Metadata queries

List the information about the data sets in the SPARQL endpoint:

select distinct ?dataset (str(?titleLit) as ?title) ?date ?license where {
  ?dataset a void:Dataset ;
    dcterms:title ?titleLit ;
    dcterms:license ?license ;
    pav:createdOn ?date .
}

Execute

Pathway oriented queries

Get the species currently in WikiPathways with their respective URI's

PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wp: <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?organism (str(?label) as ?name)
WHERE {
    ?concept wp:organism ?organism ;
      wp:organismName ?label .
}

Execute

List pathways and their species

PREFIX dc:      <http://purl.org/dc/elements/1.1/> 
PREFIX wp:     <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT (str(?title) as ?pathway) (str(?label) as ?organism)
WHERE {
    ?pw dc:title ?title ;
      wp:organism ?organism ;
      wp:organismName ?label .
} 

Execute

List the species captured in WikiPathways and the number of pathways per species

PREFIX dc:      <http://purl.org/dc/elements/1.1/> 
PREFIX wp: <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?organism (str(?label) as ?name) (count(?pw) as ?pathwayCount)
WHERE {
    ?pw dc:title ?title ;
      wp:organism ?organism ;
      wp:organismName ?label .
}
ORDER BY DESC(?pathwayCount)

Execute

List all pathways for species "Mus musculus"

The following query list all mouse pathways. ?wpIdentifier is the link through identifiers.org, ?pathway points to the RDF version of WikiPathways and ?page is the revision which is loaded in the SPARQL endpoint.

PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dc:      <http://purl.org/dc/elements/1.1/> 
PREFIX foaf:    <http://xmlns.com/foaf/0.1/> 
PREFIX wp: <http://vocabularies.wikipathways.org/wp#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT ?wpIdentifier ?pathway ?page
WHERE {
    ?pathway dc:title ?title .
    ?pathway foaf:page ?page .
    ?pathway dc:identifier ?wpIdentifier .
    ?pathway wp:organismName "Mus musculus" .
 }
ORDER BY ?wpIdentifier

Execute Perl

Get all pathways with a particular gene

List all pathways per instance of a particular gene or protein (wp:GeneProduct)

PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT DISTINCT ?pathway (str(?label) as ?geneProduct)
WHERE {
    ?geneProduct a wp:GeneProduct . 
    ?geneProduct rdfs:label ?label .
    ?geneProduct dcterms:isPartOf ?pathway .
    ?pathway a wp:Pathway .
    
    FILTER regex(str(?label), "CYP"). 
}

Execute

Get all groups and complexes containing a particular gene

List all groups and complexes per instance of a particular gene or protein (wp:GeneProduct)

PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms/>

SELECT DISTINCT ?pathway (str(?label) as ?geneProduct)
WHERE {
    ?geneProduct a wp:GeneProduct . 
    ?geneProduct rdfs:label ?label .
    ?geneProduct dcterms:isPartOf ?pathway .

    FILTER NOT EXISTS { ?pathway a wp:Interaction } .
    FILTER NOT EXISTS { ?pathway a wp:Pathway } .
    FILTER regex(str(?label), "CYP"). 
}

Execute

Get all the genes on a particular pathway

List all the genes and proteins (wp:GeneProduct) associated with a particular pathway WPID.

PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms/>

select distinct ?pathway (str(?label) as ?geneProduct) where {
    ?geneProduct a wp:GeneProduct . 
    ?geneProduct rdfs:label ?label .
    ?geneProduct dcterms:isPartOf ?pathway .
    ?pathway a wp:Pathway .
    ?pathway dcterms:identifier "WP1560" . 
}

Execute

Count the number of pathways per ontology term

In WikiPathways, pathways can be tagged with ontology terms from Pathway, Cell Line and Disease ontology. The following query returns a pathway count for each term from any of the available ontologies. These terms are collectively modeled as wp:pathwayOntology; but this includes all ontologies, not just the "Pathway" ontology.

SELECT DISTINCT ?pwOntologyTerm count(?pwOntologyTerm) as ?pathwayCount
 WHERE {
	?pathwayRDF wp:ontologyTag ?pwOntologyTerm .
 }
 ORDER BY DESC(?pathwayCount)

Execute

Get all pathways with a particular ontology term

In WikiPathways, pathways can be tagged with ontology terms from Pathway, Cell Line and Disease ontology. The following query returns a list of pathways tagged with PW_0000296.

PREFIX obo: <http://purl.obolibrary.org/obo/>

SELECT ?pathway (str(?titleLit) AS ?title)
WHERE {
  ?pathwayRDF wp:ontologyTag obo:PW_0000296 ;
              foaf:page ?pathway ;
              dc:title ?titleLit .
}

Execute

Get all ontology terms for a particular pathway

List all the ontology terms tagged on a particular pathway.

SELECT (?o as ?pwOntologyTerm) (str(?titleLit) as ?title) ?pathway 
WHERE {
  ?pathwayRDF wp:ontologyTag ?o ;
    foaf:page ?pathway ;
    dc:title ?titleLit ;
    dcterms:identifier "WP1560" . 

  FILTER (! regex(str(?pathway), "group"))
}

Execute

Get all Reactome pathways

List all the ontology terms tagged on a particular pathway.

PREFIX cur: <http://vocabularies.wikipathways.org/wp#Curation:>

SELECT DISTINCT ?pathway (str(?titleLit) as ?title)
WHERE {
  ?pathway wp:ontologyTag cur:Reactome_Approved ;
           dc:title ?titleLit .
}

Execute

Get all Proteins from Community pathways

Obtain all Protein DataNodes (so not GeneProducts) from specific communities. Note: All community tags are available in the WikiPathways SPARQL endpoint now (the "Blau" community was updated to "IEM").

PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX cur: <http://vocabularies.wikipathways.org/wp#Curation:>

SELECT DISTINCT ?pathway (str(?label) as ?Protein)
WHERE {
  ?pathway wp:ontologyTag    cur:Lipids   ; # Other communities: AOP; CIRM_Related ; COVID19 ; IEM ; RareDiseases ; SGD_Approved ; WormBase_Approved
           a                 wp:Pathway . 

  ?protein a                 wp:Protein ; 
           rdfs:label        ?label     ;
           dcterms:isPartOf  ?pathway   .

}

Execute

Get all pathways with PubMed references

SELECT DISTINCT ?pathway ?pubmed 
WHERE 
     {?pubmed a       wp:PublicationReference . 
      ?pubmed dcterms:isPartOf ?pathway }
ORDER BY ?pathway LIMIT 100

Execute

Get all pathways with a particular PubMed reference

SELECT DISTINCT ?pathway ?pubmed 
WHERE {
      ?pubmed a       wp:PublicationReference . 
      ?pubmed dcterms:isPartOf ?pathway .

      FILTER regex(str(?pubmed), "14769483$") 
}
ORDER BY ?pathway

The $ at the end of the PubMed identifier ensures that, for example, 147694831 does not match too; the regex instruction '$' means "end of the string".

Execute

Get all pathways and the number of refences per pathway

SELECT DISTINCT ?pathway COUNT(?pubmed) AS ?numberOfReferences
WHERE 
     {?pubmed a       wp:PublicationReference . 
      ?pubmed dcterms:isPartOf ?pathway }
ORDER BY DESC(?numberOfReferences) 

Execute

Get a full dump of all pathways and their pathway ontological terms

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dc:  <http://purl.org/dc/elements/1.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <http://schema.org/>
PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX dcterms:  <http://purl.org/dc/terms/>

SELECT DISTINCT ?depicts (str(?titleLit) as ?title) (str(?speciesLabelLit) as ?speciesLabel) ?identifier ?ontology
WHERE {
	?pathway foaf:page ?depicts .
        ?pathway dc:title ?titleLit .
        ?pathway wp:organism ?species .
        ?pathway wp:organismName ?speciesLabelLit .
        ?pathway dc:identifier ?identifier .

        OPTIONAL {?pathway wp:ontologyTag ?ontology .}
} LIMIT 100

Execute

Count how many genes from a list occur in one or more pathways

The gene list is given in the line starting with VALUES. For this example, we use the HGNC gene nomenclature.

Other gene IDs can be used to fill the list. However, keep in mind they use different URLs and therefore the prefix (first line of query) should be adapted. A list of these URLs can be found on identifiers.org (or by looking at the "raw" RDF files).

prefix hgnc:      <https://identifiers.org/hgnc.symbol/>
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?hgncId) AS ?GenesInPWs)
where {
VALUES ?hgncId {hgnc:GPD1L hgnc:SCN3B hgnc:BAD}
  ?gene a wp:GeneProduct ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbHgncSymbol ?hgncId .
  ?pathwayRes a wp:Pathway ;
              wp:organismName "Homo sapiens" ; 
    dcterms:identifier ?wpid ;
    dc:title ?title .
}

ORDER BY DESC(?GenesInPWs)

Execute

LIPID MAPS related queries:

Count amount of lipids per pathways in WikiPathways with LIPID MAPS identifier

Converts all Metabolite identifiers to LipidMaps (provided by BridgeDb), and create an ordered list of pathways including lipid compounds.

prefix lipidmaps:      <https://identifiers.org/lipidmaps/>
select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?lipidID) AS ?LipidsInPWs)
where {
  ?metabolite a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbLipidMaps ?lipidID .
  ?pathwayRes a wp:Pathway ;
              wp:organismName "Homo sapiens" ; 
    dcterms:identifier ?wpid ;
    dc:title ?title .
}

ORDER BY DESC(?LipidsInPWs)

Execute

Count amount of lipids per LIPID MAPS ontology class

Counts unique LIPID MAPS identifier (provided by BridgeDb) for the fatty acid (FA) class, other examples are provided as a comment.

select count(distinct ?lipidID) as ?IndividualLipidsPerClass_FA
where {     ?metabolite a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbLipidMaps ?lipidID .
  ?pathwayRes a wp:Pathway ;
              wp:organismName "Homo sapiens" ; 
    dcterms:identifier ?wpid ;
    dc:title ?title .
  FILTER regex(str(?lipidID), "FA" ). # Other classes: GL, GP, SP, ST, PR, SL, PK
}

Execute

Find pathways per LIPID MAPS ontology class, sorted on amount of unique lipids

Filter all unique LIPID MAPS identifier (provided by BridgeDb) for the fatty acid (FA) class, and find all pathways with individual lipids in there.

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?lipidID) AS ?FA_LipidsInPWs)
where {     ?metabolite a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbLipidMaps ?lipidID .
  ?pathwayRes a wp:Pathway ;
              wp:organismName "Homo sapiens" ; 
    dcterms:identifier ?wpid ;
    dc:title ?title .
  FILTER regex(str(?lipidID), "FA" ). # Fatty acids, Other classes: GL, GP, SP, ST, PR, SL, PK
}

ORDER BY DESC(?FA_LipidsInPWs)

Execute

Data statistics oriented queries

Count the number of metabolites per species

Though strictly speaking, it guesstimates it, because it counts the number of unique metabolite identifiers. Normalization in the RDF generation code ensures we do not double count metabolites with identifiers from different databases, but it still differentially counts metabolites with different charge states.

PREFIX gpml:    <http://vocabularies.wikipathways.org/gpml#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc:      <http://purl.org/dc/elements/1.1/>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

select (count(distinct ?metabolite) as ?count) (str(?label) as ?species) where {
  ?metabolite a wp:Metabolite ;
    dcterms:isPartOf ?pw .
  ?pw dc:title ?title ;
    wp:organism ?organism ;
    wp:organismName ?label .
} GROUP BY ?label ORDER BY DESC(?count)

Execute

Interaction oriented queries

Get all interactions for a particular datanode

Find all interactions that are connected to a particular datanode. (wp:Interaction).

PREFIX gpml:    <http://vocabularies.wikipathways.org/gpml#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc:      <http://purl.org/dc/elements/1.1/>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

#Find all interactions that are connected to a particular datanode.

SELECT DISTINCT ?interaction ?pathway  WHERE {

   ?pathway a wp:Pathway .
   ?interaction dcterms:isPartOf ?pathway . 
   ?interaction a wp:Interaction . 
   ?interaction wp:participants <https://identifiers.org/ensembl/ENSG00000125845> .   
}

Execute

Find all datanodes (GeneProducts, Metabolites, Pathways) that are connected to a particular datanode via any type of interaction (wp:Interaction)

SELECT DISTINCT ?participants ?DataNodeLabel ?interaction WHERE {
   ?interaction a wp:Interaction .
   
   ?interaction wp:participants <https://identifiers.org/ensembl/ENSG00000125845> .   
   ?interaction wp:participants ?participants .
   ?participants a wp:DataNode .
   ?participants rdfs:label ?DataNodeLabel .   
}

Execute

Get all interactions for a particular pathway

PREFIX wp:    <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?pathway ?interaction   
WHERE {

   ?pathway a wp:Pathway .
   ?pathway dc:identifier <https://identifiers.org/wikipathways/WP1425> .
   ?interaction dcterms:isPartOf ?pathway . 
   ?interaction a wp:Interaction .  
}

Execute

Get all interactions for a particular pathway and their participants

PREFIX wp:    <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?pathway ?interaction ?participants ?DataNodeLabel
WHERE {

   ?pathway a wp:Pathway .
   ?pathway dc:identifier <https://identifiers.org/wikipathways/WP1425> .
   ?interaction dcterms:isPartOf ?pathway . 
   ?interaction a wp:Interaction .
   ?interaction wp:participants ?participants .
   ?participants a wp:DataNode .
   ?participants rdfs:label ?DataNodeLabel .  
}

Execute

Get all Interactions

Limited to 100 interactions.

PREFIX wp:    <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?pathway ?interaction ?participant
WHERE {

   ?pathway a wp:Pathway . 
   ?interaction dcterms:isPartOf ?pathway .
   ?interaction a wp:Interaction .
   ?interaction wp:participants ?participant . 
}

LIMIT 100

Execute

Get all Interactions for a species (Homo sapiens)

We've added a LIMIT to this query (since it takes some time to run). Remove the 'LIMIT 100' to obtain all interactions

PREFIX wp:    <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?pathway ?interaction   
WHERE {

   ?pathway a wp:Pathway .
   ?pathway wp:organismName "Homo sapiens" . 
   ?interaction dcterms:isPartOf ?pathway . 
   ?interaction a wp:Interaction .  
} LIMIT 100


Execute

Get downstream adjacent nodes from a source

A directed interaction always runs from source to target. (eg. s --> t)

PREFIX wp:    <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?source ?label ?target ?label1 ?pathway ?interaction
WHERE {
    ?source dc:identifier <https://identifiers.org/ensembl/ENSG00000125845> .
    ?source dcterms:isPartOf ?pathway .
    ?pathway a wp:Pathway .

    ?interaction dcterms:isPartOf ?pathway .
    ?interaction a wp:Interaction .
    ?interaction wp:source ?source .
    ?interaction wp:target ?target .

    ?source rdfs:label ?label .
    ?target rdfs:label ?label1 .
 }

Execute

Get upstream adjacent nodes from a target

A directed interaction always runs from source to target. (eg. t <-- s)

PREFIX wp:    <http://vocabularies.wikipathways.org/wp#>

SELECT DISTINCT ?target ?label1 ?source ?label ?pathway ?interaction
WHERE {
    ?target dc:identifier <https://identifiers.org/ncbigene/659> .
    ?target dcterms:isPartOf ?pathway .
    ?pathway a wp:Pathway .

    ?interaction dcterms:isPartOf ?pathway .
    ?interaction a wp:Interaction .
    ?interaction wp:target ?target .
    ?interaction wp:source ?source .

    ?target rdfs:label ?label1 .
    ?source rdfs:label ?label .  
 }

Execute

Get the number of interactions with some data source

PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc:      <http://purl.org/dc/elements/1.1/>

SELECT DISTINCT (STR(?sourceLit) AS ?source) (COUNT(DISTINCT ?identifier) AS ?count)
WHERE {
    ?interaction a                  wp:Interaction ;
                 dcterms:identifier ?identifier ;
                 dc:source          ?sourceLit .
} GROUP BY ?sourceLit
  ORDER BY DESC(?count)

Execute

Get the number of normalized identifiers by data source

This query gives some idea of how the interaction identifier mapping database works in practice:

PREFIX wp:      <http://vocabularies.wikipathways.org/wp#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX dc:      <http://purl.org/dc/elements/1.1/>

SELECT DISTINCT (STR(?sourceLit) AS ?source) ?normalizedIdentifier (COUNT(DISTINCT ?identifier) AS ?count)
WHERE {
  VALUES ?normalizedIdentifier { wp:bdbRhea wp:bdbReactome }
  ?interaction ?normalizedIdentifier ?identifier ;
               dc:source ?sourceLit .
} GROUP BY ?sourceLit ?normalizedIdentifier
  ORDER BY DESC(?count) ?source

Execute

Datasource oriented queries

Get all datasources currently captured in WikiPathways

SELECT DISTINCT (str(?datasourceLit) as ?datasource)
WHERE {
         ?concept dc:source ?datasourceLit
} 

Execute

Get the number of entries per datasource in WikiPathways

SELECT DISTINCT (str(?datasourceLit) as ?datasource) (count(?dataNode) as ?numberEntries)
WHERE {
  ?concept dc:source ?datasourceLit ;
    wp:isAbout ?dataNode .
} 
ORDER BY DESC(?numberEntries)

Execute

Count the identifiers per data source

SELECT (str(?datasourceLit) as ?datasource) (count(distinct ?identifier) AS ?numberEntries)
WHERE {
  ?concept dc:source ?datasourceLit .
  ?concept dc:identifier ?identifier
} 

Execute

Count the identifiers per data source and order them from high to low

SELECT (str(?datasourceLit) as ?datasource) (count(distinct ?identifier) AS ?numberEntries)
WHERE {
  ?concept dc:source ?datasourceLit .
  ?concept dc:identifier ?identifier
} ORDER BY DESC(?numberEntries)

Execute

Return all compounds annotated with the "ChEMBL compound" as data source and the pathways they are in

SELECT DISTINCT ?identifier ?pathway
WHERE {
        ?concept dcterms:isPartOf ?pathway .
        ?concept dc:source "ChEMBL compound" .
        ?concept dc:identifier ?identifier .
        
} 

Execute

Curators oriented queries

Get the pathway with the erroneous data source "null"

SELECT DISTINCT  ?identifier ?pathway ?label
WHERE {
        ?concept dc:source "null" .
        ?concept dc:identifier ?identifier .
        ?concept dcterms:isPartOf ?pathway .
        ?concept rdfs:label ?label
} 

Execute

Get all geneproducts that lack either a DataSource or an Identifier

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>

select distinct ?pathway ?label where {?geneProduct a wp:GeneProduct . 
      ?geneProduct rdfs:label ?label .
      ?geneProduct dcterms:isPartOf ?pathway .
      
      FILTER regex(str(?geneProduct), "^node"). 
      FILTER regex(str(?pathway), "^http").
      }

Execute

Get entities with more than one identifier

This query contains a limit, since it might take some time to run.

select ?entity count(?identifier) as ?count where {
  ?entity <http://purl.org/dc/terms/identifier> ?identifier .
}  order by desc(?count) LIMIT 100

Execute

PubChem-compound 1004

Warning: may time out, which indicates there is no current use of this identifier value.

Wrongly used for phosphate. It is the uncharged compound. Phosphate is, instead, and particularly thinkgs like "Pi", CID 1061 for ortho-phosphate, aka [PO4]2-.

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>
prefix xsd:     <http://www.w3.org/2001/XMLSchema#>

select ?pathway ?source
where {
  ?mb dc:source ?source ;
    dcterms:isPartOf ?pathway ;
    dc:source "Pubchem Compound" ;
    dcterms:identifier "1004".
}

Execute

Entrez Gene 1004

This query will return results, since the ID '1004' is in use by Entrez Gene, and we are not filtering for a specific database name.

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>
prefix xsd:     <http://www.w3.org/2001/XMLSchema#>

select ?pathway ?source
where {
  ?mb dc:source ?source ;
    dcterms:isPartOf ?pathway ;
    dcterms:identifier "1004".
}

Execute

Outdated HMDB identifiers

These results show HMDB identifiers used in WikiPathways but that are revoked or have become secondary identifiers.

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>

select distinct (str(?identifierStr) as ?identifier)
where {
  ?mb a wp:Metabolite ;
    dc:source "HMDB"^^xsd:string ;
    dcterms:identifier ?identifierStr .
  OPTIONAL { ?mb  wp:bdbHmdb ?bridgedb . }
  FILTER (!BOUND(?bridgedb))
} order by ?identifierStr

Execute

Metabolites not classified as such

One can list all data sources for non-metabolites with this query.

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>

select (str(?datasourceLit) as ?datasource) (count(?identifier) as ?count)
where {
  ?mb dc:source ?datasourceLit ;
    dcterms:identifier ?identifier .
  FILTER NOT EXISTS { ?mb a wp:Metabolite }
} order by asc(?count)

Execute

Check the full list, to see which databases normally used for chemicals are not typed as Metabolites. Gene identifier sources are most likely at the bottom. Note: Wikidata can be used for Metabolites, Proteins, and Genes (but is preferably used only for Metabolites, since there are no mappings available yet to map to other gene databases).

Example (data from 2022-01-10)

ChEBI 		1
XMetDB 		2
Wikidata 	90


Metabolites sometimes marked as DataNode@Type Metabolite

Based on label comparisons, we can find things that are labeled the same as a data node with the same label. Of course, this can give false positives, because genes can be incorrectly marked as metabolite in some pathway, but that is another SPARQL query. Another reasons is that sometimes genes and metabolites actually have the same name!

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>
prefix xsd:     <http://www.w3.org/2001/XMLSchema#>

select ?pathway ?nonmb ?mb (str(?labelLit) as ?label)
where {
  ?nonmb rdfs:label ?labelLit .
  ?mb rdfs:label ?labelLit .
  ?nonmb dcterms:isPartOf ?pathway .
  FILTER ( ?nonmb != ?mb )
  FILTER NOT EXISTS { ?nonmb a wp:Metabolite }
  FILTER EXISTS { ?pathway a wp:Pathway }
  FILTER EXISTS { ?mb a wp:Metabolite }
}

Execute

Metabolites with too many labels

This query can result in false positives too, particularly with the new RDF.

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms:  <http://purl.org/dc/terms/>

select distinct ?mb count(distinct ?labelLit) as ?labelCount
where {
  ?mb a wp:Metabolite ;
    rdfs:label ?labelLit ;
    dcterms:isPartOf ?pathway .
  ?pathway a wp:Pathway .
} order by desc(?labelCount) ?mb 

Execute

And get the actual labels (and more) with (perform a ctrl+f to search for the term "label'):

Describe <https://identifiers.org/chebi/CHEBI:35366>

Execute

Or use this one, but mind that pathway/label combinations are combinatorial, because they share the same node:

select distinct ?pathway (str(?labelLit) as ?label)
where {
  <https://identifiers.org/hmdb/HMDB0001401> a wp:Metabolite;
    rdfs:label ?labelLit ;
    dcterms:isPartOf ?pathway .
  ?pathway a wp:Pathway .
} order by ?pathway

Execute

Metabolites with an Entrez Gene identifier

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms: <http://purl.org/dc/terms/>
prefix xsd:     <http://www.w3.org/2001/XMLSchema#>

select distinct ?pathway ?mb (str(?labelLit) as ?label) (str(?identifierLit) as ?identifier)
where {
  ?mb a wp:Metabolite ;
    rdfs:label ?labelLit ;
    dc:source "Entrez Gene" ;
    dcterms:identifier ?identifierLit ;
    dcterms:isPartOf ?pathway .
  ?pathway a wp:Pathway .
} order by ?pathway

Execute

Metabolites without a link to Wikidata

This query provides a list of IDs which might be relevant to add to Wikidata.

PREFIX wdt: <http://www.wikidata.org/prop/direct/>

SELECT DISTINCT ?metabolite WHERE {
  ?metabolite a wp:Metabolite .
  OPTIONAL { ?metabolite wp:bdbWikidata ?wikidata . }
  FILTER (!BOUND(?wikidata))
}

Execute

A variant sorting the metabolites by the number of pathways they occur in:

PREFIX wdt: <http://www.wikidata.org/prop/direct/>

SELECT ?metabolite (count(DISTINCT ?pathwayRes) as ?pathways) WHERE {
  ?metabolite a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes .
  ?pathwayRes a wp:Pathway .
  OPTIONAL { ?metabolite wp:bdbWikidata ?wikidata . }
  FILTER (!BOUND(?wikidata))
} GROUP BY ?metabolite ORDER BY DESC(?pathways)

Execute

And finally, finding double mappings to Wikidata (which is also a nice curation task):

PREFIX wdt: <http://www.wikidata.org/prop/direct/>

SELECT DISTINCT ?metaboliteID (GROUP_CONCAT(DISTINCT ?wikidata;separator=", ") AS ?results) WHERE {
  ?metaboliteID a wp:Metabolite .
  ?metaboliteID wp:bdbWikidata ?wikidata .
  ?metaboliteID wp:bdbWikidata ?wikidata2 .
  FILTER(?wikidata != ?wikidata2)
} GROUP BY ?metaboliteID

Execute

Pathways without (annotated) datanodes

prefix wp:      <http://vocabularies.wikipathways.org/wp#>
prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
prefix dcterms: <http://purl.org/dc/terms/>
prefix xsd:     <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT ?pathway
WHERE{
?pathway a wp:Pathway.
FILTER NOT EXISTS {?node dcterms:isPartOf ?pathway.
?node a wp:DataNode}
}

Execute

Pathways without literature references

SELECT (STR(?speciesLabelLit) AS ?species) (STR(?titleLit) AS ?title) ?pathway WHERE {
  ?pathway a wp:Pathway ; dc:title ?titleLit ; wp:organismName ?speciesLabelLit .
  MINUS { ?pubmed a       wp:PublicationReference .
          ?pubmed dcterms:isPartOf ?pathway }
} ORDER BY ASC(?species) ASC(?title)

Execute

Or if you just want to know how many these are:

SELECT count(DISTINCT ?pathway) WHERE {
  ?pathway a wp:Pathway ; dc:title ?titleLit ; wp:organismName ?speciesLabelLit .
  MINUS { ?pubmed a       wp:PublicationReference .
          ?pubmed dcterms:isPartOf ?pathway }
}

Execute

Literature queries

Articles cited by Reactome but not by WikiPathways

PREFIX cur: <http://vocabularies.wikipathways.org/wp#Curation:>

SELECT (COUNT(DISTINCT ?pubmed) AS ?count)
WHERE {
  ?pubmed a       wp:PublicationReference .
  MINUS { ?pubmed dcterms:isPartOf/wp:ontologyTag cur:AnalysisCollection }
  { ?pubmed dcterms:isPartOf/wp:ontologyTag cur:Reactome_Approved }
}

Execute

Articles cited by WikiPathways but not by Reactome

PREFIX cur: <http://vocabularies.wikipathways.org/wp#Curation:>

SELECT (COUNT(DISTINCT ?pubmed) AS ?count)
WHERE {
  ?pubmed a       wp:PublicationReference .
  { ?pubmed dcterms:isPartOf/wp:ontologyTag cur:AnalysisCollection }
  MINUS { ?pubmed dcterms:isPartOf/wp:ontologyTag cur:Reactome_Approved }
}

Execute

Articles cited by both Reactome and WikiPathways

PREFIX cur: <http://vocabularies.wikipathways.org/wp#Curation:>

SELECT (COUNT(DISTINCT ?pubmed) AS ?count)
WHERE {
  ?pubmed a       wp:PublicationReference .
  { ?pubmed dcterms:isPartOf/wp:ontologyTag cur:AnalysisCollection }
  { ?pubmed dcterms:isPartOf/wp:ontologyTag cur:Reactome_Approved }
}

Execute

Federated queries - !Under Construction!

Other SPARQL endpoints used in the federated queries

Note that the EBI endpoints are not maintained and therefore do not yield results at the moment. We created a mirror for the ChEMBL endpoint at:

Down/unavailable (EVI):

Other endpoints:

WikiPathways with ChEMBL: all ChEMBL assays for pathways

PREFIX chembl: <http://rdf.ebi.ac.uk/terms/chembl#>

SELECT ?pathway ?ensembl ?assay WHERE {
  {
    SELECT DISTINCT
      ?pathway ?ensembl
    WHERE {
      VALUES ?ensembl { <https://identifiers.org/ensembl/ENSG00000150093> }
      ?s wp:bdbEnsembl ?ensembl ;
         dcterms:isPartOf ?pathway .
    }
  }
  SERVICE <https://chemblmirror.rdf.bigcat-bioinformatics.org/sparql>  {
    OPTIONAL { ?assay a chembl:Assay ;
      chembl:hasTarget/chembl:hasTargetComponent/chembl:targetCmptXref ?ensembl . }
  }
} limit 100

Execute

WikiPathways with ChEMBL: all molecules targeting pathways

Here a limit is used too, as well as an IRI rewrite (from HTTPS to HTTP).

PREFIX chembl: <http://rdf.ebi.ac.uk/terms/chembl#>
PREFIX sio:    <http://semanticscience.org/resource/>

SELECT ?pathway ?ensembl ?molecule ?smiles WHERE {
  {
    SELECT DISTINCT
      ?pathway ?ensembl
    WHERE {
      ?s wp:bdbEnsembl ?ensembl ;
         dcterms:isPartOf ?pathway .
      ?pathway dcterms:identifier "WP15".
      
      ##The IRI for Ensembl from WikiPathways starts with https:// , where the one from ChEMBL starts with http:// , so we need to rewrite the IRI
    BIND(                      # Bind the created IRI into a new variable (called ?newIRI)
        IRI(                   # Convert the string back to an IRI
          CONCAT(              # Concatenate item 1 and 2 together as one string
               "http",        # First item to concat (more items can be added with a comma
              #Second item to concat:
               SUBSTR(         # Obtain a substring
                 STR(?ensembl), # Convert the Ensembl IRI from WikiPathways to a string,
                 6)            # removing the first 6 characters (<https)
        )) AS ?newIRI          # Name for the new variable 
    )
    }
  }
  SERVICE <https://chemblmirror.rdf.bigcat-bioinformatics.org/sparql>  {
    SELECT DISTINCT ?newIRI ?molecule ?smiles WHERE {
      ?assay a chembl:Assay ; chembl:hasTarget/chembl:hasTargetComponent/chembl:targetCmptXref ?newIRI .
      ?activity chembl:hasAssay ?assay ;
                chembl:hasMolecule ?molecule .
      OPTIONAL { ?molecule sio:SIO_000008 ?attrib . ?attrib a sio:CHEMINF_000018 ; sio:SIO_000300 ?smiles . }
    } limit 100
  }
}

Execute

WikiPathways with EBI Atlas RDF

Unfortunately, this data is no longer hosted on a SPARQL endpoint by EBI (so the federated queries will not work).

Genes differentially expressed in asthma and Pathways

For the genes differentially expressed in asthma, get the gene products associated to a WikiPathways pathway. (Built upon example query 5 in: http://www.ebi.ac.uk/rdf/services/atlas/sparql ). You can substitute the EFO number for other disease codes.

PREFIX identifiers:<https://identifiers.org/ensembl/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX efo: <http://www.ebi.ac.uk/efo/>

SELECT DISTINCT ?wpURL ?pwTitle ?expressionValue ?pvalue where {

SERVICE <https://www.ebi.ac.uk/rdf/services/atlas/sparql> {
     ?factor rdf:type efo:EFO_0000270 . 
     ?value atlasterms:hasFactorValue ?factor . 
     ?value atlasterms:isMeasurementOf ?probe . 
     ?value atlasterms:pValue ?pvalue . 
     ?value rdfs:label ?expressionValue . 
     ?probe atlasterms:dbXref ?dbXref .
}
     ?pwElement dcterms:isPartOf ?pathway .
     ?pathway dc:title ?pwTitle .
     ?pathway dc:identifier ?wpURL .
     ?pwElement wp:bdbEnsembl ?dbXref .
}
ORDER BY ASC(?pvalue)

Execute

Genes differentially expressed in type II diabetes mellitus and Pathways

PREFIX identifiers:<https://identifiers.org/ensembl/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX efo: <http://www.ebi.ac.uk/efo/>

SELECT DISTINCT ?wpURL ?pwTitle ?expressionValue ?pvalue where {

SERVICE <https://www.ebi.ac.uk/rdf/services/atlas/sparql> {
     ?factor rdf:type efo:EFO_0001360 . 
     ?value atlasterms:hasFactorValue ?factor . 
     ?value atlasterms:isMeasurementOf ?probe . 
     ?value atlasterms:pValue ?pvalue . 
     ?value rdfs:label ?expressionValue . 
     ?probe atlasterms:dbXref ?dbXref .
}
     ?pwElement dcterms:isPartOf ?pathway .
     ?pathway dc:title ?pwTitle .
     ?pathway dc:identifier ?wpURL .
     ?pwElement wp:bdbEnsembl ?dbXref .
}
ORDER BY ASC(?pvalue)

Execute

Genes differentially expressed in obesity and Pathways

PREFIX identifiers:<https://identifiers.org/ensembl/>
PREFIX atlas: <http://rdf.ebi.ac.uk/resource/atlas/>
PREFIX atlasterms: <http://rdf.ebi.ac.uk/terms/atlas/>
PREFIX efo: <http://www.ebi.ac.uk/efo/>

SELECT DISTINCT ?wpURL ?pwTitle ?expressionValue ?pvalue where {
SERVICE <https://www.ebi.ac.uk/rdf/services/atlas/sparql> {
     ?factor rdf:type efo:EFO_0001073 . 
     ?value atlasterms:hasFactorValue ?factor . 
     ?value atlasterms:isMeasurementOf ?probe . 
     ?value atlasterms:pValue ?pvalue . 
     ?value rdfs:label ?expressionValue . 
     ?probe atlasterms:dbXref ?dbXref .
}
     ?pwElement dcterms:isPartOf ?pathway .
     ?pathway dc:title ?pwTitle .
     ?pathway dc:identifier ?wpURL .
     ?pwElement wp:bdbEnsembl ?dbXref .
}
ORDER BY ASC(?pvalue)

Execute

WikiPathways with Wikidata - !Under Construction!

The following queries are run on the WikiPathways SPARQL endpoint. But you can run federated queries on the Wikidata SPARQL endpoint too. Example queries for that are found here.

Metabolites in Wikipedia with InChIKeys from Wikidata

The corresponding query on Wikidata is here.

PREFIX wdt: <http://www.wikidata.org/prop/direct/>

SELECT ?metabolite ?wikidata ?inchikey WHERE {
  {
    SELECT ?metabolite ?wikidata WHERE {
      ?metabolite a wp:Metabolite ;
        wp:bdbWikidata ?wikidata .
    } LIMIT 50
  }
  SERVICE <https://query.wikidata.org/sparql> {
    ?wikidata wdt:P235 ?inchikey .
  }
} LIMIT 50

Execute


MolMeDB and WikiPathways

Find all pathways, which link out to one compound in MolMeDB database (http://identifiers.org/molmedb/MM00431) through Pubchem mapping.

SELECT DISTINCT ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) ((substr(str(?COMPOUND),46)) as ?PubChem) WHERE
{
  SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/molmedb> {
   <http://identifiers.org/molmedb/MM00431> skos:exactMatch ?COMPOUND.
   filter (strstarts(str(?COMPOUND), 'http://rdf.ncbi.nlm.nih.gov/pubchem/compound/CID'))
  }
  
  ?gene a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbPubChem ?COMPOUND .
  
  ?pathwayRes a wp:Pathway ;
    wp:organismName "Homo sapiens" ;
    dcterms:identifier ?wpid ;
    dc:title ?title . 
}

Execute

Find which pathways out of a subset of pathway (in the VALUES clause), link out to one compound in MolMeDB database (http://identifiers.org/molmedb/MM00431) through Pubchem mapping.

SELECT DISTINCT ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) ((substr(str(?COMPOUND),46)) as ?PubChem) WHERE {
  SERVICE <https://idsm.elixir-czech.cz/sparql/endpoint/molmedb> {
    SERVICE <https://sparql.wikipathways.org/sparql> {
      VALUES ?wpid {"WP4224" "WP4225" "WP4571"}

    ?gene a wp:Metabolite ;
      dcterms:identifier ?id ;
      dcterms:isPartOf ?pathwayRes ;
      wp:bdbPubChem ?COMPOUND .

    ?pathwayRes a wp:Pathway ;
      wp:organismName "Homo sapiens" ;
      dcterms:identifier ?wpid ;
      dc:title ?title .
    }
    
    <http://identifiers.org/molmedb/MM00431> skos:exactMatch ?COMPOUND.
  }
}

Execute

Identifier to WikiPathways lists

List of WikiPathways for Ensembl identifiers

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?ensId,33) as ?ensembl) where {
  ?gene a wp:GeneProduct ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbEnsembl ?ensId .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
} LIMIT 100

Execute

List of WikiPathways for HGNC symbols

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?hgncId,37) as ?HGNC) where {
  ?gene a wp:GeneProduct ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbHgncSymbol ?hgncId .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
} LIMIT 100

Execute

List of WikiPathways for NCBI Gene identifiers

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?ncbiGeneId,34) as ?NCBIGene) where {
  ?gene a wp:GeneProduct ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbEntrezGene ?ncbiGeneId .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
} LIMIT 100

Execute

List of WikiPathways for HMDB identifiers

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?hmdbId,30) as ?hmdb) where {
  ?gene a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbHmdb ?hmdbId .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
} LIMIT 100

Execute

List of WikiPathways for ChemSpider identifiers

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?csId,36) as ?chemspider) where {
  ?gene a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbChemspider ?csId .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
} LIMIT 100

Execute

List of WikiPathways for PubChem CID identifiers

select distinct ?pathwayRes (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (fn:substring(?cid,46) as ?PubChem) where {
  ?gene a wp:Metabolite ;
    dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes ;
    wp:bdbPubChem ?cid .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
} LIMIT 100

Execute

Code examples

Perl

There is an RDF api available. Below is an example that extracts the data by converting the query into a url and extracts the data as CSV.

#!/usr/bin/perl
 
use LWP::Simple;
use URI::Escape;
my $sparql = "SELECT DISTINCT ?wpIdentifier ?elementneedsattention ?elementLabel
WHERE {
    ?pathway dc:title ?title .
    ?elementneedsattention a gpml:requiresCurationAttention .
    ?elementneedsattention dcterms:isPartOf ?pathway .
    ?elementneedsattention rdfs:label ?elementLabel . 
    ?pathway wp:organism ?organism .
    ?pathway foaf:page ?page .
    ?pathway dc:identifier ?wpIdentifier .
    ?organism rdfs:label \"Mus musculus\"^^<http://www.w3.org/2001/XMLSchema#string> .
 }
ORDER BY ?wpIdentifier";
 
my $url = 'https://sparql.wikipathways.org/sparql?default-graph-uri=&query='.uri_escape($sparql).'&format=text%2Fcsv&timeout=0&debug=on';
 
my $content = get $url;
die "Couldn't get $url" unless defined $content;
 
print $content;

Java

For java we recommend the Jena Framework.

import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;

public class javaCodeExample {

	public static void main(String[] args) {
		String sparqlQueryString = "SELECT * WHERE {?s ?p ?o} LIMIT 10";
		Query query = QueryFactory.create(sparqlQueryString);
		QueryExecution queryExecution = QueryExecutionFactory.sparqlService("https://sparql.wikipathways.org/sparql", query);
		ResultSet resultSet = queryExecution.execSelect();
		while (resultSet.hasNext()) {
			QuerySolution solution = resultSet.next();
			System.out.print(solution.get("s"));
			System.out.print("\t"+solution.get("p"));
			System.out.println("\t"+solution.get("o"));
		}
	}
}

php

For php we recommend the arc2: Easy RDF and SPARQL for LAMP systems

R

The R package rrdf can be found and installed from https://github.com/egonw/rrdf.

   library(rrdf)
   sparql.remote(
     "https://sparql.wikipathways.org/sparql",
     "SELECT DISTINCT ?p WHERE { ?s ?p ?o }"
   )

Another option is to use the SPARQL-package (tested on Ubuntu 18.04.5 LTS, R-studio version 1.4.1717, R version 4.1.0 (2021-05-18)).

  • Note the backslashes in front of the quotation marks in the VALUES claim; this is specifically needed in R to read these characters correctly.
  • Note this query is an example of how to perform a UNION query in WikiPathways.
if(!"SPARQL" %in% installed.packages()){
  install.packages("SPARQL")
}

library(SPARQL)

##Connect to Endpoint WikiPathways
endpointwp <- "https://sparql.wikipathways.org/sparql"

queryDatanodeContent <-
"
select distinct (str(?wpid) as ?pathway) (str(?title) as ?pathwayTitle) (count(distinct ?hgncIdProtein) AS ?ProteinsInPWs) (count(distinct ?chebiMetabolite) AS ?MetabolitesInPWs)
where {
VALUES ?wpid {\'WP4224\' \'WP4225\' \'WP4571\' }
  ?datanode dcterms:identifier ?id ;
    dcterms:isPartOf ?pathwayRes .
  ?pathwayRes a wp:Pathway ;
    dcterms:identifier ?wpid ;
    dc:title ?title .
  
  {?datanode a wp:Protein ;          
            wp:bdbHgncSymbol ?hgncIdProtein .}
  UNION
  {?datanode a wp:Metabolite ;          
            wp:bdbChEBI ?chebiMetabolite .}
  
} ORDER BY ASC(?wpid)

"

resultsDatanodeContent <- SPARQL(endpointwp,queryDatanodeContent,curl_args=list(useragent=R.version.string))
showresultsDatanodeContent <- resultsDatanodeContent$results

Bioclipse

The below code works in both the JavaScript and the Groovy console:

   rdf.sparqlRemote(
     "https://sparql.wikipathways.org/sparql",
     "SELECT DISTINCT ?p WHERE { ?s ?p ?o }"
   )

SPARQL from the command line

For quick and easy querying, we recommend to use curl (Linux and OS X)

curl -F "query=SELECT * WHERE {?s ?p ?o} LIMIT 10" https://sparql.wikipathways.org/sparql



Return to Help Contents

Personal tools