This week we learn how to build a content recommendation system using knowledge graphs, augment business intelligence with graph power, and learn how to use BloodHound to assist with an analysis of password hashes from two different domains.
Featured Community Members: Global Graph Celebration Day Organisers
Our featured community members this week are the organisers of the Global Graph Celebration Day events.
Global Graph Celebration Day Organisers – This Week’s Featured Community Member
We initially planned Global Graph Celebration Day because we thought it would be fun to do, but we had no idea that it would be so impactful in such a large global movement.
For the 1st annual Global Graph Celebration Day, having 60+ events in 6 continents really wow’d us, but what truly makes it incredible is that it was driven strictly by the community.
People, all over the world, took time out of their lives to gather their local community and include them as part of this global initiative. We wanted to recognize these people for their drive and hard work, along with all the attendees that supported their efforts, as it wouldn’t be anything without them, as well.
Thank you to all who led and participated…. Leonhard Euler would be proud. 😉
“Individually, we are one drop. Together, we are an ocean.” – Ryunosuke Satoro
Content-Based Recommendations using Knowledge Graphs
In this week’s Neo4j Online Meetup, Christophe Willemsen showed us how to build a content based recommendation engine using knowledge graphs.
Using data from my blog, Max De Marzi’s blog, and the Neo4j Community site, Christophe used NLP techniques to compute article similarities and categorise those articles.
Augment Intelligence with Graph Power
Graph Algorithms in Practice: Eigenvector Centrality, Cosine Similarity
We have a couple of posts showing how to use a couple of the algorithms in the Neo4j Graph Algorithms Library.
Tomaz Bratanic analyses the Subreddit hyperlink network using Eigenvector Centrality. He also does a deep dive into how the projected graph model of the graph algorithms work, and explains how to use it for your own analysis.
Mike Palei wanted to compute the Cosine Similarity between a given node and all other nodes in the graph, and explains how to use the Cosine Similarity function to do this.
Releases: Elixir Driver, Foreign data wrapper for Postgresql, APOC
- Version 1.5 of BoltSips, the Neo4j Driver for Elixir, was released this week, and is available from hex.pm/packages/bolt_sips. This is a comprehensive release, containing support for Bolt v1, v2 and v3.
- Benoît Simard released neo4j-fdw, a foreign data wrapper for Postgresql. It can be used to access data stored into Neo4j from Postgresql, or you can directly write a cypher query in your select.
- Michael released a new version of the APOC library. This release has lots of new features, including an automatic UUID handler configurable by label, Excel export functionality, and new functions for checking relationship existence. Lju also created a video showing how to do conditional execution using the apoc.case.do and apoc.when.do procedures.
Case Study: Password Analysis with BloodHound
Christopher Maddalena has written a case study, in which he explained how the SpecterOps team used BloodHound to assist with an analysis of password hashes from two different domains.
Tweet of the Week
My favourite tweet this week was by Noemi Derzsy:
When you have a PhD in Network Science a #GlobalGraphCelebrationDay T-shirt from @neo4j makes your heart melt! 🥰 #networks #networkscience #graph #womenindata #stem @WiMLDS_NYC pic.twitter.com/WdJzA0os80— Noemi Derzsy (@NoemiDerzsy) April 16, 2019
Don’t forget to RT if you liked it too.
That’s all for this week. Have a great weekend!
About the Author
Mark Needham , Developer Relations Engineer
Mark Needham is a graph advocate and developer relations engineer at Neo4j.
As a developer relations engineer, Mark helps users embrace graph data and Neo4j, building sophisticated solutions to challenging data problems. Mark previously worked in engineering on the clustering team, helping to build the Causal Clustering feature released in Neo4j 3.1. Mark writes about his experiences of being a graphista on a popular blog at markhneedham.com. He tweets at @markhneedham.