--- a
+++ b/inst/queries/sparseDataMatchFieldSlow.xq
@@ -0,0 +1,14 @@
+; sparseDataMatchFieldSlow
+(fn [field dataset names]
+	(let [getfield (fn [field]
+					 (:id (car (query {:select [:field.id]
+									   :from [:dataset]
+									   :join [:field [:= :dataset.id :field.dataset_id]]
+									   :where [:and [:= :field.name field] [:= :dataset.name dataset]]}))))
+		  genes (getfield field)]
+	  (map :gene (query {:select [:%distinct.gene]
+						 :from [:field_gene]
+						 :where [:and
+								 [:= :field_gene.field_id genes]
+								 [:in :%lower.gene names]]}))))
+