Exporting Spotify Playlists into Neo4j - and creating a little dashboard
Labels: analysis, dashboard, graph database, neo4j, playlist, python, spotify
Rambling thoughts about life in and around the data industry
Labels: analysis, dashboard, graph database, neo4j, playlist, python, spotify
Yey! I got to do it again. For the 4th time in the history of this weird thing called the Graphistania podcast, I have had the change to spend some quality time talking to Emil Eifrem, our fearless leader and CEO of Neo4j. As last time, we actually recorded the video, so you will find the zoom call, and the MP3 version of it, below in the blogpost - along with the habitual transcription.
Hope you will enjoy the chat as much as I did.
Read more »
Labels: 4 trends, ceo, cloud, Emil Eifrem, full potential, graph data science, graph database, interview, neo4j, nodes2020, podcast, self-service
Hi everyone
Hope you are all well, keeping safe, and finding some time to relax and enjoy life in this wonderful rollercoaster that is 2020. Think of it this way - we will never forget this ride, EVAH!
As you can imagine, things have been evolving at warp speed in the wonderful world of graphs as well. So me and my partner in crime Stefan had another chat about all the things we have seen pop up, mostly through the awesome This Week in Neo4j (Twin4J) newsletter. Here's the chat we recorded:
Here's the transcript of our conversation:
Read more »RVB:00:00:01.448 Hello, everyone. My name is Rik, Rik Van Bruggen from Neo4j, and here I am again recording another episode of our Graphistania Neo4j podcast. Wonderful time of the day to start with this type of conversation because I have my dear friend, Stefan, on the other side of this call. Hi, Stefan. How are you?
Labels: fincen, graph database, interview, neo4j, nodes2020, podcast, stefan wendin, this month in neo4j
In any case, I decided to have some fun while reflecting about all this. And in my world, that means playing with data, using my favourite tools... CSV files, Google Sheets, and of course, Neo4j. Let me take you for a ride.
The starting point of all this is of course my Google Calendar - which is buried in online calls and meetings these days.
Read more »Labels: calendargraph, csv, google calendar, google spreadsheet, graph database, graphify, ics, neo4j
Here's a nice new episode of the Graphistania podcast for you: for the first time in 5 years, I was able to get the fantastically awesome Chief Scientist of Neo4j, Dr. Jim Webber, back to the podcast. Jim is a great colleague and friend, and one of the best tech public speakers in the business - especially when you want to talk Graphs and distributed systems. Over the past few months, I had the pleasure of working together with Jim on a more regular basis - as we actually wrote a book together: the Graph Databases for Dummies book. It was announced on the Neo4j blog, and seems to have been doing really well in the past few weeks. Some of you may remember that Jim co-wrote The O'Reilly book on Graph Databases, and I wrote Learning Neo4j by Packt (2nd edition together with Jérôme Baton) - and we have had a bit of friendly banter going back and forth about the quality of both artifacts :) ... it has been a ton of fun.
So here's the chat that we recorded about the new book - hope you enjoy it as much as we did.
Read more »RVB - 00:00:00.151 Hello, everyone. My name is Rik, Rik Van Bruggen, from Neo4j, and here I am again recording another episode of our Graphistania podcast. And this is a special one. This is a special episode, one that we've been talking about for some time, because I have a very special guest on this show, and that is my dear friend and colleague Jim Webber. Hey, Jim.
Labels: book, for dummies, graphdb, graphs are everywhere for everyone, interview, jim webber, neo4j, podcast, wiley
Last week, we got another great and widely publicised case of Graph Databases' usefulness throw our way. The ICIJ published their FinCEN Files research, and on top of allowing you to explore the data on their website they also published an anonymised subset of the data as a series of CSV/JSON files. My friends and colleagues Michael Hunger, Will Lyon and the rest of the team, helped with the process of making this subset available as a Neo4j database (see this github repo), and there's even a super easy FinCEN Files Neo4j Sandbox that you can spin up in no time for some investigation fun.
Labels: apache, banking, fincen, graphdb, icij, investigative journalism, neo4j, notebook, sar, suspicious activity reports, zeppelin
With the current surges of the Covid-19 Pandemic globally, there is a huge amount of debate raging in our societies - everywhere. It’s almost as if the duality between left and right that has been dividing many political spectra in the past few years, is now also translating itself into a duality that is all about more freedom for the individual (and potentially - a higher spread of the SARS-CoV-2 virus), versus more restrictions for the individual. It’s such a difficult debate - with no clear definitive outcome that I know of. There’s just too many uncertainties and variations in the pandemic - I personally don’t see how you can make generic statements about it very easily.
Exponential growth is a specific way that a quantity may increase over time. It occurs when the instantaneous rate of change (that is, the derivative) of a quantity with respect to time is proportional to the quantity itself. Described as a function, a quantity undergoing exponential growth is an exponential function of time, that is, the variable representing time is the exponent (in contrast to other types of growth, such as quadratic growth).The basic functions that are being entertained here are very simple in terms of the maths:
Labels: contact tracing, covid-19, cypher, exponential, graphdb, neo4j, subquery
I have been meaning to write about this for such a long time. Ever since the lockdown happened, I have been wanting to take a look at a particular biomedical dataset that looks extremely interesting to me: the OpenTrials dataset. If you are not familiar with this yet, this is what they say:
OpenTrials is a collaboration between Open Knowledge International and Dr Ben Goldacre from the University of Oxford DataLab. It aims to locate, match, and share all publicly accessible data and documents, on all trials conducted, on all medicines and other treatments, globally.
It's a super interesting initiative, and it really flows from the idea that in much of the very intensive, expensive biomedical research, we should be looking at how to better use and re-use the knowledge that we are building up. Kind of like what people in the CovidGraph.org initiative, het.io (remember the interview I did with Daniel - so great!) and others are doing.
It's a bit hidden, but you can actually download a (slightly older, but still) dataset of the OpenTrials dataset from their website. The dataset is actually a Postgres dump file: I got the latest one from http://datastore.opentrials.net/public/opentrials-api-2018-04-01.dump.
Read more »
Labels: desktop, etl, graph database, import, medical information, migration, neo4j, opentrials, postgres, relational database, research
No sure if we should be happy or sad - but hey - the Covid-19 summer of 2020 is almost behind us. Like most people, I found it quite a strange and unusual summer, with very few foreign adventures (although I did manage to squeeze in a cycling/camping trip to the French Alps in July), lots of cycling, some great family time... and of course lots of time with graphs :) ...
So that means that we are also kicking the Graphistania podcast back into gear - here's the next episode for you:
Here's the transcript of our conversation:
Read more »RVB: 00:00:15.863 [music] Hey, Stefan, I do need to ask you for consent, I think, right?
SW: 00:00:19.847 Hi. Yeah, I consent. [laughter] This is always the weird moment.
RVB: 00:00:24.727 Exactly. I thought, "Start with that one again."
SW: 00:00:28.436 Exactly, just to create a little bit of tension in the air.
Labels: belgian public companies, code analysis, de tijd, graph database, graph embeddings, interview, jqassistant, neo4j, podcast, proteomics, stefan wendin, summer of nodes, use cases
Labels: graph database, innovation, lockdown, neo4j, podcast, recommendations, stefan wendin
Long time ago, when dinosaurs roamed the earth and Neo4j was just a tiny cute little junior graph database ;-), I wrote a 2 part blogpost about a newspaper article that I had come across in De Tijd about the network of executives of Belgian public companies. You can find the articles over here: Part 1 and Part 2. Turns out - and I really was not aware of this until recently - that the newspaper has been running this type of publication on a yearly basis. Here's another article from 2018 on De Tijd’s website.
So imagine my surprise a few weeks ago, when I was contacted by one of the authors of that article, Thomas Roelens, to verify some info for the 2020 edition of this analysis. We had a great chat, and Thomas basically asked me to double check some of the analysis that he had done himself already. So, contrary to what happened in 2017 (where I had to dig into the HTML source to download the info from the website - Thomas just sent it to me, and basically allowed me to take it for a spin :) ...
Meanwhile, Thomas' article has been published in the newspaper: you can find it over here or over here. But here's my update below too.
Labels: betweenness centrality, centrality, de tijd, executives, graph database, hilde laga, louvain, neo4j, network, pagerank, public companies
In the previous blogpost we already illustrated in some detail that the contact tracing graph that we built, has a lot of similarities with a product recommendation system graph. We focused on a the Person-Visit-Place triangle that we had built in our Contact Tracing Graph data model, and converted the red and yellow bits into a Person-Purchase-Product triangles.
Labels: contact tracing, fraud detection, graph database, neo4j, pattern matching, recursive, vat fraud
Labels: collaborative filtering, contact tracing, graph database, neo4j, pattern matching, recommendations, recommender system, refactoring
Over the past few weeks and months, I have been living through the Covid-19 pandemic like many others. It's not been easy - but at the same time I feel very fortunate to have been able to stay healthy, active, working, and connected. There's a lot of people out there that are a lot less fortunate, and my heart goes out to them.
Labels: contact tracing, faker library, graph database, graphgen, neo4j, test data, testbed
Based on the past two blogposts on (Covid-19) contact tracing (see here for the posts, here for the movies), I thought it would be a good idea to pick up an old skill - to create a Browser Guide for Neo4j for people to look at this dataset example more easily. I did this a long time ago for my beergraph as well, so why not do it for the contacttracinggraph :) ...
Title
|
Description
|
Command
|
Intro
|
A guided tour of Neo4j Browser
| :play intro |
Concepts
|
Graph database basics
| :play concepts |
Cypher
|
Neo4j’s graph query language introduction
| :play cypher |
The Movie Graph
|
A mini graph model of connections between actors and movies
| :play movie graph |
The Northwind Database
|
A classic use case of RDBMS to graph with import instructions and queries
| :play northwind graph |
Labels: bloom, contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, neomap, pandemic, spatial
In my previous post I outlined the 4 different blogposts that I wrote about using the Neo4j Graph Database for Contact Tracing. Each of these posts is actually interesting in and of its own, and actually makes for a really nice demo of the capabilities in Neo4j. So I created those today - and put them on a Youtube playlist for you:
Labels: bloom, contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, neomap, pandemic, spatial
In the past couple of days, I have been working with several of my colleagues on a number of projects, all around the world, that are preparing our societies for a post-lockdown strategy that will allow us to keep the Covid-19 pandemic under control, and still regain some of our freedoms. This will be tricky, for sure, but as in so many problems, technology can probably assist.
Labels: bloom, contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, neomap, pandemic, privacy, security, spatial, time
Labels: bloom, contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, neomap, privacy, security, spatial, time
Labels: contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, privacy, security, spatial, time
Labels: contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, privacy, security, spatial, time
Labels: contact tracing, covid-19, graph data science, graph database, graphdb, neo4j, privacy, security, spatial, time
Labels: alexander jarasch, antwerp, coronavirus, covid-19, covidgraph, database, drug repurposing, genes, graph, graphdb, graphistania, knowledge graphs, martin preusse, neo4j, podcast, stefan wendin, stockholm
Labels: apoc, database, google spreadsheet, graph, graphdb, multiechelon supply chain, neo4j, refactoring, scm, supply chain management
So in the previous post, we got introduced to a dataset that I have been wanting to get into Neo4j for a long time: a Supply Chain Management dataset. Read up about it over here, but the long and short of it is that we got ourselves into the situation where we have an up and running Neo4j database with 38 different multi-echelon supply chains. Result!
Labels: apoc, database, google spreadsheet, graph, graphdb, multiechelon supply chain, neo4j, refactoring, scm, supply chain management
Alright, I have been putting the writing of this blogpost off for too long. Finally, on this sunny Saturday afternoon where we are locked inside our homes because of the Covid-19 pandemic, I think I'll try to make a dent in it - I have a lot of stuff to share already.
Labels: apoc, database, google spreadsheet, graph, graphdb, multiechelon supply chain, neo4j, refactoring, scm, supply chain management
Friends.
Our friends at Kineviz did some really interesting and timely work on COVID-19 temporal and spatial data visualization. This stuff is really important to understand, as pandemic spreads clearly follow graph patterns. Read Connected if you are not convinced.
Worth highlighting: Bloodhound: Windows network penetration testing with Neo4j, had a new release that you might want to take a look at. If you are not familiar with Bloodhound yet, you may also want to check out my interview with the Bloodhound crew on this podcast a while back.
We published this fun little thing called a Neo4j Treasure Map - check it out!
Finally - we also have a a Winegraph! It's a great example of importing data from the web using Norconex.
Some interesting stuff on using Neo4j for Gene ID mapping: take a look!
Another examle of enriching graphs with Wikidata, from the one and only Mark Needham: look at Mark's blog over here!
Don't forget: we Introduced the Neo4j Graph Data Science plugin with examples from the "Graph Algorithms" book.
A really interesting tweet about a visualisation of the US Supreme court as a graph db... Would love to see more like that.
And for some fun: Pokégraph: Gotta Graph 'Em All!
Some important stuff: we did a great 4.0 webinar that is giving you a lot of info on what to expect in the new version of Neo4j.
There was a great update to NeoMap: Visualizing shortest paths with neomap ≥ 0.4.0 and the Neo4j Graph Data Science plugin.Those were the most important ones. So let's talk about these now - I am sure there's a lot of cool stuff here fore everyone!
Labels: antwerp, coronavirus, covid-19, database, enriching graphs, graph, graphdb, graphistania, neo4j, podcast, stefan wendin, stockholm, supreme court, wikipedia, winegraph
Yey! My friend StefanW and I got round to recording another Graphistania episode, episode 4 already - time flies when you are having fun! This month, again, we have so much great content popping up in the This Week in Neo4j (Twin4j) newsletter, that we could probably fill a few hours talking about it. So in the podcast, we will only talk about a handful - covering things like
Labels: graph database, innovation, neo4j, podcast, stefan wendin, tmin4j, twin4j, use cases
In the past couple of weeks, I have been playing around with the shiny new security features of Neo4j 4.0. They are truly interesting - both for childproofing beergraphs and for ensuring that your sensitive fraud databases are properly secured. Take a look at the previous post, and I think you will understand why.
Labels: 4.0, access control, fine-grained, graph database, neo4j, rbac, security
Labels: 4.0, fine-grained, fraud detection, graph database, investigation, neo4j, privileges, security
Not sure if you have realised, but Neo4j has actually recently made the 4.0 version of the most fantastically awesome graph database on the planet available. You can get it ahead of the big launch event (on February 4th, 2020 - in case you were wondering!) from the Download Center and take it for a spin.
Labels: 4.0, beer, beergraph, fine-grained, neo4j, political correctness, privileges, schema, security, traversal
Happy new year everyone - although it actually seem like the holidays are already very far behind us! But great times were had, at least in my family, and so I feel super energised to make 2020 another great start to a decade of graphs :) ... Here's to that!
Labels: corporate, graph databases, graphistania, interview, neo4j, personal, podcast, society, stefan wendin, tmin4j, twin4j