aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/genotype-datasets.scm32
1 files changed, 19 insertions, 13 deletions
diff --git a/examples/genotype-datasets.scm b/examples/genotype-datasets.scm
index 6f3a1cb..ba31088 100755
--- a/examples/genotype-datasets.scm
+++ b/examples/genotype-datasets.scm
@@ -15,22 +15,26 @@
(define-transformer gn:set->gn:dataset
- (tables (Datasets
- (inner-join InfoFiles "ON InfoFiles.DatasetId = Datasets.DatasetId")
- (inner-join InbredSet "ON InbredSet.Id = InfoFiles.InbredSetId")
+ (tables (Species
+ (inner-join InbredSet "ON InbredSet.SpeciesId = Species.Id")
(inner-join GenoFreeze "ON GenoFreeze.InbredSetId = InbredSet.Id"))
- "WHERE GenoFreeze.public > 0 GROUP BY Datasets.DatasetId")
+ "WHERE GenoFreeze.public > 0 AND Species.Name != 'monkey' GROUP BY Species.Name, GenoFreeze.ShortName")
(triples (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_")
- (set gnt:has_genotype_data (string->identifier "dataset" (field GenoFreeze Name) #:separator "_"))))
+ (multiset gnt:has_genotype_data
+ (map (cut string->identifier "dataset" <> #:separator "_")
+ (string-split
+ (field ("GROUP_CONCAT(GenoFreeze.Name SEPARATOR ',')"
+ dataset_name))
+ #\,)))))
-(define-transformer gn:dataset->gn:set
- (tables (Datasets
- (inner-join InfoFiles "ON InfoFiles.DatasetId = Datasets.DatasetId")
- (inner-join InbredSet "ON InbredSet.Id = InfoFiles.InbredSetId")
- (inner-join GenoFreeze "ON GenoFreeze.InbredSetId = InbredSet.Id"))
- "WHERE GenoFreeze.public > 0 GROUP BY Datasets.DatasetId")
+(define-transformer gn:dataset->metadata
+ (tables (GenoFreeze
+ (inner-join InbredSet "ON InbredSet.Id = GenoFreeze.InbredSetId")
+ (inner-join Species "ON InbredSet.SpeciesId = Species.Id"))
+ "WHERE GenoFreeze.public > 0 AND Species.Name != 'monkey'")
(triples (string->identifier "dataset" (field GenoFreeze Name) #:separator "_")
- (set gnt:has_strain (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))))
+ (set gnt:has_strain (string->identifier "set" (field InbredSet Name InbredSetName) #:separator "_"))
+ (set dct:created (annotate-field (field GenoFreeze CreateTime) '^^xsd:datetime))))
(let* ((option-spec
@@ -61,7 +65,9 @@
("xkos:" "<http://rdf-vocabulary.ddialliance.org/xkos#>")
("xsd:" "<http://www.w3.org/2001/XMLSchema#>")))
(inputs
- (list gn:set->gn:dataset gn:dataset->gn:set))
+ (list
+ gn:set->gn:dataset
+ gn:dataset->metadata))
(outputs
`(#:documentation ,documentation
#:rdf ,output))))