Using Clojure to Marry Neo4j and Open Democracy
-
Upload
david-simons -
Category
Technology
-
view
265 -
download
2
description
Transcript of Using Clojure to Marry Neo4j and Open Democracy
Election Resultswith Neo4j
Who am I?
• David Simons
• @SwamWithTurtles
• Software Developer
• … for a bespoke solutions provider Softwire (hint: we’re recruiting)
• … for fun
ACADEMIC WEBSITE
CONTAINING POORLY
FORMATTED DATA
DATA SCRAPER(PYTHON)
NEO4J
REST ENDPOINT(CLOJURE)
ring-clojure
(let [env (str (get (System/getenv) "GRAPHENEDB_URL") "/db/data")]
(defn connection-string [] (nr/connect! env)))
(defn run-query [query] (connection-string) (cy/tquery query))
(defn wardResults [year, areaId] (run-query ("MATCH (pa:party)<-[member_of]-(p:politician)-[r:stood_in]->(e:election)-[held_in]->(a:area),(e:election)-[during]->(y:year)WHERE y.name=\"" year "\" AND id(a)=" areaId " RETURN id(p), pa.name AS partyName, SUM(r.votes) AS numVotes")))
github.com/pimterry/national-hack-the-government-2014/