Last week I wrote about the betweenness centrality algorithm and my attempts to understand it using graphstream and while reading the source I realised that I might be able to put something together using neo4j’s all shortest paths algorithm. To recap, the betweenness centrality algorithm is used to determine the load and importance of a node in a graph. While ...
Read More »Neo4j Java REST Binding – Part 2 (Batching)
In Part 1, we talked about setting up a connection to the Neo4j Server using the Java REST Binding. Let’s now go into some details about transactions, batching, and what the REST requests really look like.Make sure you turn on logging (set system property org.neo4j.rest.logging_filter to true) as described in Part 1. We will change our code to execute these ...
Read More »Getting started with the Neo4j Java Rest Binding (Heroku deployment)
Believe it or not, the last couple of days were my first attempt at using Neo4j’s Java Rest Binding. My earlier application on Heroku, Flavorwocky, used the Grails Neo4j plugin and for other stuff including work, embedded Neo4j rules. However, embedded won’t do when deploying to Heroku, so the Java Rest Binding it is. Much better than dealing with raw ...
Read More »Mini Search Engine – Just the basics, using Neo4j, Crawler4j, Graphstream and Encog
Continuing to chapter 4 of Programming Collection Intelligence (PCI) which is implementing a search engine. I may have bitten off a little more than I should of in 1 exercise. Instead of using the normal relational database construct as used in the book, I figured, I always wanted to have a look at Neo4J so now was the time. Just to ...
Read More »Testing Spring Data Neo4j Applications with NoSQLUnit
Spring Data Neo4j is the project within Spring Data project which provides an extension to the Spring programming model for writing applications that uses Neo4j as graph database. To write tests using NoSQLUnit for Spring Data Neo4j applications, you do need nothing special apart from considering that Spring Data Neo4j uses a special property called type in graph nodes and ...
Read More »Optimizing Neo4j Cypher queries
Last week, I spent a good number of hours trying to optimize around 20 Cypher queries that were performing disastrously(36866ms to 155575ms) with data from a live system. After some trial and error, and a lot of input from Michael, I was able to figure out generally what needed to be done to the queries to make them perform better- ...
Read More »Flavor of the month – Neo4j and Heroku
Neo4j launched a challenge earlier this year called “Seed the Cloud” to get folks to create templates or demo applications on Heroku using the Neo4j add-on. After much internal debate, I decided to enter, only to be thrown into despair for lack of an idea. The idea came to me while I was doing nothing in particular- to build a ...
Read More »Domain modeling with Spring Data Neo4j
Hi all, Willie here. Last time I told you that I’m building the Skybase CMDB using Neo4j and Spring Data Neo4j, and I was excited to get a lot of positive feedback about that. I showed a little code but not that much. In this post I’ll show you how I’m building out the person configuration item (CI) in Skybase ...
Read More »