Greetings, Graph Gang!
I’m happy to share another edition of This Week In Neo4j with you.
This week we have a look at using Neo4j with Kafka Streams, how to build a GRANDstack application to analyze football transfers, a beta release of Spring Data Neo4j RX, a guide for learning Cypher in 30 minutes, an overview of the new role based access control features coming in Neo4j 4.0, a look at NLP with graphs, a guide to knowledge graphs, a how-to on cloning subgraphs between Neo4j instances using RDF, a video example of using the Hume insights engine, and building an organization graph.
William Lyon and the Developer Relations team
Featured Community Members: Nathan Smith & Erin Schuberth
Our featured community members this week are Nathan Smith and Erin Schuberth.
Nathan Smith is a Senior Principal Data Scientist at PRA Health Sciences leading their data science strategy. Working very closely with Nathan, is Data Scientist, Erin Schuberth. Like most of us, when Nathan and Erin discovered graphs, they were hooked. They began to think of all the endless possibilities! What they also realized is that many people in their area of Kansas City were not aware of graph databases and their capabilities. Because of this, Nathan and Erin reached out to the Neo4j community team and expressed their desire to help spread the knowledge and understanding of this technology and have now started the Kansas City Graph Databases Meetup Group!
They took it upon themselves to spearhead the development of their local Graph Community. We couldn’t be more proud and we’re so lucky to have folks like you in our community!
Nathan Smith and Erin Schuberth – This Week’s Featured Community Member
Using Graph Processing for Kafka Stream Visualizations
In the article Using Graph Processing For Kafka Stream Visualization, David Allen walks through an example of how to integrate graph analytics together with Kafka, using the Neo4j Streams Kafka integration and Graph Algorithms. Starting with a social network Kafka stream, David shows how to install and configure the Neo4j Streams plugin, setting up Neo4j to be a consumer of the stream. He then adds the Common Neighbors link prediction algorithm from the Neo4j Graph Algorithms package to generate friend recommendations, writing these recommendations back to the graph, which in turn are published back to a Kafka stream, effectively building a recommendation microservice using Neo4j and Kafka.
David will be sharing more about using Neo4j and Kafka during his session at Kafka Summit San Francisco, Extending the Stream/Table Duality into a Trinity, with Graphs, for anyone who might be interested in learning more. If you haven’t gotten your ticket yet, you can register for Kafka Summit San Francisco using the code Neo4j20KS19 for a 20% discount.
Football Transfers Graph App with the GRANDstack Starter Kit
Mark Needham takes us into the world of using GraphQL with Neo4j in his post Football Transfers Graph App with the GRANDstack Starter Kit. Mark starts off by using the GRANDstack starter project template, replacing the GraphQL schema with one generated from his football transfers Neo4j instance using the inferSchema functionality of neo4j-graphql.js. Then he uses the @cypher GraphQL schema directive to enhance the functionality of the GraphQL schema with a Cypher query to calculate aggregations. Finally, he shows us how to update the React UI to explore the football player transfer data.
If you’re interested in learning more about using GraphQL with Neo4j and GRANDstack, consider coming to see us at GraphQL Summit in San Francisco in October. I’ll be giving a talk about using the GraphQL ResolveInfo object and we’ll have a Neo4j booth as well. You can register with discount code SPEAKERFRIEND for a 15% discount.
Spring Data Neo4j⚡️RX
SDN/RX is a new implementation of Spring Data Neo4j and will leverage the new reactive capability coming to Neo4j but also support an imperative synchronous programming model. The beta01 release is now available in Maven central and also via the SDN/RX Spring Boot starter.
Please give it a try and send us any feedback you have!
Role Based Access Control in Neo4j 4.0 MR2 – An Exploration With Examples
Paul O’Neill covers the new role based access control features included in the recent Neo4j 4.0 MR2 release in his post Neo4j 4.0 MR2 RBAC – an exploration (with examples)
First, Paul shows us how to download and start the latest milestone release of Neo4j 4.0 using Docker. Then, using an example of a multi-tenant cloud-based accounting SaaS application, he shows us how to use the new multi-database support in Neo4j 4.0 to add privileges using the system database. He then demonstrates how the RBAC functionality works for roles with different privileges, including access control on node traversals as well as properties.
Learn Cypher Basics in 30 Minutes
Adapted from a Neo4j Workshop he put together for the Tech@Agoda Meetup group, Vlad Batushkov published the tutorial, Learn Neo4j Cypher Basics In 30 Minutes. This guided tutorial shows how to use Neo4j Sandbox and Neo4j Browser, and covers graph data modeling, data import, and Cypher querying using graph patterns. The tutorial finishes with a handful of challenges for the reader to reinforce their learning.
Knowledge Graphs, Natural Language Processing, Cloning Subgraphs, The Organization Graph, and Text Analysis With Hume
- Hot on the heels of the latest release of NSMNTX last week, Jesús Barrasa has published Cloning Subgraphs Between Neo4j Instances With Cypher & RDF.
- Soham Dhodapkar wrote Accelerating Towards Natural Language Search with Graphs which shows how graphs can be leveraged for Natural Language Processing using tools such as NLTK, SpaCy, CoreNLP, and the GraphAware NLP plugin for Neo4j.
- Speaking of GraphAware, Christophe Willemsen published a video demo of importing and analyzing research papers using Hume, a knowledge graph platform built on top of Neo4j.
- Dean Wilson published an update in his series about Building the Organization Graph showing how to enrich the graph with third-party systems.
- Curious about knowledge graphs? Akash Tandon wrote an overview of knowledge graphs: Reconciling Your Data and the World with Knowledge Graphs
Tweet of the Week
Our tweet of the week is a sneak peek at a talk from our upcoming NODES online conference:
Looking forward to delivering a presentation at the @neo4j NODES conference in October! It is titled, "Building a Graph of History with The Codex."— The Codex (@codexeditor) August 27, 2019
Happy to take on board any questions folks would like me to answer …@michaeldgrahams @tagtog_net @ikwattro
Are you speaking at NODES 2019? Feel free to let the world know about it!