aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2023-06-29 22:08:15 +0300
committerBonfaceKilz2023-07-30 12:29:56 +0300
commit1b775aaefc9e2eaf5bfda62ec94856d7c10fce45 (patch)
tree8c8b9a7e80eac759b6056d81a3a80cbaf6c4cb16
parentb44b81f070b22c315d381431e39fc80705f11566 (diff)
downloadgn-transform-databases-1b775aaefc9e2eaf5bfda62ec94856d7c10fce45.tar.gz
Optionally self-document while dumping
-rw-r--r--dump/special-forms.scm20
1 files changed, 20 insertions, 0 deletions
diff --git a/dump/special-forms.scm b/dump/special-forms.scm
index bd1760b..0099f73 100644
--- a/dump/special-forms.scm
+++ b/dump/special-forms.scm
@@ -439,6 +439,26 @@ must be remedied."
(triple 'predicate 'rdfs:domain #,subject-type))))
(_ (error "Invalid predicate clause:" predicate-clause))))
#'(predicate-clauses ...))))
+ (when (dump-configuration-auto-document-path configuration)
+ (for-each (match-lambda
+ ((predicate . object)
+ (format #f "Subject:~a Predicate:~a Object:~a.~%"
+ #,(car (collect-keys
+ (field->key #'subject)))
+ predicate object)))
+ (map-alist
+ '()
+ #,@(translate-forms 'field
+ (lambda (x)
+ (symbol->string
+ (syntax->datum
+ ((syntax-rules (field)
+ ((field (query alias)) alias)
+ ((field table column) column)
+ ((field table column alias) alias))
+ x))))
+ #'(predicate-clauses ...))
+ )))
(sql-for-each (lambda (row)
(scm->triples
(map-alist row #,@(field->key #'(predicate-clauses ...)))