about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPjotr Prins2023-07-17 12:25:29 +0200
committerPjotr Prins2023-07-17 12:25:29 +0200
commit1baf1a444c000cac21775a1b4d7d348c5fb1f880 (patch)
treed5b0463c0060a78fc978131cb02e99eb7f0c051f
parent428f6eab3e9fbd177f0dc59857ba9ba9c87548a6 (diff)
downloadgenenetwork3-1baf1a444c000cac21775a1b4d7d348c5fb1f880.tar.gz
refactoring
-rwxr-xr-xgn3-guile/web/webserver.scm73
1 files changed, 22 insertions, 51 deletions
diff --git a/gn3-guile/web/webserver.scm b/gn3-guile/web/webserver.scm
index 0803018..2aaffed 100755
--- a/gn3-guile/web/webserver.scm
+++ b/gn3-guile/web/webserver.scm
@@ -49,8 +49,7 @@
   ("comment" . "This is the official REST API for the GeneNetwork service hosted at https://genenetwork.org/")
   ("license" . (("source code" . "AGPL")))
   ("note" . "work in progress (WIP)")
-  ("see also". ,(meta (prefix)))
-  ))
+  ("see also". ,(meta (prefix)))))
 
 (define info-meta `(		    
    ("doc" . ,(mk-doc "info"))
@@ -65,56 +64,33 @@
   (bytevector->string (receive (response-status response-body)
                            (http-request (string-append "https://sparql.genenetwork.org/sparql?default-graph-uri=&query=" (uri-encode query) "&format=application%2Fsparql-results%2Bjson"))
                          
-                         response-body) "UTF-8"
-                         ))
+                         response-body) "UTF-8"))
 
 (define (sparql-names response)
-  (cdr (assoc "vars" (cdr (assoc "head" response))))
-  )
+  (cdr (assoc "vars" (cdr (assoc "head" response)))))
 
-(define (sparql-results response)
-  (cdr (assoc "bindings" (cdr (assoc "results" response
+(define (sparql-results response) (cdr (assoc "bindings" (cdr (assoc "results" response
   )))))
 
 (define (sparql-scm query)
-  "Return dual S-exp"
-  (let response (((json-string->scm (sparql-exec query)))
-   (values (sparql-names response) (sparql-results response))
-  )))
-
-
-(define (sparql-exec query)
-  "Return list of varnames and list of results"
-  (let ([response (sparql-scm query)])
-      (values (sparql-names response) (sparql-results response))
-  ))
+  "Return dual S-exp of varnames and results"
+  (let ((response (json-string->scm (sparql-exec query))))
+   (values (sparql-names response) (sparql-results response))))
 
 (define (sparql-species)
-  (sparql-exec "
+  (sparql-scm "
 PREFIX gn: <http://genenetwork.org/>
 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 
 SELECT DISTINCT ?species WHERE {
     ?species rdf:type gn:species .
-}"
-               ))
+}"))
 
 (define (get-species-uris)
-  (map (lambda (m) (cdr (assoc "value"(cdr (car m))))) (array->list (sparql-species)))
-  )
+  (map (lambda (m) (cdr (assoc "value"(cdr (car m))))) (array->list (sparql-species))))
 
-(define (sparql-species-meta2)
-  (sparql-exec "
-PREFIX gn: <http://genenetwork.org/>
-PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?species ?p ?o WHERE {
-    ?species rdf:type gn:species .
-    ?species ?p ?o .
-}"
-               ))
 (define (sparql-species-meta)
-  (sparql-exec "
+  (sparql-scm "
 PREFIX gn: <http://genenetwork.org/>
 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 
@@ -124,28 +100,23 @@ SELECT ?species ?p ?o WHERE {
   SELECT DISTINCT ?species ?p ?o WHERE {
     ?species rdf:type gn:species .
     ?species ?p ?o .
-   }}}"
-               ))
-
+   }}}"))
 
-(define (get-species-all)
-  (sparql-species-meta))
 
-(define (get-species)
-  (receive (names results) (sparql-species-meta)
-  results))
+;; (define (get-species)
+;;  (receive (names results) (sparql-species-meta)
+;;   results))
 
-(define (get-values name resultlist)
-  (map (lambda (m) (cdr (assoc "value" (cdr (assoc name m))))) resultlist)
-  )
+;; (define (get-values name resultlist)
+;;  (map (lambda (m) (cdr (assoc "value" (cdr (assoc name m))))) resultlist))
 
-(define (filter-results)
-  (get-values "o" (array->list (get-species)))
-  )
+;; (define (filter-results)
+;;  (get-values "o" (array->list (get-species))))
 
+;; (define (triples)
+;;  (array->list (get-species-all)))
 
-(define (triples)
-  (array->list (get-species-all)))
+(define get-matrix #f)
 
 ;; from the triples first harvest the species URIs, followed by creating records of information