aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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))