diff options
author | Pjotr Prins | 2023-07-18 15:39:04 +0200 |
---|---|---|
committer | Pjotr Prins | 2023-07-18 15:39:04 +0200 |
commit | 4da2ae5d4c259bfeb82de5d7b4e1d98d3aa3ceca (patch) | |
tree | 4a24dbb59ac848c38e1561e81c2caaa7924c32da /gn3-guile | |
parent | 052957100e85e24dea2d8a1a49fc0abf94aae991 (diff) | |
download | genenetwork3-4da2ae5d4c259bfeb82de5d7b4e1d98d3aa3ceca.tar.gz |
Now we hang
Diffstat (limited to 'gn3-guile')
-rwxr-xr-x | gn3-guile/web/webserver.scm | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/gn3-guile/web/webserver.scm b/gn3-guile/web/webserver.scm index af13275..d2cabf6 100755 --- a/gn3-guile/web/webserver.scm +++ b/gn3-guile/web/webserver.scm @@ -123,10 +123,22 @@ SELECT ?species ?p ?o WHERE { ;; from the triples first harvest the species URIs, followed by creating records of information -(define (compile-species rows) +(define (compile-species recs rows) "Compile a matrix of species triples into records" - (define s '()) - ) + (for-each (lambda (r) + (let* ([s (car r)] + [v (cdr (cdr r))] + [p (car (cdr r))] + [nrec (assoc s recs)]) ; track records + (if nrec + (begin + (display nrec) + (set! nrec (assoc-set! nrec p v)) + (set! recs (assoc-set! recs s nrec))) + (set! recs (assoc-set! recs s '())) + ))) + rows) + recs) (define (get-species-api-str) (scm->json-string #("https://genenetwork.org/api/v2/mouse/" @@ -158,8 +170,6 @@ SELECT ?species ?p ?o WHERE { (render-json get-version)) (('GET "species") (render-json (get-species))) - (('GET "species-all") - (render-json (triples))) (_ (not-found (request-uri request))) )) |