about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2023-05-26 08:35:01 +0300
committerBonfaceKilz2023-05-26 08:40:22 +0300
commit976831a5be7984f1a1a23e1c04693dbf5241ca07 (patch)
treea77e01a31119a5a44b80fee47cc1df2ab97758ca
parent7d9964474deaea4e06dcc8a415c0bcbc316c24b4 (diff)
downloadgn-transform-databases-976831a5be7984f1a1a23e1c04693dbf5241ca07.tar.gz
Allow load-rdf script to read in data from a dir
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rwxr-xr-xload-rdf.scm38
1 files changed, 22 insertions, 16 deletions
diff --git a/load-rdf.scm b/load-rdf.scm
index fcb4f4d..dc0459d 100755
--- a/load-rdf.scm
+++ b/load-rdf.scm
@@ -6,6 +6,7 @@
              (srfi srfi-26)
              (srfi srfi-71)
              (srfi srfi-171)
+             (ice-9 ftw)
              (ice-9 match)
              (ice-9 popen)
              (hashing md5)
@@ -184,23 +185,28 @@ DELETE FROM rdf_quad WHERE g = iri_to_id ('~a');"
                      (assq-ref connection-settings 'virtuoso-password)
                      %graph-uri)))
        ;; Load data into virtuoso.
-       (format (current-output-port)
-               "~a loaded into virtuoso in ~a seconds~%"
-               rdf-file
-               (time-thunk
-                (cut put-graph
-                     (build-uri
-                      (assq-ref connection-settings 'sparql-scheme)
-                      #:host (assq-ref connection-settings 'sparql-host)
-                      #:port (assq-ref connection-settings 'sparql-port)
-                      #:path "/sparql-graph-crud-auth")
-                     (assq-ref connection-settings 'virtuoso-username)
-                     (assq-ref connection-settings 'virtuoso-password)
-                     rdf-file
-                     %graph-uri
-                     #t)))))
+       (ftw rdf-file
+            (lambda (filename statinfo flag)
+              (begin
+                (when (eq? 'regular (stat:type statinfo))
+                  (format (current-output-port)
+                          "~a loaded into virtuoso in ~a seconds~%"
+                          filename
+                          (time-thunk
+                           (cut put-graph
+                                (build-uri
+                                 (assq-ref connection-settings 'sparql-scheme)
+                                 #:host (assq-ref connection-settings 'sparql-host)
+                                 #:port (assq-ref connection-settings 'sparql-port)
+                                 #:path "/sparql-graph-crud-auth")
+                                (assq-ref connection-settings 'virtuoso-username)
+                                (assq-ref connection-settings 'virtuoso-password)
+                                filename
+                                %graph-uri
+                                #t))))
+                #t)))))
     ((arg0 _ ...)
-     (format (current-error-port) "Usage: ~a CONNECTION-SETTINGS-FILE RDF-FILE~%" arg0)
+     (format (current-error-port) "Usage: ~a CONNECTION-SETTINGS-FILE RDF-FILE-OR-RDF-DIR~%" arg0)
      (exit #f))))
 
 (apply main (command-line))