Will's Blog Posts

New posts are added periodically.

37 Posts

Finding The Perfect Christmas Tree With USFS Motor Vehicle User Map Data, QGIS, & SedonaDB

December 04, 2023 • 10 min read

Using aerial imagery and Spatial SQL to explore Forest Service road networks

Wherobots
Apache Sedona
SQL

Why I Joined Wherobots Plus A Look At Apache Sedona

October 18, 2023 • 20 min read

My take on the exciting world of spatial database technology plus a look at getting started with Apache Sedona.

Wherobots
Apache Sedona
SQL

Importing Overture Maps Data Into Neo4j

September 25, 2023 • 13 min read

A look at loading points of interest from the Overture Maps public dataset into the Neo4j graph database, plus writing Spatial SQL queries with AWS Athena.

Neo4j
Spatial
SQL

Introducing The Spatial Cypher Cheat Sheet

June 22, 2023 • 13 min read

A resource for working with geospatial data in Neo4j.

Neo4j
Spatial

Spatial Search Functionality With Neo4j

January 03, 2023 • 11 min read

Radius Distance, Bounding Box, and Point in Polygon Search With Graphs

Neo4j
Spatial

Graph Data Visualization With GraphQL & react-force-graph

September 29, 2021 • 11 min read

Building Interactive Graph Data Visualizations With GraphQL

GraphQL
Next.js
Data Visualization

Building A GraphQL Server With Next.js

July 27, 2021 • 12 min read

Using Next.js API Routes And Deploying To Vercel & Neo4j Aura

GraphQL
Next.js
Cloud
Neo4j Aura

No Cost Data Scraping With GitHub Actions And Neo4j Aura

July 20, 2021 • 11 min read

Using The Flat Data GitHub Action To Import Data From The Lobste.rs News Site

Neo4j
Cloud
GitHub
Data scraping

Adding Frontend Features With Next.js, Chakra UI, & Apollo Client

March 21, 2021 • 13 min read

Building A GRANDstack Podcast App: Episode 6

Next.js
Neo4j
GraphQL
GRANDstack

Building A Responsive Navigation Bar And Podcast Episode Feed With The Chakra UI React Component Library

March 21, 2021 • 13 min read

Building A GRANDstack Podcast App: Episode 5

Next.js
Neo4j
GraphQL
GRANDstack

Getting Started With Next.js and GraphQL Authentication

January 24, 2021 • 11 min read

Building A GRANDstack Podcast App: Episode 4

Next.js
Neo4j
GraphQL
GRANDstack

Parsing And Importing XML With Neo4j: Adding Episodes and Playlists To GRANDcast.FM Podcast App

January 09, 2021 • 11 min read

Building A GRANDstack Podcast App: Episode 3

Neo4j
GraphQL
GRANDstack
JavaScript

GRANDcast.FM: User Auth & Podcast Subscribe Functionality

December 11, 2020 • 11 min read

Building A GRANDstack Podcast App: Episode 2

Neo4j
GraphQL
GRANDstack
JavaScript

Podcast Search GraphQL API With Neo4j And The Podcast Index

December 06, 2020 • 11 min read

Building A GRANDstack Podcast App: Episode 1

Neo4j
GraphQL
GRANDstack
JavaScript

Building An Election Night Dashboard With Neo4j Graph Apps: Bloom, Charts, And Neomap

November 28, 2020 • 12 min read

Using low code graph apps to build data visualizations with Neo4j.

Neo4j
DataViz
Low Code
GIS

Building A Location Aware Endpoint Using Neo4j And Cloudflare Workers

November 20, 2020 • 13 min read

Using the new Jolt format with HTTP in Neo4j 4.2 with edge network handlers.

Neo4j
JavaScript
Cloud

Geocoding Paradise Papers Addresses In Neo4j To Build Interactive Geographical Data Visualizations

November 28, 2017 • 12 min read

This post explores how to build spatial data visualizations using address data from the Paradise Papers leak of offshore corporations and the people connected to them. First, we geocode all addresses in the leaked data, then build a heatmap and interactive map for exploring the data of offshore legal entities.

Neo4j
GIS
DataViz

Applying NLP and Entity Extraction To The Russian Twitter Troll Tweets In Neo4j (and more Python!)

November 15, 2017 • 10 min read

Natural language processing (NLP) techniques like entity extraction can be used to help make sense of a large text corpus. In this post we apply named entity resolution to the scraped Russian Twitter Troll tweets to try to get a better understanding of how these trolls were spreading fake news.

NLP
Python
Neo4j

Scraping Russian Twitter Trolls With Python, Neo4j, and GraphQL

November 12, 2017 • 11 min read

In this post we explore how to scrape tweets from Internet Archive for Russian Twitter Troll accounts, import into Neo4j for analysis, and how to build a simple GraphQL API exposing the data through GraphQL.

Neo4j
Python
GraphQL
GRANDstack

Analyzing A Local Startup Ecosystem With Mattermark, GraphQL, Apollo Client, and Neo4j

April 27, 2017 • 13 min read

Many web services are converting their publicly facing APIs from REST to GraphQL. Companies like GitHub and Shopify have been leading this transition to GraphQL. In this post we take a look at how we can query the new Mattermark GraphQL API using Apollo Client, storing the results in Neo4j to then see what we can learn about a local startup ecosystem.

