Pages

Thursday, 20 October 2016

Been a while actually since the below conversation happened - but now I have a finally found the time to put it up here. Apologies for the delay. Amanda Schaefer has been a really great community member for Neo4j and has been using and advocating the use of graphs in lots of different use cases. Listen to her story - and hopefully it will be an inspiration for other graphistas to come out of the woodwork and start tackling real world use cases with Neo4j.

Here's the transcript of our conversation:

RVB: 00:02.767 Hello everyone. My name is Rik Van Bruggen from Neo Technology and here we are again recording another Graphistania podcast episode and today I'm joined by Amanda Schaefer from Cisco. And you're based in Seattle, right Amanda?

AS: 00:17.171 That's correct.

RVB: 00:20.162 Well our listeners may not know you yet, even though you've participated in the GraphGist Challenge last winter. So why don't you introduce yourself, Amanda?

AS: 00:29.131 Sure, so I am the technical lead for an analytics team in Cisco and my group focuses on maintenance contract renewals and kind of optimizing the quoting work flow and optimizing customer success. So we look at a lot of metrics related to opportunity and bookings and quoting packways and things like that.

RVB: 00:50.598 Wow, that sounds really interesting and you know that Cisco is already a Neo4j user, maybe someday you'll get to use it professionally there as well.

AS: 01:00.715 I hope so. I'm working on a couple of use cases for that.

RVB: 01:03.514 Really cool. But what I've read from your work so far, you've been using Neo4j for some of your personal projects, right.

AS: 01:10.929 I have, yeah.

RVB: 01:12.699 Can you tell us a little bit more about that?

AS: 01:14.455 Sure, absolutely. So I started out going to some theater productions around Seattle and noticed that I recognized a lot of the actors from different plays and different theater companies and I got interested in graphing that, because that's such a perfect kind of classic graph problem, mapping people in social networks, and so I was interested in that in the theater space. So for the GraphGist Challenge last winter, I wanted to take a look at that and ended up focusing on the Seattle Shakespeare Company, mostly because their data was the best available of the local theater companies [laughter] so I had to deal with the least data engineering for that, and could focus on the analysis a little bit more. I took a look at their past productions, and matched that up with all of the available Shakespeare plays, and took a look at things like production year and comedies versus tragedies, and their normal seasons versus the things that they take out to the parks. Just had a lot of fun exploring the data with Neo4j.

RVB: 02:15.017 Did you learn anything interesting, things that you didn't know before?

AS: 02:19.544 I definitely learned that the most popular plays and the most successful ones tend to be the things that they take to the parks, which was interesting. I found that there were only eight plays of Shakespeare's that the Seattle Shakespeare Company hasn't produced, so they have done a pretty comprehensive job.

RVB: 02:37.899 When you say, take it to the park what does that mean? I'm not familiar with that.

AS: 02:41.361 So there is a summer kind of "Shakespeare in the park" program, where they go out to different parks around the city, and tour, even around Washington state and do free production in parks around the summer.

RVB: 02:55.427 Now you are just trying to get me to move to Seattle, right?

AS: 02:58.729 Seattle is a fantastic place to visit in the summer, I highly recommend it.

RVB: 03:03.180 Very good. You told me a little bit about some other projects that you have been working on as well, like the movie festival. Tell us about that maybe.

AS: 03:11.317 Yes. So Seattle has an international film festival that takes place in May and June. And so this year I had a festival pass which means I could see any movie essentially that was running during the festival. But there are about 500 movies to see in about three and a half weeks. So figuring out which movies to see is a big challenge. I watched all of the trailers and rated the movies according to my interests, and then I loaded the schedules, the theaters, the transit time between theaters, and my ratings and the movies all into Neo4j, and using a Python program, I created my optimal schedule for the international film festival. I ran 100 simulations and took a look at the top 10 to 20 schedules, and used that as my basis for deciding which movies to go see.

RVB: 04:03.776 Sweet. That sounds really great. It reminds me a little bit of the use case that we talked about on this podcast a couple episodes back, about the Date Night movies. I don't know if you heard that episode. It's datenightmovies.com. You'll like it if you're a movie buff [laughter].

AS: 04:22.165 Great, I'll have to take a look at that.

RVB: 04:24.285 Yeah. Very good. So why graphs, Amanda? Why did you get into graphs, and what's so cool about them for you?

