aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2023-08-20 10:45:50 +0200
committerPjotr Prins2023-08-20 10:45:50 +0200
commita7cbd689f344c4a3afd0903d09cdfb82bccd4c96 (patch)
treeeeb495411c41d5b226805390695dfcc0ae34fd1d
parente44caf82bed31af38f8a2c0b45e7134aefa742a8 (diff)
downloadgn-docs-a7cbd689f344c4a3afd0903d09cdfb82bccd4c96.tar.gz
SPARQL: adding examples and links
-rw-r--r--api/sparql-endpoint.md137
1 files changed, 75 insertions, 62 deletions
diff --git a/api/sparql-endpoint.md b/api/sparql-endpoint.md
index e1447a5..d0f1fdb 100644
--- a/api/sparql-endpoint.md
+++ b/api/sparql-endpoint.md
@@ -1,3 +1,13 @@
+# GENENETWORK SPARQL endpoint
+
+SPARQL is the query language for our RDF database. This endpoint can export HTML, JSON and TSV(!)
+
+Note that we created a reflective REST API that executes similar queries. See the [REST API](GN-REST-API-v2.md).
+
+SPARQL examples are:
+
+## Get species info
+
- list_species() - List available species.
PREFIX gn: <http://genenetwork.org/id/>
@@ -14,9 +24,13 @@
?s ?p ?o .
}
+[try me] (https://sparql.genenetwork.org/sparql?default-graph-uri=&qtxt=%20%20%20%20%20%20%20%20PREFIX%20gn%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fid%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnc%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fcategory%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20owl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnt%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fterm%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20taxon%3A%20%3Chttp%3A%2F%2Fpurl.uniprot.org%2Ftaxonomy%2F%3E%0A%0A%20%20%20%20%20%20%20%20SELECT%20DISTINCT%20*%20WHERE%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Fs%20rdf%3Atype%20gnc%3Aspecies%20.%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Fs%20%3Fp%20%3Fo%20.%0A%20%20%20%20%20%20%20%20%7D%0A%0A&format=text%2Fhtml&timeout=0&signal_void=on)
+
+## Get 'group' or population info
- list_groups("drosophila") - List available groups of datasets
+```sparql
PREFIX gn: <http://genenetwork.org/id/>
PREFIX gnc: <http://genenetwork.org/category/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
@@ -27,96 +41,94 @@
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
SELECT ?inbredSet WHERE {
- ?species rdf:type gnc:species .
+ rdf:type gnc:species .
?species skos:altLabel "drosophila" .
?inbredSet rdf:type gnc:inbredSet .
?inbredSet gnt:belongsToSpecies ?species .
}
+```
+And list all 50+ sets for Mouse:
+
+```sql
+ SELECT DISTINCT * WHERE {
+ ?inbredSet rdf:type gnc:inbredSet ;
+ gnt:belongsToSpecies gn:Mus_musculus .
+ OPTIONAL {?inbredSet rdfs:label ?descr }.
+ }
+```
+
+[try](https://sparql.genenetwork.org/sparql?default-graph-uri=&qtxt=%20%20%20%20%20%20%20PREFIX%20gn%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fid%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnc%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fcategory%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20owl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnt%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fterm%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20taxon%3A%20%3Chttp%3A%2F%2Fpurl.uniprot.org%2Ftaxonomy%2F%3E%0A%0A%20%20%20%20%20%20%20%20SELECT%20DISTINCT%20*%20WHERE%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%3FinbredSet%20rdf%3Atype%20gnc%3AinbredSet%20%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20gnt%3AbelongsToSpecies%20gn%3AMus_musculus%20.%0A%20%20%20%20%20%20%20%20%20%20%20%20OPTIONAL%20%7B%3FinbredSet%20rdfs%3Alabel%20%3Fdescr%20%7D.%0A%20%20%20%20%20%20%20%20%7D&format=text%2Fhtml&timeout=0&signal_void=on).
+
+## List all datasets for a group/population:
- list_datasets("BXD") - List available datasets for a given group (here, "BXD").
- PREFIX v: <http://www.w3.org/2006/vcard/ns#>
- PREFIX foaf: <http://xmlns.com/foaf/0.1/>
- PREFIX gdmt: <http://vocab.fairdatacollective.org/gdmt/>
- PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
- PREFIX geoSeries: <http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=>
- PREFIX gnt: <http://genenetwork.org/term/>
- PREFIX gn: <http://genenetwork.org/id/>
- PREFIX gnc: <http://genenetwork.org/category/>
- PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
- PREFIX owl: <http://www.w3.org/2002/07/owl#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
- PREFIX dct: <http://purl.org/dc/terms/>
- PREFIX gdmt: <http://vocab.fairdatacollective.org/gdmt/>
+```
+SELECT DISTINCT * WHERE {
+ ?dataset gnt:belongsToInbredSet gn:inbredSetBxd ;
+ rdfs:label ?descr .
+}
+```
+
+[try](https://sparql.genenetwork.org/sparql?default-graph-uri=&qtxt=%20%20%20%20%20%20%20%20PREFIX%20gn%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fid%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnc%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fcategory%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20owl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnt%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fterm%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20taxon%3A%20%3Chttp%3A%2F%2Fpurl.uniprot.org%2Ftaxonomy%2F%3E%0A%0ASELECT%20DISTINCT%20*%20WHERE%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%3Fdataset%20gnt%3AbelongsToInbredSet%20gn%3AinbredSetBxd%20%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20rdfs%3Alabel%20%3Fdescr%20.%0A%7D&format=text%2Fhtml&timeout=0&signal_void=on)
+
+Pick one, e.g. http://genenetwork.org/id/Devneocortex_ilm6_2p14rinv_1111 or `gn:Devneocortex_ilm6_2p14rinv_1111`
- SELECT DISTINCT ?datasetName WHERE {
+```
+SELECT DISTINCT * WHERE {
+ gn:Devneocortex_ilm6_2p14rinv_1111 ?p ?o .
+}
+```
+
+Will show something like:
+
+```
+http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://genenetwork.org/category/probesetDataset
+http://purl.org/dc/terms/created "2011-11-18"
+http://www.w3.org/2004/02/skos/core#prefLabel "BIDMC/UTHSC Dev Neocortex P14 ILMv6.2 (Nov10)"
+http://genenetwork.org/term/belongsToInbredSet http://genenetwork.org/id/inbredSetBxd
+http://vocab.fairdatacollective.org/gdmt/hasCreatorAffiliation "Beth Israel Deaconess Medical Center"
+```
+[try](https://sparql.genenetwork.org/sparql?default-graph-uri=&qtxt=%20%20%20%20%20%20%20%20PREFIX%20gn%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fid%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnc%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fcategory%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20owl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20gnt%3A%20%3Chttp%3A%2F%2Fgenenetwork.org%2Fterm%2F%3E%0A%20%20%20%20%20%20%20%20PREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%20%20%20%20%20%20%20%20PREFIX%20taxon%3A%20%3Chttp%3A%2F%2Fpurl.uniprot.org%2Ftaxonomy%2F%3E%0A%0ASELECT%20DISTINCT%20*%20WHERE%20%7B%0A%20%20%20%20%20%20gn%3ADevneocortex_ilm6_2p14rinv_1111%20%3Fp%20%3Fo%20.%0A%7D&format=text%2Fhtml&timeout=0&signal_void=on)
+
+
+Another way to list datasets with the name that is used in GN:
+
+```
+ SELECT DISTINCT ?dataset ?datasetName WHERE {
?dataset rdf:type/rdfs:subClassOf gnc:dataset .
?dataset rdfs:label ?datasetName .
?dataset gnt:belongsToInbredSet ?inbredSet .
?inbredSet skos:altLabel "BXD" .
- }
+ }
+```
-- info_dataset("CB_M_1004_P") - Get meta information about a data set.
- PREFIX v: <http://www.w3.org/2006/vcard/ns#>
- PREFIX foaf: <http://xmlns.com/foaf/0.1/>
- PREFIX gdmt: <http://vocab.fairdatacollective.org/gdmt/>
- PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
- PREFIX geoSeries: <http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=>
- PREFIX gnt: <http://genenetwork.org/term/>
- PREFIX gn: <http://genenetwork.org/id/>
- PREFIX gnc: <http://genenetwork.org/category/>
- PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
- PREFIX owl: <http://www.w3.org/2002/07/owl#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
- PREFIX dct: <http://purl.org/dc/terms/>
+- info_dataset("CB_M_1004_P") - Get meta information about a data set using the GN name:
+```
SELECT DISTINCT * WHERE {
?s rdfs:label "CB_M_1004_P" .
?s ?p ?o .
}
+```
+(you should be using the identifier here)
- info_datasets("B6D2F2") - Get meta information about all data sets for a group.
- PREFIX v: <http://www.w3.org/2006/vcard/ns#>
- PREFIX foaf: <http://xmlns.com/foaf/0.1/>
- PREFIX gdmt: <http://vocab.fairdatacollective.org/gdmt/>
- PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
- PREFIX geoSeries: <http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=>
- PREFIX gnt: <http://genenetwork.org/term/>
- PREFIX gn: <http://genenetwork.org/id/>
- PREFIX gnc: <http://genenetwork.org/category/>
- PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
- PREFIX owl: <http://www.w3.org/2002/07/owl#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
- PREFIX dct: <http://purl.org/dc/terms/>
-
- SELECT DISTINCT * WHERE {
+```
+ SELECT DISTINCT * WHERE {
?s rdf:type/rdfs:subClassOf gnc:dataset .
?s gnt:belongsToInbredSet ?inbredSet .
?inbredSet skos:altLabel "B6D2F2" .
?s ?p ?o .
}
-
+```
- info_pheno("BXD", "10038") - Get summary information for a phenotype
- PREFIX dct: <http://purl.org/dc/terms/>
- PREFIX gn: <http://genenetwork.org/id/>
- PREFIX owl: <http://www.w3.org/2002/07/owl#>
- PREFIX gnc: <http://genenetwork.org/category/>
- PREFIX gnt: <http://genenetwork.org/terms/>
- PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
- PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
- PREFIX pubmed: <http://rdf.ncbi.nlm.nih.gov/pubmed/>
- PREFIX fabio: <http://purl.org/spar/fabio/>
-
+```
SELECT DISTINCT * WHERE {
?s rdf:type gnc:phenotype .
?inbredSet skos:altLabel "BXD" .
@@ -129,17 +141,18 @@
?pub ?pubTerms ?pubResult .
}
}
+```
> - get_pheno("BXD", "10646") - Get phenotype values for a classical trait.
-lmdb
+Use lmdb
> - get_geno("BXD") - Get genotypes for a group.
-lmdb
+Use lmdb
> - run_gemma("BXDPublish", "10015") - Perform a genome scan with gemma
> - run_rqtl("BXDPublish", "10015") - Perform a genome scan with R/qtl
> - run_correlation("HC_M2_0606_P", "BXDPublish", "1427571_at") - Finds traits that are correlated with a given trait.
-NA
+Not in SPARQL