about summary refs log tree commit diff
path: root/examples/generif.scm
diff options
context:
space:
mode:
Diffstat (limited to 'examples/generif.scm')
-rwxr-xr-xexamples/generif.scm116
1 files changed, 45 insertions, 71 deletions
diff --git a/examples/generif.scm b/examples/generif.scm
index c4b70ae..a8a8460 100755
--- a/examples/generif.scm
+++ b/examples/generif.scm
@@ -20,25 +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")
-  (schema-triples
-   (gnc:gene_wiki_entry a rdfs:Class)
-   (gnc:gn_wiki_entry rdfs:subClassOf gnc:gene_wiki_entry)
-   (gnt:initial a owl:ObjectProperty)
-   (gnt:initial rdfs:domain gnc:gene_wiki_entry)
-   (gnt:initial skos:definition "Optional user or project code or your initials")
-   (gnt:reason a owl:ObjectProperty)
-   (gnt:reason rdfs:domain gnc:gene_wiki_entry)
-   (gnt:reason skos:definition "The reason why this resource was modified")
-   (gnc:gn_wiki_entry rdfs:comment "Represents GeneRIF Entries entered from GeneNetwork")
-   (gnt:gene_symbol rdfs:domain gnc:gn_wiki_entry))
+          "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
@@ -47,7 +38,7 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
                               '(("'" . "\\'"))))))
     (set rdf:type 'gnc:gn_wiki_entry)
     (set gnt:symbol (field GeneRIF symbol))
-    (set gnt:belongs_to_species (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+    (set gnt:has_species (string->identifier "" (remap-species-identifiers (field Species Fullname))))
     (set dct:created
          (string->symbol
           (format #f "~s^^xsd:datetime "
@@ -61,13 +52,12 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
                            (format #f "pubmed:~a" (string-trim-both pmid))))))
                    (string-split (field GeneRIF PubMed_ID PMID)
                                  #\space)))
-    (set foaf:mbox
-         (match (sanitize-rdf-string (field GeneRIF email))
-           ((? string-blank? mbox) "")
-           (mbox (string->symbol
-                  (format #f "<~a>" mbox)))))
-    (set dct:identifier (annotate-field (format #f "~s" (field GeneRIF Id))
-                                        '^^xsd:integer))
+    ;; Hide e-mail for now.
+    ;; (set foaf:mbox
+    ;;      (match (sanitize-rdf-string (field GeneRIF email))
+    ;;        ((? string-blank? mbox) "")
+    ;;        (mbox (string->symbol
+    ;;               (format #f "<~a>" mbox)))))
     (set foaf:homepage
          (match (sanitize-rdf-string (field GeneRIF weburl))
            ((? string-blank? homepage) "")
@@ -86,49 +76,34 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
 (define-transformer ncbi-genewiki-entries
   (tables (GeneRIF_BASIC
            (left-join Species "USING (SpeciesId)")))
-  (schema-triples
-   (gnc:ncbi_wiki_entry rdfs:subClassOf gnc:gene_wiki_entry)
-   (gnc:ncbi_wiki_entry rdfs:comment "Represents GeneRIF Entries obtained from NCBI"))
   (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:belongs_to_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)))))))
 
 
 
@@ -157,7 +132,7 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
       ("gnc:" "<http://rdf.genenetwork.org/v1/category/>")
       ("gnt:" "<http://rdf.genenetwork.org/v1/term/>")
       ("dct:" "<http://purl.org/dc/terms/>")
-      ("foaf:" "<http://xmlns.com/foaf/0.1/>")
+      ("foaf:" "<http://xmlns.com/foaf/0.1/#term_>")
       ("pubmed:" "<http://rdf.ncbi.nlm.nih.gov/pubmed/>")
       ("taxon:" "<https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=>")
       ("generif:" "<http://www.ncbi.nlm.nih.gov/gene?cmd=Retrieve&dopt=Graphics&list_uids=>")
@@ -165,9 +140,8 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
       ("owl:" "<http://www.w3.org/2002/07/owl#>")))
    (inputs
     (list
-     ;; gn-genewiki-entries
-     ncbi-genewiki-entries
-     ))
+     gn-genewiki-entries
+     ncbi-genewiki-entries))
    (outputs
     `(#:documentation ,documentation
       #:rdf ,output))))