Neo4j Spin Cycle

Notes working with Neo4j for the first time.


Pre-adventure Video Tutorials

To prep, I watched a handful of official vids, each around 45 minutes, while taking notes.

Intro to Neo4j Hosted by Ryan Boyd

(Another intro went over the same materials though with a British accent. Both good.)

Neo4j Top Use Cases Hosted by Jonny Cheetham

NLP with Neo4j Hosted by William Lyon

This feels intuitive and powerful.


Use Cases

I already have a few use cases which look ideal for a graph db.

Official recommendations include:

1) recommendation engines
2) graph-based searching
3) fraud detection.

More exist, of course.


Inline, Integrated Tutorials

And they look good.

inline tutorials

All around groovy.

The very positive first experiences — UX level — not only show visually descriptive and interesting results while following the inline tutorials...

...inline code hints are downright effective.

Eventually, maybe 2 hours including note taking, I ran through most/all of the tutorials.

Again, really nice experience overall.


Cypher

I dig the cypher query language:

Find Tom Hanks' co-actors.

MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name

I had a hiccup around UNWIND-ing a child array and took to StackOverflow to get some help.

Thanks to @InverseFalcon for helping here, and the result, as I hoped, is my current favorite code in the project because it worked like I wanted it to.

Note: WITH starts a new scope!

I didn't run across this in documentation or the vids. If it's in there, I didn't connect with it.

Good sign of community when I had an answer within an hour.

Took me longer to figure out how to describe the problem.

Also had nice interactions with the Neo4j team proper who sent educational materials my way.

There's a Neo4j conf/class in Denver in May 2017, and though it's right in the middle of Boulder Startup Week I still signed up.


Aside: Dark Theme Issue

I shipped a note to the team via their preferred channel which was also directly inline in the browser tool.

more dark themes

a little issue

I used their immediate, inline feedback to ship the note.

Where have I seen that before. ;)


Operation Early-test

After running through most/all of them, I set off with my first db by creating a new directory and hitting Start.

No problems whatsoever. Simple, simple.

Note: Whichever db is running will be the one your code will hit.

Not sure if this is because of the Community Edition or what.

I'm used to db names.


Cypher Query Language

I have in the back of my mind a downright donkey-brained idea for a visualization I want, and I used this as the basis for some self-directed practice with Cypher.

After finding my sea legs, Cypher became conceptually obvious.

Doesn't mean I didn't hit bumps and I sure won't claim to be an expert, however the syntax just feels intuitive and fast from thought to results.

finding flow


More, Please.

A very promising first experience with a new db style.

Considering my projects, I don't see how I cannot look further into Neo4j.

Cheers,
Geoffrey