about summary refs log tree commit diff
path: root/transform/triples.scm
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/triples.scm
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/triples.scm')
-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))