GraphAware Blog

Find out what's new in the Neo4j world

Using NLP + Neo4j for a Social Media Recommendation Engine

04 Oct 2016 by Alessandro Negro Neo4j NLP

In recent years, the rapid growth of social media communities has created a vast amount of digital documents on the web. Recommending relevant documents to users is a strategic goal for the effectiveness of customer engagement but at the same time is not a trivial problem.In a previous blog post, we introduced the GraphAware Natural Language Processing (NLP) plugin. It provides the basis to realize more complex applications that leverage text analysis and to offer enhanced functionalities to end users.An interesting use case is combining content-based recommendations with a collaborative filtering approach to deliver high quality “suggestions”. This scenario fits...

Upgrading to Spring Data Neo4j 4.2

30 Sep 2016 by Mark Angrish Neo4j Spring SDN OGM Beginner

Previous articleshave shown you how easy using Spring with Neo4j can be. Now the next release of Spring Data Neo4j (SDN), we are going to make this even easier!This post is first in a series that will explore the exciting improvements that will be available in the first candidate releaseof SDN 4.2, but these are already available in the current snapshot.The main highlights we will be covering include: Brand new Spring configuration method. Tighter integration into Spring transactions with support for transactional event listeners and read only transactions. Paging and sorting support for custom queries. Ability to attach multiple labels...

Internationalization with CypherMessageSource, Spring and Neo4j

29 Sep 2016 by Eric Spiegelberg, Guest Author Neo4j SDN Internationalization Localization

Whether you realize it or not, the software you create has a global market. Perhaps more so than any other product in any other industry,code that may start as a small, individual effort has the potential to rapidly blossom into a product used around the world.While it is not always obvious that your application can or will have such wide usage, it is in your best interest to maximizethe number of organizations and people you can reach. This means it is important to ensure your software is internationalized and localized.Internationalization and LocalizationInternationalization is the process of developing products in such...

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, which analyses the...

Advanced Neo4j to Elasticsearch Replication

27 Jul 2016 by Christophe Willemsen Neo4j Elasticsearch Framework

During GraphConnect San Francisco 2015, we introduced the concept of Graph-Aided Search and released the first module providing Neo4j data replication to Elasticsearch.Some months later, the second part was released as an Elasticsearch plugin providing advanced personalized search using Neo4j as source of external knowledge, which, combined with the former module, constitutes a complete bidirectional integration with Neo4j, taking advantage of the strengths of both technologies.The first version of the neo4j-to-elasticsearch plugin had a simple approach for defining which nodes should be indexed. After a while the need for more flexibility arose.Based on our experience using the plugin and valuable...

Neo4j as a Key Player in Human Capital Management

19 Jul 2016 by Luanne Misquitta Neo4j HCM PeopleAnalytics HR HRTech

In the Bersin Predictions for 2016 report, Josh Bersin states that “it feels as though everything in the world of talent is changing – from the way we recruit and attract people, as well as how we reward them, to the way we learn, and how we curate and manage our entire work-life experience”[1].In fact, the last decade has witnessed much churn in the human resources and talent management software space to developholistic solutions for employee engagement and retention. HR continues to grapple with the problem of seeming to knowmore about people outside their companies rather than inside. The workforce,...

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 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...

Graph-Aided Search - The Rise of Personalised Content

20 Apr 2016 by Alessandro Negro, Christophe Willemsen Neo4j Cypher Recommendations Elasticsearch

In our previous blog postwe introduced the concept of Graph Aided Search. It refers to a personalised user experience during search where theresults are customised for each user based on information gathered about them (likes, friends, clicks, buying history, etc.).This information is stored in a graph database and processed using machine learning and/or graph analysis algorithms.A simple example is the LinkedIn search functionality. If we were typing “Michal” in the text input, it would obviouslyreturn people where the name matches and order them by full text relevancy with some fuzziness:Lucene-based search engines such as Elasticsearch and Solr offer impressive performance...

(Un)common Use Cases for Graph Databases

18 Apr 2016 by Michal Bachman Neo4j Beginner Modelling

At GraphAware, we live and breathe Neo4j. For three years, we have been helping customers around the world embrace thisamazing technology as a solution to many interesting problems. Mainstream applications of graphs, such as real-timerecommendations, fraud detection, impact analysis, and graph-aided search, have been getting a lot of media attention.In the run up to GraphConnect Europe 2016, we would like to illustrate that graphs are truly for everyone by going oversome of the less obvious, though equally interesting and intellectually stimulating use cases that we have come across.Rules EnginesWhether you’re a startup building a mobile application that will help people...

Neo4j OGM Events - Part 1

13 Apr 2016 by Vince Bickers Neo4j OGM SDN Intermediate

As of version 2.1, Neo4j OGM will support persistence events. Although a date for the release of 2.1 isn’t known at thetime of writing, we think this is an important and exciting new feature and so we’ll be writing a series of posts aboutit over the next few weeks to whet your appetites. In this first post we’ll take a quick tour of the new Events mechanismin the OGM, and provide some examples of how we might use it in our own applications. But first, some background…OGM persistence strategyBy design, the OGM has a deep persistence strategy. This means that...