aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdump.scm9
-rw-r--r--dump/triples.scm11
2 files changed, 19 insertions, 1 deletions
diff --git a/dump.scm b/dump.scm
index 9650de5..01376b2 100755
--- a/dump.scm
+++ b/dump.scm
@@ -89,6 +89,15 @@
;;; Dump tables
+(define (annotate-field field schema)
+ (let ([schema (cond ((symbol? schema)
+ (symbol->string schema))
+ ((string? schema) schema)
+ (else
+ (error "Use a string/symbol")))])
+ (string->symbol
+ (format #f "~s~a" field schema))))
+
(define (delete-substrings str . substrings)
"Delete SUBSTRINGS, a list of strings, from STR."
(fold (lambda (substring result)
diff --git a/dump/triples.scm b/dump/triples.scm
index 1509ded..6ccf137 100644
--- a/dump/triples.scm
+++ b/dump/triples.scm
@@ -40,7 +40,16 @@ characters with an underscore and prefixing with gn:PREFIX."
(number? object))
(error "Triple object not a string, symbol or number:"
(list subject predicate object)))
- (format #t "~a ~a ~s .~%" subject predicate object))
+ (let ([format-string
+ (if (symbol? object)
+ "~a ~a ~a .~%" "~a ~a ~s .~%")]
+ [object
+ (if (and (symbol? object)
+ (string-contains (symbol->string object)
+ "\""))
+ (symbol->string object)
+ object)])
+ (format #t format-string subject predicate object)))
(define (scm->triples alist id)
(for-each (match-lambda