GraphAware Blog - Advanced

Find out what's new in the Neo4j world

GRANDstack tips and tricks

GRANDstack tips and tricks

18 Nov 2019 by Michal Trnka · 10 min read Neo4j Advanced GraphQL

GRANDstack tips and tricksUsing GRANDstack can rapidly accelerate the development of applications. The neo4j-graphql-js library provides the ability to translate GraphQL queries from the frontend to Cypher queries. This is achieved by defining the GraphQL schema and annotating it with a few extra directives. If you want to get familiar with the GRANDstack you can visit their documentation.This post will present some more advanced tips and tricks for using the neo4j-graphql-js library that we found useful for real world applications. It will focus on overcoming some of its limitations or adding missing features. It will show you how to unset...

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

06 Sep 2016 by Christophe Willemsen · 13 min read 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, which analyses the...

Mining and Searching Text with Graph Databases

07 Jul 2016 by Alessandro Negro · 11 min read 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 isstill a major challenge. Natural Language Processing (NLP) techniques provide the basis for harnessing this huge amountof data and converting it into a useful source of knowledge for further processing.IntroductionNLP is used in a wide variety of disciplines to solve many different types of problems. Analysis is performed on textfrom different sources, such as blogs, tweets, and various social media, with size ranging from a few words to multiple documents.Machine learning and text analysis are frequently used to enhance...

Integration Testing Against Remote Neo4j

20 Aug 2015 by Adam George · 3 min read Neo4j Advanced GraphUnit Testing

Writing integration tests for your code that runs against Neo4j is simple enough when using the native API, but there’snot a great deal of help out there if you’re working in client-server mode. Making assertions about the shape of thegraph 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 in a haystackwhen trying...

Neo4j Improved Transaction Event API

11 Jul 2014 by Michal Bachman · 9 min read Neo4j Transactions GraphAware Advanced

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

Towards OLAP in Graph Databases (MSc. Thesis)

02 Oct 2013 by Michal Bachman · 2 min read 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-coverread, 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 worksand, in particular, how it stores its data. Section 5.1 is a good introduction to the GraphAware Framework’s architecturefor people who would like to dig deeper into it...