about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPjotr Prins2023-07-23 11:47:23 +0200
committerPjotr Prins2023-07-23 11:47:23 +0200
commit8f988827b24ec56f0609c1120d81a62138288a61 (patch)
treea90bf5c5368bd4a323c2dde8aa1bf9a173a1f781
parentac059c92e1d678d8c4f5678fa2e14bc0110ffa11 (diff)
downloadgenenetwork3-8f988827b24ec56f0609c1120d81a62138288a61.tar.gz
this works
-rwxr-xr-xgn3-guile/web/webserver.scm31
1 files changed, 19 insertions, 12 deletions
diff --git a/gn3-guile/web/webserver.scm b/gn3-guile/web/webserver.scm
index 08e2412..0ae95aa 100755
--- a/gn3-guile/web/webserver.scm
+++ b/gn3-guile/web/webserver.scm
@@ -95,9 +95,6 @@ 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))))
-
 #!
 (define-values (names res) (sparql-species-meta))
 (define table (get-rows names res))
@@ -107,6 +104,15 @@ SELECT DISTINCT ?species WHERE {
 (assoc-ref h "http://genenetwork.org/species_drosophila_melanogaster") ;; note switch!
 (define d (car h))
 (assoc-ref (list d) "http://genenetwork.org/species_drosophila_melanogaster")
+
+(scm->json #(1  (("2" . 3))))
+;; [1,{"2":3}]
+(scm->json #("http://genenetwork.org/species_drosophila_melanogaster" (("http://genenetwork.org/menuName" . "Drosophila") ("http://genenetwork.org/binomialName" . "Drosophila melanogaster") )))
+;; ["http://genenetwork.org/species_drosophila_melanogaster",{"http://genenetwork.org/menuName":"Drosophila","http://genenetwork.org/binomialName":"Drosophila melanogaster"}]
+l
+;; (("http://genenetwork.org/menuName" "Drosophila") ("http://genenetwork.org/name" "Drosophila") ("http://genenetwork.org/binomialName" "Drosophila melanogaster"))
+(scm->json (map (lambda (i) (cons (car i) (car (cdr i)))) l))
+;; {"http://genenetwork.org/menuName":"Drosophila","http://genenetwork.org/name":"Drosophila","http://genenetwork.org/binomialName":"Drosophila melanogaster"}
 !#
 
 (define (sparql-species-meta)
@@ -157,15 +163,16 @@ SELECT ?species ?p ?o WHERE {
 
 ;; result should be a vector of list of pair
 (define (tojson recs)
-  (for-each (lambda (r)
-	      (let ([k (car r)]
-		    [v (cdr r)])
-		(display k)
-		(newline)
-		(display r)
-		(newline)
-	      )) recs
-  ))
+  (map (lambda (r)
+	 (let* ([k (car r)]
+		[v (cdr r)])
+	   ; (display k)
+	   ; (display v)
+	   ; (newline)
+	   (scm->json (map (lambda (i) (cons (car i) (car (cdr i)))) v))
+	   ))
+	 recs  )
+  )
 
 (define (get-species-api-str)
   (scm->json-string #("https://genenetwork.org/api/v2/mouse/"