OK people. I'm live tweeting @neo4j's #Chicago #GraphTour event today.
We are currently in the keynote. The speaker is talking about how popular Neo4j is
Keynote now telling us about all the new Neo4j features. Examples: location filter, including 3d. Auto cache reheating. I'm interested to know if auto cache reheating is working with query patterns or meant to replace them or what
Quote: "You need ACID" (atomic, consistent, isolated, durable). It's a funny quote even if you're familiar w ACID

A primer:
"You know more about me from my 3rd degree connections than from all the other information you have about me." This sounds like journalistic embellishment to me. Not sure what we're knowing here, but I suspect it's a very narrow piece of information.
Insert sweet Star-Warsy video of us cruising slowly through a graph-infused space
P.S. If you're here and you have either an old-style mac charger (one row, four prongs) or a USBC converter for that type of charger, I have prizes for you in exchange for a charge
Ravi Ramanathan starting a talk on Graphs and Digital Transformation in FSI. The first slide is a picture of all the names in Game of Thrones linked up together. If that's exciting to you I recommend @sirajraval's videos on NLP and GoT
I wonder if every speaker today is going to do some version of the spiel "things are graphs"
We're playing buzzword bingo. #MachineLearning, #IoT, #Blockchain, #cryptocurrency, #AI, #NeuralNetworks. For the record, displaying the action potentials of a neural network in a graph doesn't necessarily make them legible—so no, fellow ML Eng ppl, we're not off the hook.
Break time. Come say hi people! I'm the lady in the Ed Hardy getup. I have a denim jacket with a comic strip on it and an angry orange owl purse.
Ryan Chandler of Caterpillar, speaking on building a knowledge graph for natural language understanding and prediction.

We're starting with the premise: text is important, and text is a graph
Example case: predicting diagnosis of vehicle trouble by training a model on the complaint, analysis, and cause
Stuff you can do to help understand text with a graph:
- Map synonyms to a single representation (see wordnet synsets)
- Map the connection between cause and effect (common approach: NLP classification models)
- Parse syntactic structure (see part of speech tagging)
He's pointing out the sheisty part of language processing: getting good data. It's expensive and slow to have folks manually tag the parts of a text.
Whoa. The nodes are individual words. Their db footprint must be enormous.

Each complaint has a :FIRST_WORD relationship to the first word of text, which is connected to the next node by an association called :NEXT_WORD, plus other associations describing lexical relationships.
"This is a simple query" lol it has 8 components

Luckily, it's quite legible because #Cypher is badass
We're looking at an example text whose complaint, cause, correction are labeled. He has confirmed that they're using ML for this

I wonder what the model is like. Does it predict a probability that each word is part of the complaint, the cause, the correction?
Quote: "I don't know why there's a smoking theme in this deck"

We're on the second picture of some dude smoking, haha
"Language is...highly ambiguous...so if we convert it...to a logical structure, we get this [more useful] outcome."

From the text, the model focuses on a small collection of part of speech features. Looks like the direct object and first adjective map to...some annotation
Bias alert I'm zooming in on the NLP portions here.
Now we're moving onto Michael Moore's talk about Knowledge Graphs, the path to #Enterprise #AI (Yep, I'm hashtagging all the buzzwords. Gotta get them viewzzzzz)
Michael is talking about how cypher queries function a snake moving through the graph.

I desperately hope he is setting up a punny intro to cypher pitfalls: "snakes in the grass when snaking the graph"
For folks who know generally what a graph is but are new to the implementation details of graph databases, this is probably the most level-appropriate talk.

Maybe in the future they can switch the order of this talk and the previous talk for the benefit of those folks.
Ah, now we're talking about data lakes! That's my favorite euphemism for the fruits of unexamined surveillance. But I'm showing my hand here.

The point, I suppose, is that graphs make it possible to get the "important" data out of the lake. IME that's usually about 1 bucketful.
We're now taking a look at storing metadata in relationships. Love this idea.

Currently I'm playing with that in a db of my own. Instead of an Investment node, I have relationships between Companies and Accounts that have a start date, an end date, and a share count.
This is the second presentation where I have seen associations named with 'has' and 'is'. :IS_CATEGORY, :HAS_FIRST_WORD, :HAS_NEXT_WORD instead of englishier alternatives like :CATEGORIZED_AS, :STARTS_WITH, :FOLLOWED BY.
I wonder if that's the Java influence. Neo4j was first adapted for Java, which structurally relies on null checks and conventionally performs those with methods that start with 'is' or 'has' and return a boolean.
OK folks! Lunch time. I'm gonna go eat on the south face. Come say hi!
All right, we're back. I had a power mishap so I missed the talk on Graph Based Thinking by Dan Woods. I'll catch up with someone later on that.
Now @jmhreif preparing to talk about Graph Algorithms.
Quote: "If you build for the average, you build for no one."
Graph Algorithms:

