about summary refs log tree commit diff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/molecular-traits.scm64
1 files changed, 28 insertions, 36 deletions
diff --git a/examples/molecular-traits.scm b/examples/molecular-traits.scm
index 47efb98..9e826f6 100755
--- a/examples/molecular-traits.scm
+++ b/examples/molecular-traits.scm
@@ -11,67 +11,58 @@
              (transform triples)
              (transform special-forms))
 
-(define-transformer molecular-entities
+
+(define-transformer tissues->gn:molecular-traits
   (tables (Tissue))
   (schema-triples
    (gnc:molecular_trait a owl:Class)
    (gnc:molecular_trait a skos:Concept)
    (gnc:molecular_trait rdfs:subClassOf obo:UBERON_0000479)
    (gnc:molecular_trait rdfs:label "Molecular Trait.   This describes a melecular trait of a given species.  We combine the species name and the tissue name in order to differentiate the traits across different inbredset groups."))
-  (triples (string->identifier "tissue" (field Tissue Short_Name) #:separator "_")
+  (triples (string->identifier "trait" (field Tissue Short_Name) #:separator "_")
     (set rdf:type 'gnc:molecular_trait)
     (set skos:prefLabel (field Tissue Name))
     (set skos:altLabel (field Tissue Short_Name))))
 
-(define-transformer molecular-traits
+(define-transformer gnc:molecular_trait->gn:molecular_trait
+  (tables (Tissue))
+  (triples "gnc:molecular_trait"
+    (set skos:member (string->identifier "trait" (field Tissue Short_Name) #:separator "_"))))
+
+(define-transformer gn:set->gn:dataset
   (tables (Species
            (inner-join InbredSet "ON InbredSet.SpeciesId = Species.Id")
            (inner-join ProbeFreeze "ON ProbeFreeze.InbredSetId = InbredSet.Id")
            (inner-join ProbeSetFreeze "ON ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id")
            (inner-join Tissue "ON ProbeFreeze.TissueId = Tissue.Id"))
           "WHERE ProbeSetFreeze.public > 0 GROUP BY Species.Name, Tissue.Short_Name")
-  (schema-triples
-   (gnt:has_molecular_trait rdf:type owl:ObjectProperty)
-   (gnt:has_molecular_trait rdfs:domain gnc:set)
-   (gnt:has_molecular_trait rdfs:range gnc:molecular_traits)
-   (gnt:has_molecular_trait rdfs:label "has molecular trait"))
-  (triples (string->identifier
-            (format #f "trait_~a" (field Species Name))
-            (field Tissue Short_Name)
-            #:separator "_")
-    (set rdf:type 'gnc:molecular_entity)
-    (set gnt:has_strain
-         (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))
-    (set gnt:has_species
-         (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+  (triples (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_")
     (multiset gnt:has_probeset_data
               (map (cut string->identifier "dataset" <> #:separator "_")
                    (string-split
                     (field ("GROUP_CONCAT(ProbeSetFreeze.Name SEPARATOR ',')"
                             dataset_name))
-                    #\,)))
-    (set gnt:has_molecular_trait
-         (string->identifier "tissue"
-                             (field Tissue Short_Name)
-                             #:separator "_"))))
+                    #\,)))))
 
-(define-transformer list-molecular-traits
+(define-transformer gn:dataset->set/species/molecular_trait
   (tables (Species
            (inner-join InbredSet "ON InbredSet.SpeciesId = Species.Id")
            (inner-join ProbeFreeze "ON ProbeFreeze.InbredSetId = InbredSet.Id")
            (inner-join ProbeSetFreeze "ON ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id")
            (inner-join Tissue "ON ProbeFreeze.TissueId = Tissue.Id"))
-          "WHERE ProbeSetFreeze.public > 0 GROUP BY Species.Name, Tissue.Short_Name")
+          "WHERE ProbeSetFreeze.public > 0")
   (schema-triples
-      (gnc:molecular_entity a owl:Class)
-   (gnc:molecular_entity a skos:Concept)
-   (gnc:molecular_entity rdfs:subClassOf obo:UBERON_0000479)
-   (gnc:molecular_entity rdfs:label "This points this to resource which has molecular trait."))
-  (triples (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_")
-    (set gnt:has_molecular_entity
-         (string->identifier (format #f "trait_~a"
-                                     (field Species Name))
-                             (field Tissue Short_Name) #:separator "_"))))
+   (gnt:has_molecular_trait rdf:type owl:ObjectProperty)
+   (gnt:has_molecular_trait rdfs:domain gnc:set)
+   (gnt:has_molecular_trait rdfs:range gnc:molecular_trait)
+   (gnt:has_molecular_trait rdfs:label "has molecular trait"))
+  (triples (string->identifier "dataset" (field ProbeSetFreeze Name) #:separator "_")
+    (set gnt:has_strain
+         (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))
+    (set gnt:has_species
+         (string->identifier "" (remap-species-identifiers (field Species Fullname))))
+    (set gnt:has_molecular_trait
+         (string->identifier "trait" (field Tissue Short_Name) #:separator "_"))))
 
 
 
@@ -102,9 +93,10 @@
       ("rdfs:" "<http://www.w3.org/2000/01/rdf-schema#>")))
    (inputs
     (list
-     molecular-entities
-     molecular-traits
-     list-molecular-traits))
+     tissues->gn:molecular-traits
+     gnc:molecular_trait->gn:molecular_trait
+     gn:set->gn:dataset
+     gn:dataset->set/species/molecular_trait))
    (outputs
     `(#:documentation ,documentation
       #:rdf ,output))))