(define-module (gn data group) #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (ice-9 format) #:use-module (ice-9 iconv) #:use-module (ice-9 receive) #:use-module (ice-9 string-fun) #:use-module (gn db sparql) #:use-module (web gn-uri) #:export ( get-group-links get-group-data )) (define (get-group-links gnid func) "Return all the URIs that link to group info, e.g. for Mus_musculus. Uses func to transform the link - if required." (let ([recs (car (cdr (compile-groups-meta)))] [uri (mk-gnid gnid)]) (filter-map (lambda (r) (if (string=? (second r) uri) (func (car r)) #f)) recs) )) (define (get-group-data id) (car (cdr (make-pairs (lambda () (sparql-group-info (string-append "gn:" id)))) )))