aboutsummaryrefslogtreecommitdiff
path: root/json-dump.scm
diff options
context:
space:
mode:
Diffstat (limited to 'json-dump.scm')
-rwxr-xr-xjson-dump.scm73
1 files changed, 0 insertions, 73 deletions
diff --git a/json-dump.scm b/json-dump.scm
deleted file mode 100755
index 0a054c5..0000000
--- a/json-dump.scm
+++ /dev/null
@@ -1,73 +0,0 @@
-#! /usr/bin/env guile
-!#
-
-(use-modules (json)
- (ice-9 ftw)
- (ice-9 match)
- (transform triples))
-
-
-
-(define %directory
- (list-ref (command-line) 2))
-
-(define %data-directory
- (list-ref (command-line) 1))
-
-
-
-(define (json-metadata->rdf path)
- "Given a PATH that contains a json file, fetch the metadata embedded
-inside it."
- (if (access? path F_OK)
- (let* ((data (assoc-ref (call-with-input-file
- path
- (lambda (port)
- (json->scm port)))
- "metadata"))
- (name (or (assoc-ref data "name")
- (assoc-ref data "displayName"))))
- (match data
- (((key . value) ...)
- (map
- (lambda (a b)
- (format
- #f "gn:sampledata_~a gn:sampledata:~A ~a ."
- name a (format #f "~s"
- (cond ((boolean? b)
- (if b "True" "False"))
- (else b)))))
- key value))))))
-
-(define (run-proc-on-files path proc)
- (define (enter? name stat result)
- (not (member (basename name) '(".git" ".svn" "CVS"))))
- (define (leaf name stat result)
- (proc name))
- (define (down name stat result) result)
- (define (up name stat result) result)
- (define (skip name stat result) result)
-
- ;; Ignore unreadable files/directories but warn the user.
- (define (error name stat errno result)
- (format (current-error-port) "warning: ~a: ~a~%"
- name (strerror errno))
- result)
- (file-system-fold enter? leaf down up skip error 0 path))
-
-(define (rdf path)
- (with-output-to-file
- (string-append %directory "/sampledata.ttl")
- (lambda ()
- (prefix "gn:" "<http://genenetwork.org/>")
- (newline)
- (run-proc-on-files
- %data-directory
- (lambda (file)
- (when (string-suffix? "json" file)
- (map (lambda (line)
- (display line)
- (newline))
- (json-metadata->rdf file))))))))
-
-(rdf %data-directory)