Skip to content

Instantly share code, notes, and snippets.

@sorenmacbeth
Created March 20, 2012 17:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sorenmacbeth/a3445412323faa490f3a to your computer and use it in GitHub Desktop.
Save sorenmacbeth/a3445412323faa490f3a to your computer and use it in GitHub Desktop.
(defn mk-edge-tap [id name class-name]
(let [md (thrift-meta-data class-name)
fields (for [f (.keySet md)]
[f (.getFieldName f)])
vars (vec (map #(symbol (str "?" (second %))) fields))
out-vars (conj vars (symbol "?pedigree"))]
`(defn ~(symbol (str name "-tap")) [source-dir#]
(let [tap# (split-data-tap source-dir# [~id])]
(<- ~out-vars
(tap# _ ?data)
(expand-data ?data :> ?pedigree ?du)
(expand-all ?du ~md :> ~@vars))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment