about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2026-02-16 14:32:14 +0300
committerMunyoki Kilyungi2026-02-16 14:32:14 +0300
commitfb76a578747e50fb68925cbef7f0c6a720c84255 (patch)
tree3965e829a717b566434a447297d7a7b5c47666db
parentd8345bc41d9c5567021e328734a16a1c8998f8d8 (diff)
downloadgn-transform-databases-fb76a578747e50fb68925cbef7f0c6a720c84255.tar.gz
Update generif metadata.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rwxr-xr-xexamples/generif.scm82
1 files changed, 35 insertions, 47 deletions
diff --git a/examples/generif.scm b/examples/generif.scm
index a4a2e4b..22a864f 100755
--- a/examples/generif.scm
+++ b/examples/generif.scm
@@ -20,14 +20,16 @@
            (left-join Species "ON Species.SpeciesId = GeneRIF.SpeciesId")
            (left-join GeneRIFXRef "ON GeneRIFXRef.GeneRIFId = GeneRIF.Id")
            (left-join GeneCategory "ON GeneRIFXRef.GeneCategoryId = GeneCategory.Id"))
-          "WHERE GeneRIF.display > 0 AND GeneRIF.comment IS NOT NULL
-GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
+          "WHERE GeneRIF.display > 0 AND GeneRIF.comment IS NOT NULL GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
   (triples
-      (string->identifier
-       "wiki" (format #f "~a_~a"
-                      (field GeneRIF Id)
-                      (field GeneRIF versionId))
-       #:separator "_")
+      (string->identifier ""
+                          (gn-uuid (format #f "~a.~a.~a?type=wikii"
+                                           (field GeneRIF Id)
+                                           (field GeneRIF versionId)
+                                           (field GeneRIF createtime)))
+                          #:url-char #\-)
+    (set dct:identifier (gn-uuid (format #f "~a?type=wiki"
+                                         (field GeneRIF Id))))
     (set rdfs:label (string->symbol
                      (format #f "'~a'@en"
                              (replace-substrings
@@ -56,8 +58,6 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
     ;;        ((? string-blank? mbox) "")
     ;;        (mbox (string->symbol
     ;;               (format #f "<~a>" mbox)))))
-    (set dct:identifier (annotate-field (format #f "~s" (field GeneRIF Id))
-                                        '^^xsd:integer))
     (set foaf:homepage
          (match (sanitize-rdf-string (field GeneRIF weburl))
            ((? string-blank? homepage) "")
@@ -78,44 +78,32 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
            (left-join Species "USING (SpeciesId)")))
   (triples
       (string->identifier
-       "rif" (format #f "~a_~a_~a_~a"
-                     (field GeneRIF_BASIC GeneId)
-                     (field GeneRIF_BASIC PubMed_ID)
-                     (field ("DATE_FORMAT(createtime, '%Y-%m-%dT%T')" CreateTime))
-                     (field GeneRIF_BASIC VersionId))
-       #:separator "_")
-    (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))))
-                (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:ncbi_wiki_entry ;\n")
-             (format #f "\trdfs:label ~a ;\n" comment)
-             (format #f "\tgnt:has_species ~a ;\n" species)
-             (format #f "\tgnt:symbol ~s ;\n" symbol)
-             (format #f "\tgnt:has_gene_id 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)))))))
+       "" (gn-uuid (format #f "~a_~a_~a_~a"
+                           (field GeneRIF_BASIC GeneId)
+                           (field GeneRIF_BASIC PubMed_ID)
+                           (field ("DATE_FORMAT(createtime, '%Y-%m-%dT%T')" CreateTime))
+                           (field GeneRIF_BASIC VersionId)))
+       #:url-char #\-)
+    (set rdf:type 'gnc:ncbi_wiki_entry)
+    (set rdfs:label (format #f "'~a'@en"
+                            (replace-substrings
+                             (sanitize-rdf-string
+                              (field GeneRIF_BASIC comment))
+                             '(("\\" . "\\\\")
+                               ("\n" . "\\n")
+                               ("\r" . "\\r")
+                               ("'" . "\\'")))))
+    (set gnt:symbol (field GeneRIF_BASIC symbol))
+    (set gnt:has_species (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+    (set skos:notation (ontology 'taxon: (field GeneRIF_BASIC TaxID TaxonomicId)))
+    (set dct:hasVersion (annotate-field (field GeneRIF_BASIC versionId) '^^xsd:integer))
+    (set gnt:has_gene_id (ontology 'generif: (field GeneRIF_BASIC GeneId)))
+    (set dct:references (ontology 'pubmed: (field GeneRIF_BASIC PubMed_ID)))
+    (set dct:created
+         (string->symbol
+          (format #f "~s^^xsd:datetime"
+                  (field
+                   ("CAST(createtime AS CHAR)" EntryCreateTime)))))))