about summary refs log tree commit diff
path: root/examples/genotype.scm
diff options
context:
space:
mode:
Diffstat (limited to 'examples/genotype.scm')
-rwxr-xr-xexamples/genotype.scm88
1 files changed, 25 insertions, 63 deletions
diff --git a/examples/genotype.scm b/examples/genotype.scm
index ac170be..f2ba75f 100755
--- a/examples/genotype.scm
+++ b/examples/genotype.scm
@@ -12,66 +12,22 @@
              (transform sql)
              (transform triples)
              (transform special-forms))
-
 
-
-(define-transformer genotypes
+(define-transformer gn:markers/snps->metadata
   (tables (Geno
-           (left-join Species "USING (SpeciesId)")))
-  (schema-triples
-   (gnt:chr a owl:ObjectProperty)
-   (gnt:chr skos:description "This resource is located on a given chromosome")
-   (gnt:chr rdfs:domain gnc:genotype)
-   (gnt:mb a owl:ObjectProperty)
-   (gnt:mb skos:definition "The size of this resource in Mb")
-   (gnt:mb rdfs:domain gnc:genotype)
-   (gnt:mb_mm8 a owl:ObjectProperty)
-   (gnt:mb_mm8 skos:definition "TODO")
-   (gnt:mb_mm8 rdfs:domain gnc:genotype)
-   (gnt:mb2016 a owl:ObjectProperty)
-   (gnt:mb2016 skos:definition "TODO")
-   (gnt:mb2016 rdfs:domain gnc:genotype)
-   (gnt:has_sequence a owl:ObjectProperty)
-   (gnt:has_sequence skos:definition "This resource has a given sequence")
-   (gnt:has_sequence rdfs:domain gnc:genotype)
-   (gnt:has_source a owl:ObjectProperty)
-   (gnt:has_source rdfs:domain gnc:genotype)
-   (gnt:has_source skos:definition "This resource was obtained from this given source")
-   (gnt:has_alt_source_name a owl:ObjectProperty)
-   (gnt:has_alt_source_name rdfs:domain gnc:genotype)
-   (gnt:has_alt_source_name
-    skos:definition
-    "The alternative name this resource was obtained from")
-   (gnt:chr_num a owl:ObjectProperty)
-   (gnt:chr_num rdfs:domain gnc:genotype)
-   (gnt:chr_num skos:definition "The chromosome number for this resource"))
-  (triples
-      (string->identifier "" (field Geno Name))
-    (set rdf:type 'gnc:genotype)
-    (set rdfs:label (sanitize-rdf-string (field Geno Name)))
+           (inner-join Species "ON Geno.SpeciesId = Species.Id"))
+          "WHERE Species.Name != 'monkey'")
+  (triples (string->identifier "marker" (field Geno Name) #:separator "_")
+    (set gnt:has_species
+         (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+    (set rdf:type 'gnc:dna_marker)
+    (set skos:prefLabel (field Geno Name))
+    (set skos:altLabel (field Geno Marker_Name))
     (set gnt:chr (field Geno Chr))
-    (set gnt:mb (annotate-field
-                 (field ("IFNULL(Geno.Mb, '')" Mb)) '^^xsd:double))
-    (set gnt:mb_mm8 (annotate-field (field ("IFNULL(Geno.Mb_mm8, '')" Mb_mm8))
-                                   '^^xsd:double))
-    (set gnt:mb2016
-         (annotate-field (field ("IFNULL(Geno.Mb_2016, '')" Mb_2016))
-                         '^^xsd:double))
-    (set gnt:has_sequence (field Geno Sequence))
-    (set gnt:has_source (field Geno Source))
-    ;; Only transform Source2 if it differs from Source
-    (set gnt:has_alt_source_name
-         (field ("IF((Source2 = Source), NULL, Source2)"
-                 Source2)))
-    (set gnt:belongs_to_species
-         (string->identifier "" (remap-species-identifiers (field Species Fullname))
-                             #:separator "_"
-                             #:proc string-downcase))
-    (set gnt:chr_num
-         (annotate-field
-          (field Geno chr_num)
-          '^^xsd:int))
-    (set rdfs:comments (field Geno Comments))))
+    (set gnt:mb (annotate-field (field Geno Mb) '^^xsd:double))
+    (set gnt:sequence (field Geno Sequence))
+    (set gnt:source (field Geno Source))
+    (set rdfs:comment (field Geno Comments))))
 
 
 
@@ -87,22 +43,28 @@
         (call-with-input-file settings
           read)))
   (with-documentation
-   (name "Genotype Metadata")
+   (name "Phenotypes Metadata")
    (connection %connection-settings)
    (table-metadata? #f)
    (prefixes
-    '(("dct:" "<http://purl.org/dc/terms/>")
+    '(("dcat:" "<http://www.w3.org/ns/dcat#>")
+      ("dct:" "<http://purl.org/dc/terms/>")
       ("gn:" "<http://rdf.genenetwork.org/v1/id/>")
+      ("owl:" "<http://www.w3.org/2002/07/owl#>")
       ("gnc:" "<http://rdf.genenetwork.org/v1/category/>")
+      ("gnd:" "<https://cd.genenetwork.org/lmdb/v1/data/traits/>")
       ("gnt:" "<http://rdf.genenetwork.org/v1/term/>")
+      ("sdmx-measure:" "<http://purl.org/linked-data/sdmx/2009/measure#>")
+      ("skos:" "<http://www.w3.org/2004/02/skos/core#>")
       ("rdf:" "<http://www.w3.org/1999/02/22-rdf-syntax-ns#>")
       ("rdfs:" "<http://www.w3.org/2000/01/rdf-schema#>")
-      ("owl:" "<http://www.w3.org/2002/07/owl#>")
-      ("skos:" "<http://www.w3.org/2004/02/skos/core#>")
+      ("xsd:" "<http://www.w3.org/2001/XMLSchema#>")
+      ("qb:" "<http://purl.org/linked-data/cube#>")
       ("xkos:" "<http://rdf-vocabulary.ddialliance.org/xkos#>")
-      ("xsd:" "<http://www.w3.org/2001/XMLSchema#>")))
+      ("pubmed:" "<http://rdf.ncbi.nlm.nih.gov/pubmed/>")))
    (inputs
-    (list genotypes))
+    (list gn:markers/snps->metadata))
    (outputs
     `(#:documentation ,documentation
       #:rdf ,output))))
+