GraphAware Blog - Advanced

Find out what's new in the Neo4j world

Power a Github Notification Bot for Issue Reviewers with Graph Based NLP

06 Sep 2016 by Christophe Willemsen Neo4j NLP Advanced

Without question, Github is the biggest code sharing platform on the planet. With more than 14 millions users and 35 million repositories, the insights you can discover by analyzing the data available through its API are surprising and revealing. I’ve been very passionate about this data for a long time, as much as I am about Neo4j. Importing this data into a graph database can reveal interesting new information. Two years ago I created a Github Gist with some interesting queries on that dataset. I showed many more queries at several conferences since. Recently, I came across mention-bot from Facebook,...

Mining and Searching Text with Graph Databases

07 Jul 2016 by Alessandro Negro Neo4j GraphAware Enterprise NLP Search Advanced

A great part of the world’s knowledge is stored using text in natural language, but using it in an effective way is still a major challenge. Natural Language Processing (NLP) techniques provide the basis for harnessing this huge amount of data and converting it into a useful source of knowledge for further processing. Introduction NLP is used in a wide variety of disciplines to solve many different types of problems. Analysis is performed on text from different sources, such as blogs, tweets, and various social media, with size ranging from a few words to multiple documents. Machine learning and text...

Integration Testing Against Remote Neo4j

20 Aug 2015 by Adam George Neo4j Advanced GraphUnit Testing

Writing integration tests for your code that runs against Neo4j is simple enough when using the native API, but there’s not a great deal of help out there if you’re working in client-server mode. Making assertions about the shape of the graph can also be difficult, particularly if use cases involve more than a few nodes and relationships. In all but the most simple of scenarios, it can be hard to see why the graph in the test database isn’t as expected, as the feedback is often as black-and-white as pass/fail so you can be looking for a proverbial needle...

Neo4j Improved Transaction Event API

11 Jul 2014 by Michal Bachman Neo4j Transactions GraphAware Advanced

One of the main goals of the GraphAware Framework is to simplify and speed up development with Neo4j. Although it is called a “framework” for reasons explained elsewhere, today we will simply treat it as a library of useful, tested, and documented Java code. The feature we will introduce is called Improved Transaction Event API, which is exactly what it says on the tin. Motivation Neo4j requires every mutating operation on the graph to be run in a transaction, which is great, because it keeps your data safe. Every operation is atomic, consistent, isolated, and durable. As a bonus, Neo4j...

Towards OLAP in Graph Databases (MSc. Thesis)

02 Oct 2013 by Michal Bachman Neo4j Analytics Advanced

I have just finished a year-long MSc. program in Computing at Imperial College London. My thesis was called GraphAware: Towards Online Analytical Processing in Graph Databases, which you can freely download. It’s not an easy, cover-to-cover read, but there might be some interesting parts, even if you don’t go through all the (over 100) pages. First of all, the overview of Neo4j architecture in Section 2.4 could be helpful for trying to understand how Neo4j works and, in particular, how it stores its data. Section 5.1 is a good introduction to the GraphAware Framework’s architecture for people who would like...