aboutsummaryrefslogtreecommitdiff
path: root/transform
diff options
context:
space:
mode:
authorMunyoki Kilyungi2025-12-23 20:08:22 +0300
committerMunyoki Kilyungi2026-01-13 12:02:50 +0300
commit76da7359cf0bf9c45673853c78a20ce616dce248 (patch)
tree3d4f03d52f3c91488586c52dfcaff28ef2f20170 /transform
parentc0426669eb398c0e9dd773dc908c8ba544f6b3c0 (diff)
downloadgn-transform-databases-76da7359cf0bf9c45673853c78a20ce616dce248.tar.gz
Strictly follow PN_LOCAL rules when constructing qnames.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Diffstat (limited to 'transform')
-rw-r--r--transform/triples.scm23
1 files changed, 10 insertions, 13 deletions
diff --git a/transform/triples.scm b/transform/triples.scm
index e24e68e..13758e5 100644
--- a/transform/triples.scm
+++ b/transform/triples.scm
@@ -47,19 +47,16 @@ characters with an underscore and prefixing with gn:PREFIX."
""
(string->symbol
(string-append ontology prefix separator
- (string-delete
- (lambda (c)
- (eq? c #\)))
- (string-map (lambda (c)
- (case c
- ((#\/ #\< #\> #\+ #\( #\space #\@) #\-)
- (else c)))
- (proc
- (string-trim-right
- (regexp-substitute/global
- #f "_"
- str
- 'pre "-" 'post) #\.))))))))
+ (string-delete
+ (lambda (c)
+ (eq? c #\)))
+ (string-map (lambda (c)
+ (if (or (char-alphabetic? c)
+ (char-numeric? c)
+ (char=? c #\_))
+ c
+ #\_))
+ (proc str)))))))
(define* (prefix prefix iri #:optional (ttl? #t))