Thursday 20 April 2017

Autocompleting Neo4j - part 1/4 of a Googly Q&A

As you can probably tell from this blog, I have been working in the wonderful world of Graphs for quite some time now - Neo4j remains to be one of the coolest and inspiring products I have ever seen in my 20 odd years in the IT industry, and it certainly has been a thrill to be part of so many commercial and community projects around the technology in the past 5 years. Not to mention the wonderful friends and colleagues that I have found along the way.

One thing that does keep on amazing me in working with Neo4j, is the never ending
  • stream of use cases, industries and functional domains where graphs and graph databases can be useful
  • stream of new audiences that we continue to educate and inform on the topic. Every time we do a meetup or an event, we seem to tap a new source of people that are just starting their journey into the wonderful world of graphs - and that we get to talk to and work with along the way.
When dealing with these new audiences, it's also pretty clear that we ... keep on having the same types of conversations time and time again. Every new graphista that gets added to the community, is asking the same or similar kinds of questions... and most likely, they are going to google for answers.

This leads me to the topic of this blogpost, which is both fun and serious at the same time: we are going to try and autocomplete neo4j :) ...

Autocompleting? What's that again?

When we talk about autocomplete, we talk about this amazing technology that Google has built into it's search functionality, that completes your search query as you type - often times "guessing" what you will be looking for most likely before you even thought about it... it can be pretty interesting, even eerily scary sometimes...

Google made a wonderful practical joke about on April 1st a couple of years ago - which I thought was really funny:

But nowadays, it's come to be this really serious and important tool for Google, allowing their users to find what they are looking for - and, of course, what Google wants us to be looking for - really quickly. They actually go through some length at explaining it on their help pages:

Now, not too long ago I saw these really funny youtube video series recently, that Wired ran, basically bringing together the world's most searched for topics for a particular person, celebrity, show - and asking these questions to that person/... live and recording it. Really cool. Here's the Youtube playlist if you want to waste some time on a Monday/Friday:

There's quite a few of them that are really funny - like for example the Sesame Street one:

Or if you want to have even more fun with this - just go and play the "Google Feud" game, where you have to guess the most searched for terms:

So you get the drift. And then my mind started drifting: why not use that kind of google autocomplete on Neo4j, and answer the web's most asked questions about Neo4j, once and for all, in a blogpost? Let's give it a try.

Autocompleting Neo4j

So the first thing that I noticed here, is that the autocomplete really does change with the web. I just ran the "does neo4j" entry into my Google search box, and the difference between last week

and this week

is kind of interesting. So I will go through 6 different questions here, and try to answer these as good as I can - without spending too much time on boring details and discussions. These questions are:

  • Does Neo4j scale?
  • Does Neo4j use Lucene?
  • Does Neo4j support transactions?
  • Does Neo4j use SOLR?
  • Does Neo4j support Gremlin?
  • and last but not least: Does Neo4j  support SparQL?
So when I started out writing answers to these questions, I found that there's quite a bit to say about it - so I am going to split it into 4 different posts which I will publish of the next few days - just to make it convenient for everyone to get through the material. 

So: look for the next post in the next few days - should be fun!



Note added after publication: 

No comments:

Post a Comment