- Pathfinding and Search
- Centrality
- Community Detection
On pathfinding and search: you can use single node shortest path, or all pairs shortest path. The second of these is more comprehensive, and both can help with things like identifying the most efficient query over a large network.
On Centralities: one example is PageRank. Which nodes have the most influence in your network?

Others: Closeness (most connected nodes) Betweenness (nodes bridging groups of nodes), and Degree (most popular nodes)
I wonder what my influence is on a graph of Chicago! Very small, I'm sure 😂
On Community Detection:

Label Propagation: labeling nodes based on neighbors to infer clusters
Union Find/Weakly Connected Components: Finds nodes that all have a path to each other
Strongly Connected Components: Same as weakly, but with associations running both directions.
Louvain Modularity: Compare the density of connections within a possible group to the density outside it.
Triangle Count and Clustering Coefficient: Which sets of three nodes all connect to one another? How does that compare to node triplets with 2 or fewer connections?
Now we're going to go into how to do this with Neo4j
Ope, first an aside on custom projections. See more here:

OK here we go on a demo!

It's with the Game of Thrones database. What am I missing that every data scientist knows about Game of Thrones?
OK, I wanna watch this demo closely.

Here's more info on what we're demoing.


There are also 3 or 4 sandboxes available online to play with these!
OK! Now Ryan Boyd is getting ready to talk about the Neo4j Database and Platform Overview.
Until 1979, data was managed on disk. Then Oracle introduced the first RDBMS, called RSI and accessed through SQL

Quote: "People said RSI stood for repetitive stress injury" 😂
Whoa...OK, jump forward 40 years and how there's a picture of a graph on the screen, haha
Establishing the Connected Enterprise:

- AI & Graph Analytics
- Transactional Graphs
- Discovery and Visualization (the news here is Bloom, Neo4j's new product)
We're going over key architecture components. We're also collectively fangirling about Cypher. I have been individually fangirling about Cypher for a while, so this is validating to hear.
We're now talking about how Neo4j's new Graph Algorithms outperform GraphX.

Quote: "I normally tell you not to believe vendor-provided performance benchmarks, so take this with a grain of salt." 🤣
~Sigh.~ Speakers keep saying "ML and AI." I also heard "AI and Neural Networks." Makes me feel like they either don't know what any of these things are, or they're playing buzzword bingo to potential buyers who hold purse strings but don't know what any of these things are.
Heck yeah, Neovis.js just got a shoutout!
Oh shit, we're demo'ing bloom!!

He recorded a video and he'll be talking over it. I like this a lot. Error-free, speed under speaker's control, speaker can even back it up. Particularly if there's no interactive component to a conference talk, this is the way to demo.
OK, Ryan just finished up. Now @JMHReif is back to talk about Neo4j extensions.
Hm. The speakers seem to be saying NE-yo-FOR-jay. I usually say Ne-yo-for-jay, so I guess I've been doing it wrong.
BOLT Drivers! BOLT is Neo4j's binary protocol. Groovy.
Now we're talking about user defined procedures. You can call these stand-alone OR you can include them in cypher statements. The example syntax appears to lean on Java 8 (annotations, streams). I wonder if this is available in all the language drivers or Java only for now.
Also talking user-defined functions, in particular aggregation functions.

Here's more info from the docs (I'm seeing an assumption of Java and annotation availability in these docs, but I'll look for more on the other drivers later)

APOC: Awesome Procedures on Cypher

Now we're talking about Neo4j and ElasticSearch


Evidently there's a great talk from @Airbnb on this, but I can't find it! Help?
OK, versioned graphs.

This is available via graph.versioner in APOC. You don't have to manually dupe nodes as you advance in versions!
I'll need to take a closer look at neo4j-nlp. Evidently it can help you annotate your text right in the graph db.

AGAIN with the Game of Thrones
Now we're talking visualization and graphQL to cypher translation. These tools are advancing fast, so if you're looking for that I'll let you Google ;)
Annnnnd that's a wrap folks! Now we're doing...cheese and drinks, I think? I hope there's wine!

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Chelsea Troy @heychelseatroy@social.clawhammer.net

Chelsea Troy @heychelseatroy@social.clawhammer.net Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!


0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy


3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!