Help:WikiPathways SPARQL queries
From WikiPathways
(Difference between revisions)
(→Get the pathway with the erroneous data source "null") |
(→Pathway oriented queries) |
||
| Line 29: | Line 29: | ||
[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] | [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] | ||
| - | + | == Pathway oriented queries == | |
| - | + | ||
| - | + | ===Get the species currently in WikiPathways with their respective URI's=== | |
| - | + | <pre>SELECT DISTINCT ?organism ?label | |
WHERE { | WHERE { | ||
?concept wp:organism ?organism . | ?concept wp:organism ?organism . | ||
?organism rdfs:label ?label . | ?organism rdfs:label ?label . | ||
} </pre> | } </pre> | ||
| - | + | [http://sparqlbin.com/#4f91f23a032a87cc46c5a526a6da673a Execute] | |
| - | + | ||
| - | + | ===List pathways and their species === | |
| - | + | <pre> | |
SELECT DISTINCT ?title ?label | SELECT DISTINCT ?title ?label | ||
WHERE { | WHERE { | ||
| Line 49: | Line 49: | ||
} | } | ||
</pre> | </pre> | ||
| - | + | [http://sparqlbin.com/#f123c99388d62965e9c96de98c03f718 Sparqlbin] | |
| - | + | ||
| - | + | === List the species captured in WikiPathways and the number of pathways per species=== | |
| - | + | <PRE>SELECT DISTINCT ?organism ?label count(?pathway) as ?noPathways | |
WHERE { | WHERE { | ||
?pathway dc:title ?title . | ?pathway dc:title ?title . | ||
| Line 59: | Line 59: | ||
} | } | ||
ORDER BY DESC(?noPathways)</PRE> | ORDER BY DESC(?noPathways)</PRE> | ||
| - | + | [http://sparqlbin.com/#f123c99388d62965e9c96de98c85c71f Sparqlbin] | |
| - | + | ||
| - | + | ||
=== Datasource oriented queries === | === Datasource oriented queries === | ||
Revision as of 15:34, 24 October 2012
On sparql.wikipathways.org wikipathways content is replicated. Currently this SPARQL endpoint is being developed, with very irregular updates.
Contents |
Prefixes
Below are example queries. For readability we have omitted the prefixes. We use the following prefixes: (Not complete yet)
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/>
Example queries
Queries with a * requires a bit more time for results.
Data curation oriented queries
Get the pathway with the erroneous data source "null"
SELECT DISTINCT ?identifier ?pathway ?label
WHERE {
?concept dc:source "null"^^xsd:string .
?concept dc:identifier ?identifier .
?concept dcterms:isPartOf ?pathway .
?concept rdfs:label ?label
}
Pathway oriented queries
Get the species currently in WikiPathways with their respective URI's
SELECT DISTINCT ?organism ?label
WHERE {
?concept wp:organism ?organism .
?organism rdfs:label ?label .
}
List pathways and their species
SELECT DISTINCT ?title ?label
WHERE {
?pathway dc:title ?title .
?pathway wp:organism ?organism .
?organism rdfs:label ?label .
}
List the species captured in WikiPathways and the number of pathways per species
SELECT DISTINCT ?organism ?label count(?pathway) as ?noPathways
WHERE {
?pathway dc:title ?title .
?pathway wp:organism ?organism .
?organism rdfs:label ?label .
}
ORDER BY DESC(?noPathways)
Sparqlbin
Datasource oriented queries
| Get all datasource currently captured in WikiPathways | SELECT DISTINCT ?datasource
WHERE {
?concept dc:source ?datasource
}
| Execute | |
| Get the number of entries per datasource in WikiPathways | SELECT DISTINCT ?datasource count(?datasource) as ?numberEntries
WHERE {
?concept dc:source ?datasource
}
ORDER BY DESC(?numberEntries)
| Execute | |
| Count the identifiers per data source |
SELECT DISTINCT ?datasource ?identifier count(?identifier) AS ?numberEntries
WHERE {
?concept dc:source ?datasource .
?concept dc:identifier ?identifier
}
| Execute | * |
| Count the identifiers per data source and order them from high to low |
SELECT DISTINCT ?datasource ?identifier count(?identifier) AS ?numberEntries
WHERE {
?concept dc:source ?datasource .
?concept dc:identifier ?identifier
}
ORDER BY DESC(?numberEntries)
| Execute | * |
| Return all Chembl compounds in WikiPathways and the pathways they are in | SELECT DISTINCT ?identifier ?pathway
WHERE {
?concept dcterms:isPartOf ?pathway .
?concept dc:source "ChEMBL compound"^^xsd:string .
?concept dc:identifier ?identifier .
}
| Execute |
Curators oriented queries
| Extract contributors | SELECT DISTINCT ?contributor
WHERE {
?pathway dc:contributor ?contributor
}
| Execute |
| Extract the amount of pathways edited per contributor | SELECT DISTINCT ?contributor, count(?pathway) as ?pathwaysEdited
WHERE {
?pathway dc:contributor ?contributor
}
ORDER BY DESC(?pathwaysEdited)
| Execute |
| find the pathways a user have edited so far. Change the name in the query | SELECT DISTINCT ?pathway, ?pathwayLabel
WHERE {
?pathway dc:contributor wpuser:Andra .
?pathway dc:contributor ?contributor .
?pathway rdfs:label ?pathwayLabel .
}
| Execute |
Federated queries
Code examples
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("http://sparql.wikipathways.org", 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
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" http://sparql.wikipathways.org

