Facebook Graph Search has given the Graph Database community a simpler way to explain what it is we do and why it matters. I wanted to drive the point home by building a proof of concept of how you could do this with Neo4j. However, I don’t have six months or much experience with NLP (natural language processing). What I do have is Cypher. Cypher is Neo4j’s graph language and it makes it easy to express what we are looking for in the graph. I needed a way to take “natural language” and create Cypher from it. This was going to be a problem.
The article is an interesting introduction to treetop (a “language for describing languages” used in Semr, a “framework to [support] natural language processing”) and how Mr. De Marzi uses it to create a simple Facebook Graph-like search using Neo4j. Very slick.