AS: 04:32.701 I actually got interested in graphs looking at the master data management use case, because as part of our quoting workflows, we have a lot of places where a single kind of parent company will have a bunch of different subsidiaries or a bunch of different field locations, and we want to be able to understand which of these contracts really belong to the same company and things like that. So I took a hands on workshop with Nicole White from Neo4j actually, at NoSQLNow! in 2015 and that was my official kind of hands on introduction, when I was exploring that master data management use case. And I just kind of got hooked after that workshop. It was so much fan and so easy and intuitive to play around with the graph model especially in Neo4j, so from there it just sort of took of. And they say once you get it, everything is a graph and I think that's really true. I am always kind of thinking about how can I make this into a fun Neo4j project?

RVB: 05:38.791 Absolutely yeah, it's unbelievable. I was actually jogging yesterday and all of a sudden there is my podcast is talking about graphs [chuckles]. It was really, really peculiar. All right, the model, that's what you find very interesting, the ease of use, is there anything particular that you find most appealing in Neo4j?

AS: 06:02.033 I love the ease of use. For me. I'm just kind of always thinking about the intersection of business and technology, or the intersection of modeling real world things and technology. So the modeling events, like I did for the film festival, is very interesting to me, like the use case I was thinking about, DataDay Seattle, a local conference that I attended a couple of days ago. And thinking about conference management software, and figuring out combining the sessions scheduling with a recommendation engine, which I think are both things that Neo4j does really well. And it seems like you could build a really powerful conference scheduler application based on that, so attendees could make it social, and recommend sessions for each other, and things like that. So just always thinking about the ways that things are connected, and how to just apply these classic graph problems to a lot of situations in the real world.

RVB: 07:02.117 Hmm totally. Well, at GraphConnect we always have a schedule graph. I don't know if you are familiar with that, but in the GraphConnect conference that we host every year, every six months, upcoming October in San Francisco as well, we'll have a schedule graph as well. So maybe that's a starting point for you.

AS: 07:18.126 That's great, I have actually recently purchased tickets to the event in San Francisco, so I am really looking forward to it.

RVB: 07:24.554 Fantastic, we will see each other there for sure then. Other than GraphConnect, what is the future look like Amanda? Where do you think this is going for you personally, for the industry? What's in store, do you think?

AS: 07:39.721 For me, the really interesting next step, and the hurdle that I need to overcome to use it professionally, is just really making the self-serve, analytics part, and getting graph understanding out to the typical data analysts on my team, and the people that would use this analysis day-to-day in their business, and helping them understand these cases and understand the graphic analysis, and things like that, and I think making it really accessible to a lot more people around the organization, is one of the biggest challenges that I'm looking at. In Neo4J 3.0 there's the ability to share the graph style sheets that you've set up in the cloud, so that everyone can see exactly what you're seeing on the screen, and it's much more easy to share those around the organization. Things like that I'm really excited about, because at least in my organization, I know that this is a very cool thing, and there are a lot of use cases for it, but I need to take that out and empower other people to figure out how to take advantage of it. That's what I'm really looking forward to.

RVB: 08:52.664 Fantastic. I think that's something that we'll see many more people working on in the next couple of years, for us as well, as a company in this industry, it's really important that we make that work. Cool. Amanda, you know that we want to keep these podcasts fairly short, so we'll put some links maybe to your graph sheets and the rest of your work, on the transcription page, if that's okay. For now, I'm just going to thank you so much for coming online and having a chat with me, and I look forward to meeting you at GraphConnect.

AS: 09:25.550 Thanks, Rik. I had a lot of fun on the podcast this morning.

Thursday, 6 October 2016

I have said it before and I will say it again, but the joy of this podcast - for me, at least - is the fact that I get to talk to all of these wonderful people out there. Today's conversation is with a really cool and talented young software developer out in Rome, Italy, who has had a passion for graphs for a while - and is now applying it to Neo4j and NOSQL database approaches. Here's my chat with Alessio De Angelis:

Here's the transcript of our conversation:

RVB: 00:02.287 Hello everyone. My name is Rik, Rik van Bruggen from Neo Technology, and here I am recording another GraphistaniaNeo4j podcast, and today I'm joined by someone from a place with a lot better weather than where I am, that's for sure. Alessio De Angelis from Rome in Italy. Hi Alessio.

ADA: 00:21.861 Hi Rik.

RVB: 00:23.151 Hey, it's great to have you on the podcast. Thank you for making the time.

ADA: 00:26.929 Thank you for inviting me.

