#! /usr/bin/env guile !# (use-modules (srfi srfi-1) (srfi srfi-26) (ice-9 match) (ice-9 regex) (dump strings) (dump sql) (dump triples) (dump special-forms)) (define %connection-settings (call-with-input-file (list-ref (command-line) 1) read)) (define %dump-directory (list-ref (command-line) 2)) (define-dump dump-tissue ;; The Name and TissueName fields seem to be identical. BIRN_lex_ID ;; and BIRN_lex_Name are mostly NULL. (tables (Tissue)) (schema-triples (gn:name rdfs:range rdfs:Literal)) ;; Hopefully the Short_Name field is distinct and can be used as an ;; identifier. (triples (string->identifier "tissue" (field Tissue Short_Name)) (set rdf:type 'gn:tissue) (set gn:name (field Tissue Name)))) (call-with-target-database %connection-settings (lambda (db) (with-output-to-file (string-append %dump-directory "dump-tissue.ttl") (lambda () (prefix "chebi:" "") (prefix "dct:" "") (prefix "foaf:" "") (prefix "generif:" "") (prefix "gn:" "") (prefix "hgnc:" "") (prefix "homologene:" "") (prefix "kegg:" "") (prefix "molecularTrait:" "") (prefix "nuccore:" "") (prefix "omim:" "") (prefix "owl:" "") (prefix "phenotype:" "") (prefix "pubchem:" "") (prefix "pubmed:" "") (prefix "rdf:" "") (prefix "rdfs:" "") (prefix "uniprot:" "") (prefix "up:" "") (prefix "xsd:" "") (newline) (dump-tissue db)) #:encoding "utf8")))