about summary refs log tree commit diff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/generif.scm69
1 files changed, 38 insertions, 31 deletions
diff --git a/examples/generif.scm b/examples/generif.scm
index 909ec13..a0db6de 100755
--- a/examples/generif.scm
+++ b/examples/generif.scm
@@ -39,7 +39,8 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
        #f "gn:wiki-~a-~a"
        (field GeneRIF Id)
        (field GeneRIF versionId))
-    (set rdfs:label (string->symbol (format #f "'''~a'''@en" (field GeneRIF comment))))
+    (set rdfs:label (string->symbol
+                     (sanitize-rdf-string (format #f "'''~a'''@en" (field GeneRIF comment)))))
     (set rdf:type 'gnc:GNWikiEntry)
     (set gnt:symbol (field GeneRIF symbol))
     (set gnt:belongsToSpecies (string->identifier
@@ -96,36 +97,42 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
        (field
         ("DATE_FORMAT(createtime, '%Y-%m-%dT%T')" CreateTime))
        (field GeneRIF_BASIC VersionId))
-    (set rdf:type 'gnc:NCBIWikiEntry)
-    (set gnt:symbol (field GeneRIF_BASIC symbol))
-    (set rdfs:label
-         (let* ((comment
-                 (format #f "'~a'@en"
-                         (replace-substrings
-                          (field GeneRIF_BASIC comment)
-                          '(("\\" . "\\\\")
-                            ("\n" . "\\n")
-                            ("\r" . "\\r")
-                            ("'" . "\\'"))))))
-           (string->symbol comment)))
-    (set dct:created
-         (string->symbol
-          (format #f "~s^^xsd:datetime "
-                  (field
-                   ("CAST(createtime AS CHAR)" EntryCreateTime)))))
-    (set gnt:belongsToSpecies (string->identifier
-                               ""
-                               (remap-species-identifiers (field Species Fullname))
-                               #:separator ""
-                               #:proc string-capitalize-first))
-    (set gnt:hasGeneId (string->symbol (format #f "generif:~a" (field GeneRIF_BASIC GeneId))))
-    (set skos:notation (match (field GeneRIF_BASIC TaxID TaxonomicId)
-                           ((? number? x)
-                            (string->symbol (format #f "taxon:~a" x)))
-                           (else "")))
-    (set dct:hasVersion (annotate-field (format #f "~s" (field GeneRIF_BASIC versionId))
-                                        '^^xsd:integer))
-    (set dct:references (string->symbol (format #f "pubmed:~a" (field GeneRIF_BASIC PubMed_ID))))))
+    (set rdf:type
+         (let* ((comment (format #f "'~a'@en"
+                                 (replace-substrings
+                                  (sanitize-rdf-string
+                                   (field GeneRIF_BASIC comment))
+                                  '(("\\" . "\\\\")
+                                    ("\n" . "\\n")
+                                    ("\r" . "\\r")
+                                    ("'" . "\\'")))))
+                (create-time (format #f "~s^^xsd:datetime"
+                                     (field
+                                      ("CAST(createtime AS CHAR)" EntryCreateTime))))
+                (symbol (field GeneRIF_BASIC symbol))
+                (species (string->identifier
+                          ""
+                          (remap-species-identifiers (field Species Fullname))
+                          #:separator ""
+                          #:proc string-capitalize-first))
+                (gene-id (field GeneRIF_BASIC GeneId))
+                (taxon-id (field GeneRIF_BASIC TaxID TaxonomicId))
+                (pmid (field GeneRIF_BASIC PubMed_ID))
+                (version-id (field GeneRIF_BASIC versionId)))
+           (string->symbol
+            (string-append
+             (format #f "gnc:NCBIWikiEntry ;\n")
+             (format #f "\trdfs:label ~a ;\n" comment)
+             (format #f "\tgnt:belongsToSpecies ~a ;\n" species)
+             (format #f "\tgnt:symbol ~s ;\n" symbol)
+             (format #f "\tgnt:hasGeneId generif:~a ;\n" gene-id)
+             (match taxon-id
+               ((? number? x)
+                (format #f "\tskos:notation taxon:~a ;\n" taxon-id))
+               (else ""))
+             (format #f "\tdct:hasVersion \"~a\"^^xsd:integer ;\n" version-id)
+             (format #f "\tdct:references pubmed:~a ;\n" pmid)
+             (format #f "\tdct:created ~a" create-time)))))))