aboutsummaryrefslogtreecommitdiff
path: root/gn/data/group.scm
blob: 3d31a0bff63c3008134b049bcbe766fa7244d2ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(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
            ))

(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)
  ))