It was a supremely busy and FUN week, but now of course we need to get back to "business" as usual - which means publishing another great chat with one of our long standing active Community members, Wes Freeman, of Information Analysis, Inc.
I first got to know Wes from his blog and his excellent work on Cypher (note: this site is a bit outdated now, as it dates from back before Cypher had many of the performance optimization features (eg. the cost-based planner) - but it's still a good read :)). He's a generally-all-round-good-guy - and we had a great chat:
Here's the transcript of our conversation:
RVB: Good morning everyone. This is Rik, Rik Van Bruggen from Neo Technology, and here we are again recording another session for our Neo4j graph database podcast. And it's a remote session again, all the way across the Atlantic. On the other side is Wes Freeman of Information Analysis. Hi Wes.
RVB: Hey, good to have you on the podcast.
RVB: That's great. For those listeners that don't know you Wes, would you mind introducing yourself quickly?
WF: Sure. I'm a technologist. I guess recently CTO of emerging technology at Information Analysis, and I've been looking at Neo stuff for almost three years now. It's kind of amazing.
RVB: Time flies when you're having fun, right?
WF: [chuckles] Indeed. I've done a fair bit of stuff with Neo, but maybe we'll get into that momentarily here.
RVB: Absolutely. You've been a very active member in the community, right? I remember you posting a lot of stuff on how to do cypher queries, and stuff like that. That seems to be an area of expertise for you?
WF: Yeah. I think I kind of like problem solving in general, and cypher kind of clicked with me, so I really enjoyed helping people try to get their cypher to work. That was like a fun pastime for more than a year [chuckles].
RVB: Have you done a lot of work with the recent new cypher planner in 2.2?
WF: Yeah. I can't say I've done a lot of work with it, but I have gone through and it looks excellent, the way they've changed the explain and profile stuff. I really love the way it draws it out in the browser for you, especially.
RVB: Yeah, that's cool.
WF: But yeah, the cost-based optimizer is shaping up, and I really think things are awesome these days, so we're getting up there in cypher speed.
RVB: Yeah, that's fantastic. Wes, how did you get into Neo? How did you get into graphs in general? Do you mind giving us a little bit of the history there?
WF: Sure. It all started with a personal project, which is still ongoing. Basically, I was trying to analyze and keep records of decision trees for the game of chess, and I started various databases. I eventually stumbled on MongoDB and I tried-- you can keep a small hierarchy in MongoDB, because you can nest the documents. Then what I ended up running into problems with, was I needed to find out whether I'd seen a position in the decision tree before. When you get 40 or 50 moves deep, I was basically having to query up the tree in my own-- get the parent, get the parent, get the parent. It just wasn't performant. And it just so happened that I was on Meetup, and Andreas Kollegger had scheduled the second Meetup of Baltimore, D.C. graph databases. It was in a library, and I have to say it was a fun time, but there was no projector, so we were all sharing slides around. It was kind of funny--
RVB: Pretty old school, huh [chuckles]?
WF: Oh yeah. But it didn't matter, the content was very exciting and everybody dug into it. Ended up talking to Andreas. I was like, "You've got to have more of these Meetups, maybe next month or something." He's like, "Oh." Then later I get this email, "So how'd you like to be the co-organizer of the D.C. Meetup?"
RVB: Be careful what you ask for [chuckles].
RVB: That's pretty cool--
WF: It was fine. That's how I got into that.
RVB: So what do you like about it? What attracts you to graphs and graph databases? We've had a lot of people explain that on this podcast, so what's your perspective?
WF: For me, the selling point initially was the performance of deep traversals. That's where I got into it. But as I got more into it, you can do-- it's got this also other selling point of-- it's very flexible, and you can model any domain in it. That's another aspect that I like a lot. And I like cypher. Cypher makes things easy to query. I also get into the job at API and write some unmanaged extensions.
RVB: You've been around [chuckles].
WF: I’ve done all the stuff, yeah [chuckles]. I haven't just done cypher, but it's definitely nice to use when you can.
RVB: Where do you think-- where are you guys, and where are you guys going to take graphs? Also where do you think graphs are going to go in the industry? Any perspectives on that? Where do you think we'll be in a couple years from now?
WF: It seems like it's growing like crazy, so that's great. I've seen lot of people-- I'm still running the Meetup, and we've seen pretty good growth for the last three years, or two and three quarter years. And we see new people all the time, so I think that's also indicative that it's spreading. At least in our local area I can confidently say that it's growing, and I see buzz on the Internet. I think definitely seems promising. I'm investing my time in it.
RVB: We thank you for it [chuckles]. I think it's starting to become more and more prevalent in the industry as well, right? With customers and clients?
RVB: Very good. Well, Wes, thank you so much for coming on the podcast. I'm going to wrap up here and keep this podcast nice and short. But it's been a pleasure talking to you. Thank you.
WF: Sure thing. Thanks a lot.
RVB: I look forward to seeing you at one of the Meetups or conferences in the upcoming months.
WF: Yeah, I'm sure I will.
RVB: Thanks, Wes.
WF: All right, bye.
Subscribing to the podcast is easy: just add the rss feed or add us in iTunes! Hope you'll enjoy it!
All the best