Neo4j
GraphQL
JavaScript
DataViz

Combining The BuzzFeed Trumpworld Graph with Government Contracting Data in Neo4j

January 30, 2017 • 13 min read

One of the powers of working with graph databases is the ability to combine disparate datasets and query across them. Today we will look at how we can combine the BuzzFeed Trumpworld graph with data about federal government contracts from USASpending.gov, allowing us to examine any government contracts that were awarded to organizations that appear in Trumpworld.

Neo4j
Cypher
DataViz

Using Neo4j Spatial Procedures in legis-graph-spatial

August 09, 2016 • 7 min read

Updating legis-graph-spatial to make use of the new spatial procedures in Neo4j 3.0 and the official Neo4j Javascript driver. Procedures provide a new API for interacting with the Neo4j spatial extension and are callable from Cypher.

Neo4j
GIS
DataViz
Python

Analyzing the Graph of Thrones

June 26, 2016 • 14 min read

Using graphs to analyze character interactions in the popular Game of Thrones series. Social network analysis with Neo4j.

Neo4j
Cypher
Python
DataViz

Adding Geospatial Indexing to legis-graph With Neo4j and Mapbox

March 21, 2016 • 9 min read

Adding geospatial indexing and map visualizations to legis-graph

Neo4j
GIS
DataViz
Python

Building a text adjacency graph from product reviews with the Best Buy API

January 07, 2016 • 3 min read

Finding real world text datasets to analyze can make playing around with NLP tasks much more interesting. This quick post shows how to build a word adjacency graph in Neo4j using product reviews from the Best Buy API.

Neo4j
GIS
DataViz
Python

Crawling APIs Using Neo4j - Building The Star Wars Graph

December 14, 2015 • 2 min read

A common task when working with data from APIs is crawling the API and inserting the results in a database. In this example we will import data into Neo4j by crawling a public API, building a graph in Neo4j as we go along. We will use Neo4j as a queuing mechanism to store URLs for placeholder resources waiting to be fetched.

Python
Neo4j

Congressional PageRank - Analyzing US Congress With Neo4j and Apache Spark

October 11, 2015 • 12 min read

This post shows how we can apply graph analytics to US Congressional data to find influential legislators in Congress. Using the Mazerunner open source graph analytics project we are able to use Apache Spark GraphX alongside Neo4j to run the PageRank algorithm on a collaboration graph of US Congress.

Neo4j
Analytics

Introducing legis-graph - US Congressional Data With Govtrack and Neo4j

September 20, 2015 • 9 min read

Interactions among members of any large organization are naturally a graph, yet the tools we use to analyze data about these organizations often ignore the graphiness of the data and instead map the data into structures (such as relational databases) that make taking advantage of the relationships in the data much more difficult when it comes time to analyze the data. Collaboration networks are a perfect example. So we focus on one of the most powerful collaboration networks in the world, the US Congress.

Neo4j
Cypher

Natural Language Processing With Neo4j - Mining Paradigmatic Word Associations

June 16, 2015 • 13 min read

Discovering paradigmatic word associations is one of the core tasks of Natural Language Processing. In this post we explore a graph based method for mining paradigmatic word associations from a text corpus.

Neo4j
NLP

Content Recommendation From Links Shared on Twitter Using Neo4j and Python

May 28, 2015 • 18 min read

Using article links shared on Twitter to determine user interests, we show how to build a personalized content recommender system to suggest other articles the user might be interested in.

Neo4j
Cypher
Python
NLP

Using Neo4j Spatial and Mapbox to search for businesses by location

May 11, 2015 • 12 min read

We show how to load data from the Yelp Academic Dataset into Neo4j, then build a webapp to perform geospatial queries on the data and visualize the results on a map.

Neo4
GIS
Java
JavaScript

Startup Chile Week 1

November 19, 2014 • 3 min read

What have I been doing in Santiago Chile as part of Startup Chile? I share some of my experiences from Startup Chile Generation 11.

Startups
Chile
Travel

Notes From GraphConnect 2014

October 14, 2014 • 10 min read

GraphConnect is an annual conference for graph database enthusiasts. These are my notes from GraphConnect 2014 in San Francisco.

Neo4j
Conference
Travel

Boulder StartupWeek 2014

May 22, 2014 • 7 min read

My experiences during Boulder StartupWeek 2014.

Startups
Travel

Mapping Airports of the World With Neo4j Spatial and Openflights

March 13, 2014 • 6 min read

Loading every airport in the world into Neo4j Spatial for the purposes of route finding.

Neo4j
GIS
Python

Twizzard, A Tweet Recommender System Using Neo4j

March 13, 2014 • 7 min read

A system for ranking tweets based on user affinity and time decay.

Neo4j
Python
Java

Visualizing Correlates of War Data With Leaflet.js

February 14, 2014 • 8 min read

Using data about global militarized interstate disputes (wars) we build some geospatial visualizations to analyze data about war fatalities throughout history.

GIS
DataViz
JavaScript
Subscribe To Will's Newsletter

Want to know when the next blog post or video is published? Subscribe now!