Showing results for 
Search instead for 
Did you mean: 

Head's Up! Site migration is underway. Phase 2: migrate recent content

Tracking Legislative Conflicts with Neo4j

Node Link

Greetings everyone,
just wanted to share how I am currently utilizing Neo4j.

At the Indiana General Assembly, legislators create proposed legislation called Bills. These Bills target the Indiana Code (Indiana Law). The Indiana code is a hierarchical structure consisting of: Titles, Articles and Chapters.

Bills either aim to AMEND or REPEAL an existing Title, Article or Chapter. In cases where a provision does not exist, Bills can also ADD to the Indiana Code. As Bills move through the legislative process and approach passage, it becomes critical for legislators to identify all Bills which target the same area of the Indiana Code. (In essence if one Bill aims to REPEAL a section of the Indiana Code, while another Bill aims to AMEND it)
If both bills with conflicting intent on the Indiana Code were to become law, the courts would have to interpret that conflict in the law.

Additionally, Bills have authors, sponsors, events, bill actions, committee assignments, etc. (ALL connected data)

Data is constantly imported from our main database (Postgres) into Neo4j for the Citations Application. Users are able to add additional meta data into Neo4j and run comparison reports utilizing Jasper.

Query for HB1001

MATCH (c:citation)-[:CONTAINS]-(s:source_sheet)<-[:AFFECTS]-
(b:bill:igacinddevrep:session_2018 {basename:"HB1001"})<-[:OCCURRED_ON]-



That's an awesome use case, Varnie! Thank you for sharing!

View solution in original post



That's an awesome use case, Varnie! Thank you for sharing!

Graph Fellow

Thanks for sharing, Varnie - really neat! I played around with congressional data in Neo4j a bit:

I was particularly interested in measuring political influence (through COSPONSORED relationships) and adding campaign finance data.

I was also considering a graph solution for geospatial querying we do here.

I wrote some c# code to determine a constituent's district legislators, using google geocoding and geospatial queries in SQL. With the new geo data type in Neo4j, I would love to create a graphy geospatial lookup. Currently the district shape files are stored in SQL.

You can index the polygon of the congressional district using the Neo4j Spatial plugin (native Neo4j spatial currently supports only Point type), like what I did here:

The demo is running here:

Node Link

I saw that!! -- (very interesting work) -- I'm drawing a lot of inspiration from your project.

Nodes 2022
NODES 2022, Neo4j Online Education Summit

All the sessions of the conference are now available online