In this chat between myself and Stefan Wendin, we talked about a bunch of cool articles in the This Week in Neo4j (TWIN4J) newsletter:
From the November 9th TWIN4J twin4j post
- Introducing Aura: https://neo4j.com/blog/introducing-neo4j-aura-a-new-graph-database-as-a-service/
- How to build a knowledge graph from scratch even if you are not really a full-blown developer
- Structural balance in graphs: https://medium.com/neo4j/understanding-alliances-exploring-structural-balance-with-neo4j-71fc08f10985
the November 23rd TWIN4j
- Building a graph analytics pipeline in Neo4j to explore the transport system in Rome
- Analysing online customer journeys in 3D
- My own work on the Carrefour Shopping ticket analysis
- The fashion Knowledge Graph. Inferencing with Ontologies in Neo4j
- Decision trees in Neo4j: thepill
And here's the transcription!
RVB: 00:00:02.102 Hello, everyone. My name is Rik, Rik Van Bruggen, from Neo4j, and it's that time of the month again. We are in Graphistania 2.0, and we are recording another podcast for our lovely graph DB community. And as last month, I've invited my dear friend Stefan Wendin to the podcast. Hi, Stefan.
SW: 00:00:23.017 Hi, Rik. Nice to be here again. Yeah. Looking forward to this. Always fun to get to chat.
RVB: 00:00:30.198 I'm looking forward as well, and we've got a couple of things to talk about. We've got some really cool topics that came up this week in Neo4j newsletter, and so we're going to talk about some of those innovative topics that came up there. So let's dive right in, right? I mean, one of the things that was kind of cool last month was something that Neo4j, the company, the company that we both work for, launched, right? It's our journey into the cloud, into the databases and service world. I just want to highlight that a little bit because it's so disruptive, don't you think, Stefan?
SW: 00:01:13.345 Yeah, and I think it's like-- I'm one of the one that's have been really looking forward to this. I mean, my background is that I run the innovation lab here in EMEA, and if you look upon what we do as basically prototype use cases in the fastest possible time, most of time this is done in a week and then the client all ready to go. And before that, you had either the option on using community, which they most likely do not want to use, or this big kind of thing of going into the enterprise, right, so it's just a validation as of now. So for me this is super, super great because it opens up this new kind of paradigm for new people to use it and the ease of using it. Basically, just bring out your credit card. You don't have to go through IT and procurement and all of those kind of things. But it also leads me into this other idea, right, which also becomes this kind of graphy ideas about strong and weak ties, how if we have strong ties, basically, it's just the same kind of people like you and me. We are very similar in what we like and do, right?
RVB: 00:02:24.216 Yeah.
SW: 00:02:24.633 But when we kind of enable other people to join the network, the network scale and innovation scale as well because we get new perspective. I mean, the last episode of this podcast, I talked about Foldit, that example of protein folding, where this kind of deep knowledge would be represented, in this case, by the kind of developers and graph people, right? But then we have this other thing, which in that case was the gamers, right, this kind of new perspective. And if we can remove friction from new perspective to enter this kind of network, as you may call it, then we will see fantastic things because they will tell us what they want to do with this. So I am super excited about this Aura thing, and I think it's one of the coolest things that ever happened this year.
RVB: 00:03:15.237 I think it's a fantastic start for Neo4j. We're really starting on a journey with so many interesting aspects to it. But you're right. We're removing friction, right? We're making it easier for people to start using graphs and experimenting and those types of things. And then it's based on this idea of making weaker-- or involving weaker ties, and let's talk about that a little bit more. Some of the posts that we saw in This Week in Neo4j were all about knowledge graphs, right? And that's an interesting topic where that same idea of utilising the weaker parts of the network, the weaker ties of the network, to get additional knowledge is really apparent, I think. How do you see that? What's so cool about that?
SW: 00:04:06.195 No, but the knowledge graph in itself is-- I think it's one of the most booming use cases, from where I stand and what I see. And I think that the great part is that it basically just connects what you already have and just display it for you, right? And I think one of the cool topics is this guy building it basically from scratch with pretty much no previous knowledge, again, which is also this kind of really, really kind of cool thing and also something that makes me really proud, being able to actually put this together. It's an amazing talk, and I just reminded now I need to send that to another client that has the exact same needs, that asked for me, "Do you know how to put together a knowledge graph? Do you have any good example of how to just start?" And I think that talk, it's just a brilliant example of exactly that, just doing, right? We can talk about things forever, but when we do it, that's where it changes.
RVB: 00:05:05.914 I'll put the link up, obviously. I'll obviously put the link to that talk in the transcription of this chat, but it is kind of amazing that without being a developer or someone technical, just by loading the data into a graph, right, loading your knowledge into a graph, you're already getting something extra. You're already getting this additional insight that you wouldn't have otherwise just by structuring the data, which is kind of amazing, right?
SW: 00:05:36.748 Yeah, yeah, yeah. It's almost like the comparison of having a storage with a lot of ingredients, right? And then, all of a sudden, it turns into a beautiful cake without pretty much doing nothing. It's just like magic. So, yeah, super cool.
RVB: 00:05:53.309 It's really cool. Related, again, there was a Medium post that came up a couple of weeks ago around a really interesting topic, I think. It's all about this idea of structural balancing graphs where, just by looking at the structure, just by looking at how things are related in the graph, you again get some additional knowledge and even some predictive capabilities, right? You're familiar with this, right?
SW: 00:06:28.449 Yeah, yeah, yeah. And I think, as we mentioned a little bit before, this ease of use thing. So I have a great example. I do a lot of executive training and classes, so I did one for a school called Hyper Island, which is based in Sweden, or out of Sweden. But then we had this session around game theory, and then it kind of struck me that this example is exactly that. So we used game theory as a strategic tool to kind of predict the Cold War, as an example, and how it had a balance. But then it becomes very, very graphy, and I think this is one of the cool things, just pulling up the post and basically slashing in a couple of lines of code and then, visually, also seeing it and being able to also compute it at basically zero time, right? It's real time always, as with graphs, right? And I think this is also such a cool thing because it was also easy for people that do not understand the coding part or are more coming from a strategic background, as in this case. The whole class, pretty much, there was 1 out of 25 that has a coding background or understand a tiny bit of code, but they all kind of followed this because also the visual representation, which is interesting.
RVB: 00:07:51.149 Yeah. There's this great example of-- what's it called? Kleinberg and Easley, I think. There's this book from Cornell called Networks, Crowds, and Markets where it has an example of how the First World War was basically super easy to predict based on structural balance, right? I don't know exactly what the parties were, but if I've got a treaty with you, and you don't have a treaty with someone else, and I do have a treaty with someone else, then that makes the graph unbalanced, and basically, something needs to give. Something needs to happen, right? You're going to have to-- I have to decide do the three of you-- are going to decide to get along or are you going into war zone, right? That's kind of the idea behind that. You can apply that to many other things. I actually did a blog post a couple of years ago about these relationships in the Middle East between parties in the Middle East and how they are friends or foes of each other. It's the same idea. Structural balance, right?
SW: 00:08:59.232 Yeah. Super cool. It also reminds me of, when joining Neo, it was at the GraphConnect, and Jim did this on the executive kind of summit. He did this great part also around this topic, and it's one of the times when I was like-- really fell in love with graph and the simplicity to explain kind of complex things, right? So also amazing, so yeah. What exact date is GraphConnect this year, by the way? Do you know it in head? This is a tricky question. I just threw it out there because I didn't know the answer, so now Rik cannot ask me. But then I kept talking so he could actually google it in the background [laughter].
RVB: 00:09:41.848 I actually know it by heart, I think. It's April 22nd, yeah.
SW: 00:09:43.951 Oh, good. Cool. Cool. Yeah.
RVB: 00:09:46.061 [crosstalk] 22nd, yeah. In New York, and I'm sure we will see a lot of people there. Maybe one more topic, Stefan, because in our innovative ideas list of last month, there were a couple of ideas that really related to analytical work with graphs, right? I mean, I saw this guy talking about doing some analytics on the transport system in Rome. I actually wrote something about shopping ticket analysis based on Carrefour data sets. Some cool stuff there as well, right?
SW: 00:10:29.749 Yeah. Super cool. Yeah. I really like the Carrefour one. I actually didn't have time to read up on the Rome, so I'm not going to comment and be completely open that I haven't. But I think what is interesting and what I saw and also kind of connected-- or connected to me is that the ease of using the Graph Algo Playground, or NEuler, right, which you used for the similarities, and the speed of using such a powerful thing. And I think it's just-- it's, of course, the UX is still not 100%, but the way it removes friction to kind of use these, everything from the community detection kind of centralities or similarities as the one that you used, right? I think you used Jacquard in this case.
RVB: 00:11:18.444 Mm-hmm.
SW: 00:11:18.572 And I think this is the interesting part. So I see myself more and more often, when I'm talking about graph, basically just slashing together a quick set of graph, and then basically opening up the Playground in front of clients to kind of explain the scenario inside of the room using it. So I think this is also one of those kind of, that we mentioned before, the weak ties, how it opens up for a whole set of other paradigms for new people to kind of join. So if you haven't downloaded, I suggest you do just as Rik. Get your data set and basically play around with it.
RVB: 00:11:53.622 Yeah, absolutely. I mean, the Carrefour example, obviously, it takes a geek without a social life like me to spend the time to analyse that [laughter]. But I mean, I guess, I'm not a developer, right? So I just started hacking around with it and started tinkering around. But before I really knew it, based on this Jacquard similarity analysis, I saw some things that I think are really valuable. For example, one of the things that I saw was that in these two shops where people were buying stuff from Carrefour, there were quite a few people that bought more than one phone, right? So on the same ticket, on the same shopping ticket, they bought like three Samsung phones or two iPhones in different colours. And I'm like, "Hey, why is that?" I mean maybe it's a valid thing, right? Maybe it's because they wanted to get a phone for their wife or something like that. But maybe they're also just ripping off Carrefour and basically buying two phones and returning one of them next week, right, which is-- it has a price tag, right? There's a cost to that. So I was immediately like, "Wow. I didn't know that." I'm betting you that not everyone at Carrefour knows that.
SW: 00:13:21.492 Yeah. No, but I think-- yeah.
RVB: 00:13:22.551 And so something [to think of?].
SW: 00:13:24.425 No, but this-- yeah, super interesting. And again, by just connecting-- again, like the knowledge graph example, taking data that already exists, connect it, and then look upon patterns and things that we didn't know that we already know, in a sense. And I think this is the amazing things here, so yeah. Of course, it has a cost in this case, and it can be potentially fraudulent, or it can be something else. But this way of traversing the graph or unfolding it almost, I think, is such a cool thing, and yeah.
RVB: 00:13:57.814 That's why we keep tinkering away with it, right? Because it's so interesting.
SW: 00:14:03.729 No, but it just like unfolds, and this is so bizarre, almost. It's hard to explain. You have all these insights, but you can't see it. It's this thing like you can't see the forest because of all the trees, right? So you can't see your insights because of all the data points and tables that you have. It's almost like that, right? And I think this is like, when you start seeing this, it happens. As we always say, graphs are everywhere, and I think it's a really good representation.
RVB: 00:14:35.220 Wow. That's a great way to sum up this month in Neo4j, right, and to wrap up our second episode here. And obviously, we're going to post some of those great innovative cases on the transcription blog post. And we'll talk some more next month, if that's okay for you.
SW: 00:15:00.663 Yeah. Looking forward to it. This is my kind of graph--
RVB: 00:15:02.485 It's actually going to be next year.
SW: 00:15:04.324 Next year [laughter]? That's insane. I'm not ready for that yet, but that's a whole other story, I guess.
RVB: 00:15:09.911 That's a different story. Exactly.
SW: 00:15:11.620 Yeah.
RVB: 00:15:11.998 Thank you so much for your time, Stefan. It was great talking to you, and I'll talk to you soon, yeah?
SW: 00:15:17.752 Yeah. Thank you, Rik. Bye.
RVB: 00:15:19.483 Cheers. Bye-bye.
Subscribing to the podcast is easy: just add the rss feed, find us on Spotify or add us in iTunes! Hope you'll enjoy it!
All the best