RVB: 00:28.415 Very good. Alessio, our listeners probably don't know you yet, so I read some of your work on the GraphGist Channel Challenge (Santa's shortest weighted path), but you may want to introduce yourself. Who are you, what do you do?

ADA: 00:44.241 Yes, sure. I'm now working as an IT consultant, in particular involve into big data, data warehouse, and SQL projects, but my love with the graphs started a long time ago, probably three years ago, because at my university I was working on a Master's thesis, where I had to do a recommendation engine, in the cultural heritage domain, and I was looking for a tool that was helping me to profile the user interest, storing the places, historical monuments he and his friends visited according to their social network accounts, together with the extra information delivered by linking the data in graphs. And Neo4j was the perfect database to achieve all those tasks. So, I really fell in love with this database.

ADA: 02:26.193 I started looking for-- I was in the Neo4j main page-- actually, no, in the Twitter account, and I read up about these GraphGist Challenge, and say, "Whoa, I want to participate." And then I was seeing the domains, and I saw Santa Claus. Nice. Let's think about Santa Claus life. And since I was a little kid, I was wondering how could Santa Claus manage to reach every children in the world, and give the presents before they fall asleep.

RVB: 03:11.683 Because he has a graph database. Now we know.

ADA: 03:13.636 Yes [laughter].

RVB: 03:18.643 Very funny.

ADA: 03:18.854 He managed to think about an algorithm for searching the shortest path in the graph of children all over the world. I think for sure that is the reason why Santa Claus managed to do it now in 2016.

RVB: 04:01.044 And in the APOC, in the awesome procedures that we have now in Neo4j 3.X, there's those algorithms and you can call them from Cypher. I think next Christmas you have to go to Santa Claus, and you have to tell him how to improve his database.

ADA: 04:16.610 Yes. For sure [laughter].

RVB: 04:19.417 Very cool. So, why is it so attractive to you? Why did you fall in love you think with the wonderful world of graphs, is it the model, is it the performance, what is it about for you?

ADA: 04:33.153 Firstly, because as the Neo4j slogan says, graphs are everywhere. Probably we don't think about it but really graphs are everywhere, and probably you can model all domain in a graph way. And then in particular, I was attracted by Cypher, because it's so short syntax, but really powerful. I really love the pattern matching, and Santa Claus in his team managed to do all the search of the shortest way weighted path with just Cypher and his main constructs like--

RVB: 05:22.258 Fantastic. That's a great summary. I mean if Santa Claus can use it then everyone can, right?

ADA: 05:27.348 Yes.

RVB: 05:28.332 It's obvious [laughter]. And, is there anything that you think that would really make it even more awesome, that you think we should really be adding to Cypher, or Neo4j, or maybe looking a little bit into the future? What do you think about that? What do you think the future holds for this industry?

ADA: 05:53.424 I think it's really growing because, even in Italy, much more companies are getting through this database, and if I think several years ago no one was knowing that database is probably just at university. In some courses, I was listening to people talking about graph databases, but now I think it's really a reality. In the future, it would be a really-- much more projects would be involved no SQL databases.

RVB: 06:38.832 Is there a particular kind of project where you think that it would really fit best, or what do you think would be the sweet spot for the graphs in the next couple of years?

ADA: 06:48.486 Yeah. For sure, in our research, operations, course, we did so many , like for searching the best solution, or-- yeah. So, I think each one of these theoretical aggregates can have an improvement if it's applied with a graph database, like Santa Claus did with just a normal shortest weighted path search algorithm, improved by Cypher language.

RVB: 07:30.011 So, basically what you're saying is that there's a lot of just regular database applications that could benefit from it, and offer new functionalities, new [crosstalk].

ADA: 07:40.226 Yes, probably just some-- a algorithm that work on data as a graph, but just not considering the data as a graph itself. So, they try to travel among these data, and try to connect them, but without using a proper graph database. If they use it, I'm sure that their performance will improve.

RVB: 08:12.035 I agree. I couldn't agree more, actually. Thank you so much for sharing that, Alessio, I really appreciate it. And, again, maybe next Christmas we'll have a new and improved [chuckles] engine for the pathfinding of Santa Claus. In the meanwhile, I think we'll try to keep these podcasts short and snappy, so I'm going to thank you for coming online, and sharing your experience with us. It's been a great time talking to you, and I hope to see you at one of the future Neo4j community or conference events, you know?

ADA: 08:53.743 Yes.

RVB: 08:55.047 That'll be great. Thank you [crosstalk]. Have a nice day.