Created
July 20, 2012 23:15
-
-
Save dirtyvagabond/3153805 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Example 1: a step that uses Crosswalk to add Fatual IDs | |
crosswalked.tab <- uncrossed.tab [c4] | |
;; For all lines where there's no factual_id, | |
;; pull out values from the columns named "foursquare" and "yelp" | |
(:>! factual_id [foursquare yelp] | |
;; Put into the factual_id column (creating if necessary)... | |
(+= "factual_id" | |
;; The result from Crosswalking foursquare, if there's a hit... | |
(or (:factual_id (first (select crosswalk | |
(where | |
(= :namespace "foursquare") | |
(= :namespace_id foursquare))))) | |
;; or the results from Crosswalking yelp | |
(:factual_id (first (select crosswalk | |
(where | |
(= :namespace "yelp") | |
(= :namespace_id yelp)))))))) | |
;; Example 2: Same as Example 1, but uses the "crosswalk->fid" convenience fn | |
crosswalked.tab <- uncrossed.tab [c4] | |
(:>! factual_id [foursquare yelp] | |
(+= "factual_id" | |
(or | |
(crosswalk->fid "foursquare" foursquare) | |
(crosswalk->fid "yelp" yelp)))) | |
;; Example 3: a step that uses Resolve to resolve lines that | |
;; have no factual_id | |
resolved.tab <- crosswalked.tab [c4] | |
(:>! factual_id [name address zip] | |
(:factual_id (first (resolve-vals {:name name | |
:address address | |
:postcode zip})))) | |
(:>! factual_id [name address zip] | |
factual_id (first (resolve-vals {:name name | |
:address address | |
:postcode zip})))) | |
factual_id_ts (now) | |
new_col "HI!") | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment