Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Welcome to the matrix !
With Neo4j

Neo4j is a NO-SQL Graph database, it's written in java and it's open-source* ! * But not only

NOSQL

Big & Linked data

Some limitation

What is a graph database ?

Find out if a person get a specific role

Find out the possible new friends based on them liking similar things

How to query my graph ?

Indexes

Traversal

Client

REST API - Node


REST API - Relationship


Some DSL


// Display "name" of all node

g.V.name

// Complexe query :

g.v(23).out('knows').filter{it.age > 30}.out('like').name

Cypher

Cypher - Pattern

Cypher - sample query


// All node related to node 3

start n=(3) match (n)--(x) return x

// All node that are BLOCKed by node 3

start n=(3) match (n)-[r, :BLOCKS]-> (x) return x

// All BLOCKS relationships outgoing from node 3

start n=(3) match (n)-[r, :BLOCKS]-> () return r

// Where regex

start n=(2,1) match n.name =~ /Tob.*/ return n

Cypher - complexe query

START
  joe=node:node_auto_index(name = "Joe")
MATCH
  joe-[:knows]->friend-[:knows]->friend_of_friend,
  joe-[r?:knows]->friend_of_friend
WHERE r IS NULL
RETURN friend_of_friend.name, COUNT(*)
ORDER BY COUNT (*) DESC, friend_of_friend.name

Transaction

All write operations must be performed in a transaction.

Cycle

  1. Begin a transaction
  2. Operate on the graph performing write operations
  3. Mark the transaction as successful or not
  4. Finish the transaction

Lock

Lock


// Working on a property of a node (or a relationship)

lock the node (or the relationship)

// Create, remove a node

lock the node

// Create, remove a relationship

lock relationship and its nodes

In memory write operation

How to extend Neo4j ?

Extension

Don't care of endpoint,JSON format, It's a part of the Neo4j process !

Plugin

Based on JAX-RS, You can do what ever you want, JSON result depend on you !

List of extension

Coming soon routing with OSM data

Spatial & OSM

Backup

Cluster

Master

Slaves

Thanks to

Use a spacebar or arrow keys to navigate