SlideShare a Scribd company logo
Neo4j for Java Developers
All about the „4j“
Michael.Hunger@Neo4j.org
(Michael)-[:WORKS_FOR]->(Neo4j)
michael@neo4j.org | @mesirii | github.com/jexp | jexp.de/blog
Michael Hunger - Community Caretaker @Neo4j
• From Pain to Graph
• Graphs Are Everywhere
• For once no Java Haters
• Demo(s)!
• Q&A
Today‘s Entertainment
Once Upon A Time in Sweden
Once Upon a Time in Sweden
Solution
History of Neo4j
• 0.x ...
small embeddable persistent graph library
• 1.x ...
adding indexes, server, first stab of Cypher
• 2.x ...
ease of use, data-model, optional schema,
cost based optimizer, import, Neo4j-Browser
• 3.x …
binary protocol, bytecode compiled queries,
sharding
(graphs)-[:ARE]->(everywhere)
Value from Data Relationships
Common Use Cases
Internal Applications
Master Data Management
Network and
IT Operations
Fraud Detection
Customer-Facing Applications
Real-Time Recommendations
Graph-Based Search
Identity and
Access Management
The Whiteboard Model Is the Physical Model
CAR
name: "Dan"
born: May 29, 1970
twitter: "@dan"
name: "Ann"
born: Dec 5, 1975
since:
Jan 10, 2011
brand: "Volvo"
model: "V70"
Property Graph Model
Nodes
• The objects in the graph
• Can have name-value properties
• Can be labeled
Relationships
• Relate nodes by type and direction
• Can have name-value properties
LOVES
LOVES
LIVES WITH
PERSON PERSON
Relational to Graph
Relational Graph
KNOWS
ANDREAS
TOBIAS
MICA
DELIA
Person FriendPerson-Friend
ANDREAS
DELIA
TOBIAS
MICA
Neo4j: All About Patterns
(:Person { name:"Dan"} ) -[:LOVES]-> (:Person { name:"Ann"} )
LOVES
Dan Ann
LABEL PROPERTY
NODE NODE
LABEL PROPERTY
Cypher: Find Patterns
MATCH (:Person { name:"Dan"} ) -[:LOVES]-> (love:Person) RETURN love
LOVES
Dan ?
LABEL
NODE NODE
LABEL PROPERTY ALIAS ALIAS
Demo
Neo4j from Java
Good Old Days
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>2.2.5</version>
</dependency>
Neo4j‘s Java API
GraphDatabaseService db = ...
Node dan= db.createNode(Person);
dan.setProperty("name","Dan");
Relationship rel =
dan.createRelationshipTo(ann,LOVES);
rel.setProperty("how","very");
db.shutdown();
Neo4j is Transactional
GraphDatabaseService db = ...
try (Transaction tx = db.beginTx()) {
Node dan = ...
Node ann = ...
Relationship rel = ...
tx.success();
}
db.shutdown();
Heavy Lifting - Demo
Extend Neo4j Server
Extend Neo4j Server
@Path( "/meta" )
public class MetaInfoResource {
@GET @Produces( MediaType.APPLICATION_JSON )
@Path( "/{node}" )
public Response meta(@PathParam("node") long id,
@Context GraphDatabaseService db) {
Iterable labels = db.getNodeById(id).getLabels();
return Response.status( OK ).entity( labels ).build();
}
}
Cypher from Java
Running Cypher from Java
query =
"MATCH (:Person {name:{name}})-[:LOVES]->(p)
RETURN p.name AS loved";
params = map("name", "Dan");
try (result = db.execute(query, params)) {
for (Map row : result) {
row.get("loved");
}
}
Running Cypher from Java - Remote
url = "http://.../db/data/transaction/commit";
query = "MATCH ... RETURN loved";
params = map("name", "Dan");
r = HTTP.POST(url,"{statements:
[{statement:query, parameters:params}]}")
r.status() == 200
r.content().get("errors") == []
r.content().get("results").get(0) ==
[{"columns":["loved"],"data": [{"row": ["Ann"]}]}]
Connect via JDBC
conn = driver.connect("jdbc:neo4j://localhost:7474");
PreparedStatement ps = conn.prepareStatement("
MATCH (:Person {name:{1}})-[:LOVES]->(loved)
RETURN loved.name as loved");
ps.setLong(1,"Dan");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
rs.getString("loved");
}
Database-Tools, ETL, BI-Tools
JVM Languages
Clojure - neocons
(ns neocons.docs.examples
(:require [clojurewerkz.neocons.rest :as nr]
[clojurewerkz.neocons.rest.cypher :as cy]))
(defn -main
[& args]
(nr/connect! "http://host:port/db/data/")
(let [query
"MATCH (:Person {name:{name}})-[:LOVES]->(loved)
RETURN lover.name as loved"
res (cy/tquery query {:name "Dan"})]
(println res)))
Scala (AnormCypher – Spark)
import org.anormcypher._
import org.apache.spark.graphx._
val dbConn = Neo4jREST("localhost", 7474, "/db/data/")
val q = """MATCH (p1:Page)-[:Link]->(p2)
RETURN id(p1) AS from, id(p2) AS to LIMIT 100000000"""
val r = Cypher(q).apply()(dbConn)
val links = sc.parallelize(r,100).map(
Edge(row[Int]("from").toLong,row[Int]("to").toLong, None))
links.count
Groovy – Batch-Import
@Grab('org.neo4j:neo4j:2.2.5')
import org.neo4j.graphdb.*
batch = BatchInserters.inserter(store,config)
for (line in parseCsv(csv)) {
author = batch.createNode([name:line.author],Labels.Author)
article= batch.createNode(
[title:line.title, date:date],Labels.Article)
batch.createRelationship(author,article, WROTE, NO_PROPS)
}
batch.createDeferredSchemaIndex(Labels.Article)
.on("title").create()
Convenient Object Graph Mapping
Spring Data Neo4j
@NodeEntity
class Person {
@GraphId Long id;
String name;
@Relationship(type="LOVES") Person loved;
}
interface PersonRepository extends GraphRepository<Person> {
@Query("MATCH ... RETURN loved")
Set<Person> findLoved(String person)
}
Spring Data Neo4j
@EnableNeo4jRepositories(basePackages="sample.repositories")
public class MyNeo4jConfiguration extends Neo4jConfiguration {
@Bean public Neo4jServer neo4jServer() {
return new RemoteServer(System.getenv("NEO4J_URL"));
}
@Bean public SessionFactory getSessionFactory() {
return new SessionFactory("sample.domain");
}
}
Spring Data Neo4j
@RelationshipEntity(type="LOVES")
class Love {
@GraphId Long id;
@StartNode Person lover;
@EndNode Person loved;
Date since;
}
Using Neo4j from Java
Demo(s)
The Sky is the Limit
Learn More
Thank You
Questions ? Books!
michael@neo4j.org
@mesirii

More Related Content

PDF
Designing and Building a Graph Database Application – Architectural Choices, ...
PPTX
The openCypher Project - An Open Graph Query Language
PPTX
Relational to Graph - Import
PDF
Neo4j in Depth
PDF
Data modeling with neo4j tutorial
PPTX
Neo4j - graph database for recommendations
PDF
Getting started with Graph Databases & Neo4j
ODP
Graph databases
Designing and Building a Graph Database Application – Architectural Choices, ...
The openCypher Project - An Open Graph Query Language
Relational to Graph - Import
Neo4j in Depth
Data modeling with neo4j tutorial
Neo4j - graph database for recommendations
Getting started with Graph Databases & Neo4j
Graph databases

What's hot (20)

PPT
Hands on Training – Graph Database with Neo4j
PDF
RDBMS to Graph
PPTX
Intro to Neo4j with Ruby
PPTX
Introduction to Graph Databases
PDF
Neo4j Training Cypher
PDF
Introduction to graph databases, Neo4j and Spring Data - English 2015 Edition
PPTX
Graph Databases & OrientDB
PPTX
Performance of graph query languages
PDF
GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
PDF
It's 2017, and I still want to sell you a graph database
PDF
Intro to Neo4j 2.0
PPTX
NoSQL Graph Databases - Why, When and Where
PDF
Graph based data models
PPT
An Introduction to Graph Databases
PDF
How Graph Databases efficiently store, manage and query connected data at s...
PPTX
Windy City DB - Recommendation Engine with Neo4j
PPTX
ETL into Neo4j
PDF
Combine Spring Data Neo4j and Spring Boot to quickl
PPTX
Graph databases
PPTX
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Hands on Training – Graph Database with Neo4j
RDBMS to Graph
Intro to Neo4j with Ruby
Introduction to Graph Databases
Neo4j Training Cypher
Introduction to graph databases, Neo4j and Spring Data - English 2015 Edition
Graph Databases & OrientDB
Performance of graph query languages
GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
It's 2017, and I still want to sell you a graph database
Intro to Neo4j 2.0
NoSQL Graph Databases - Why, When and Where
Graph based data models
An Introduction to Graph Databases
How Graph Databases efficiently store, manage and query connected data at s...
Windy City DB - Recommendation Engine with Neo4j
ETL into Neo4j
Combine Spring Data Neo4j and Spring Boot to quickl
Graph databases
Big Data Analytics 3: Machine Learning to Engage the Customer, with Apache Sp...
Ad

Similar to Using Neo4j from Java (20)

PDF
Neo4j Introduction (for Techies)
PDF
SwampDragon presentation: The Copenhagen Django Meetup Group
PDF
Cypher and apache spark multiple graphs and more in open cypher
PDF
Jump Start into Apache® Spark™ and Databricks
PPTX
Graph Databases in the Microsoft Ecosystem
PDF
Python & Django TTT
PDF
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
PDF
d3sparql.js demo at SWAT4LS 2014 in Berlin
PDF
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
PDF
Neo4j Database and Graph Platform Overview
PDF
Social Data and Log Analysis Using MongoDB
PDF
Spark ETL Techniques - Creating An Optimal Fantasy Baseball Roster
PDF
Jersey
PDF
Migrating from matlab to python
PPTX
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
KEY
PHP Development With MongoDB
KEY
PHP Development with MongoDB (Fitz Agard)
KEY
MongoDB hearts Django? (Django NYC)
PDF
Data access 2.0? Please welcome: Spring Data!
PDF
Scalable web application architecture
Neo4j Introduction (for Techies)
SwampDragon presentation: The Copenhagen Django Meetup Group
Cypher and apache spark multiple graphs and more in open cypher
Jump Start into Apache® Spark™ and Databricks
Graph Databases in the Microsoft Ecosystem
Python & Django TTT
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
d3sparql.js demo at SWAT4LS 2014 in Berlin
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Neo4j Database and Graph Platform Overview
Social Data and Log Analysis Using MongoDB
Spark ETL Techniques - Creating An Optimal Fantasy Baseball Roster
Jersey
Migrating from matlab to python
New Features in Neo4j 3.4 / 3.3 - Graph Algorithms, Spatial, Date-Time & Visu...
PHP Development With MongoDB
PHP Development with MongoDB (Fitz Agard)
MongoDB hearts Django? (Django NYC)
Data access 2.0? Please welcome: Spring Data!
Scalable web application architecture
Ad

More from Neo4j (20)

PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
PDF
Jin Foo - Prospa GraphSummit Sydney Presentation.pdf
PDF
GraphSummit Singapore Master Deck - May 20, 2025
PPTX
Graphs & GraphRAG - Essential Ingredients for GenAI
PPTX
Neo4j Knowledge for Customer Experience.pptx
PPTX
GraphTalk New Zealand - The Art of The Possible.pptx
PDF
Neo4j: The Art of the Possible with Graph
PDF
Smarter Knowledge Graphs For Public Sector
PDF
GraphRAG and Knowledge Graphs Exploring AI's Future
PDF
Matinée GenAI & GraphRAG Paris - Décembre 24
PDF
ANZ Presentation: GraphSummit Melbourne 2024
PDF
Google Cloud Presentation GraphSummit Melbourne 2024: Building Generative AI ...
PDF
Telstra Presentation GraphSummit Melbourne: Optimising Business Outcomes with...
PDF
Hands-On GraphRAG Workshop: GraphSummit Melbourne 2024
PDF
Démonstration Digital Twin Building Wire Management
PDF
Swiss Life - Les graphes au service de la détection de fraude dans le domaine...
PDF
Démonstration Supply Chain - GraphTalk Paris
PDF
The Art of Possible - GraphTalk Paris Opening Session
PPTX
How Siemens bolstered supply chain resilience with graph-powered AI insights ...
PDF
Knowledge Graphs for AI-Ready Data and Enterprise Deployment - Gartner IT Sym...
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Jin Foo - Prospa GraphSummit Sydney Presentation.pdf
GraphSummit Singapore Master Deck - May 20, 2025
Graphs & GraphRAG - Essential Ingredients for GenAI
Neo4j Knowledge for Customer Experience.pptx
GraphTalk New Zealand - The Art of The Possible.pptx
Neo4j: The Art of the Possible with Graph
Smarter Knowledge Graphs For Public Sector
GraphRAG and Knowledge Graphs Exploring AI's Future
Matinée GenAI & GraphRAG Paris - Décembre 24
ANZ Presentation: GraphSummit Melbourne 2024
Google Cloud Presentation GraphSummit Melbourne 2024: Building Generative AI ...
Telstra Presentation GraphSummit Melbourne: Optimising Business Outcomes with...
Hands-On GraphRAG Workshop: GraphSummit Melbourne 2024
Démonstration Digital Twin Building Wire Management
Swiss Life - Les graphes au service de la détection de fraude dans le domaine...
Démonstration Supply Chain - GraphTalk Paris
The Art of Possible - GraphTalk Paris Opening Session
How Siemens bolstered supply chain resilience with graph-powered AI insights ...
Knowledge Graphs for AI-Ready Data and Enterprise Deployment - Gartner IT Sym...

Recently uploaded (20)

PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PPTX
IB Computer Science - Internal Assessment.pptx
PPT
Quality review (1)_presentation of this 21
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
PDF
Mega Projects Data Mega Projects Data
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PDF
Foundation of Data Science unit number two notes
PPTX
Computer network topology notes for revision
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
Database Infoormation System (DBIS).pptx
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
Business Ppt On Nestle.pptx huunnnhhgfvu
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
IB Computer Science - Internal Assessment.pptx
Quality review (1)_presentation of this 21
climate analysis of Dhaka ,Banglades.pptx
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
Mega Projects Data Mega Projects Data
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Data_Analytics_and_PowerBI_Presentation.pptx
IBA_Chapter_11_Slides_Final_Accessible.pptx
Foundation of Data Science unit number two notes
Computer network topology notes for revision
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
Database Infoormation System (DBIS).pptx
STUDY DESIGN details- Lt Col Maksud (21).pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
oil_refinery_comprehensive_20250804084928 (1).pptx

Using Neo4j from Java

  • 1. Neo4j for Java Developers All about the „4j“ Michael.Hunger@Neo4j.org
  • 2. (Michael)-[:WORKS_FOR]->(Neo4j) michael@neo4j.org | @mesirii | github.com/jexp | jexp.de/blog Michael Hunger - Community Caretaker @Neo4j
  • 3. • From Pain to Graph • Graphs Are Everywhere • For once no Java Haters • Demo(s)! • Q&A Today‘s Entertainment
  • 4. Once Upon A Time in Sweden Once Upon a Time in Sweden
  • 6. History of Neo4j • 0.x ... small embeddable persistent graph library • 1.x ... adding indexes, server, first stab of Cypher • 2.x ... ease of use, data-model, optional schema, cost based optimizer, import, Neo4j-Browser • 3.x … binary protocol, bytecode compiled queries, sharding
  • 8. Value from Data Relationships Common Use Cases Internal Applications Master Data Management Network and IT Operations Fraud Detection Customer-Facing Applications Real-Time Recommendations Graph-Based Search Identity and Access Management
  • 9. The Whiteboard Model Is the Physical Model
  • 10. CAR name: "Dan" born: May 29, 1970 twitter: "@dan" name: "Ann" born: Dec 5, 1975 since: Jan 10, 2011 brand: "Volvo" model: "V70" Property Graph Model Nodes • The objects in the graph • Can have name-value properties • Can be labeled Relationships • Relate nodes by type and direction • Can have name-value properties LOVES LOVES LIVES WITH PERSON PERSON
  • 11. Relational to Graph Relational Graph KNOWS ANDREAS TOBIAS MICA DELIA Person FriendPerson-Friend ANDREAS DELIA TOBIAS MICA
  • 12. Neo4j: All About Patterns (:Person { name:"Dan"} ) -[:LOVES]-> (:Person { name:"Ann"} ) LOVES Dan Ann LABEL PROPERTY NODE NODE LABEL PROPERTY
  • 13. Cypher: Find Patterns MATCH (:Person { name:"Dan"} ) -[:LOVES]-> (love:Person) RETURN love LOVES Dan ? LABEL NODE NODE LABEL PROPERTY ALIAS ALIAS
  • 14. Demo
  • 17. Neo4j‘s Java API GraphDatabaseService db = ... Node dan= db.createNode(Person); dan.setProperty("name","Dan"); Relationship rel = dan.createRelationshipTo(ann,LOVES); rel.setProperty("how","very"); db.shutdown();
  • 18. Neo4j is Transactional GraphDatabaseService db = ... try (Transaction tx = db.beginTx()) { Node dan = ... Node ann = ... Relationship rel = ... tx.success(); } db.shutdown();
  • 21. Extend Neo4j Server @Path( "/meta" ) public class MetaInfoResource { @GET @Produces( MediaType.APPLICATION_JSON ) @Path( "/{node}" ) public Response meta(@PathParam("node") long id, @Context GraphDatabaseService db) { Iterable labels = db.getNodeById(id).getLabels(); return Response.status( OK ).entity( labels ).build(); } }
  • 23. Running Cypher from Java query = "MATCH (:Person {name:{name}})-[:LOVES]->(p) RETURN p.name AS loved"; params = map("name", "Dan"); try (result = db.execute(query, params)) { for (Map row : result) { row.get("loved"); } }
  • 24. Running Cypher from Java - Remote url = "http://.../db/data/transaction/commit"; query = "MATCH ... RETURN loved"; params = map("name", "Dan"); r = HTTP.POST(url,"{statements: [{statement:query, parameters:params}]}") r.status() == 200 r.content().get("errors") == [] r.content().get("results").get(0) == [{"columns":["loved"],"data": [{"row": ["Ann"]}]}]
  • 25. Connect via JDBC conn = driver.connect("jdbc:neo4j://localhost:7474"); PreparedStatement ps = conn.prepareStatement(" MATCH (:Person {name:{1}})-[:LOVES]->(loved) RETURN loved.name as loved"); ps.setLong(1,"Dan"); ResultSet rs = ps.executeQuery(); while (rs.next()) { rs.getString("loved"); }
  • 28. Clojure - neocons (ns neocons.docs.examples (:require [clojurewerkz.neocons.rest :as nr] [clojurewerkz.neocons.rest.cypher :as cy])) (defn -main [& args] (nr/connect! "http://host:port/db/data/") (let [query "MATCH (:Person {name:{name}})-[:LOVES]->(loved) RETURN lover.name as loved" res (cy/tquery query {:name "Dan"})] (println res)))
  • 29. Scala (AnormCypher – Spark) import org.anormcypher._ import org.apache.spark.graphx._ val dbConn = Neo4jREST("localhost", 7474, "/db/data/") val q = """MATCH (p1:Page)-[:Link]->(p2) RETURN id(p1) AS from, id(p2) AS to LIMIT 100000000""" val r = Cypher(q).apply()(dbConn) val links = sc.parallelize(r,100).map( Edge(row[Int]("from").toLong,row[Int]("to").toLong, None)) links.count
  • 30. Groovy – Batch-Import @Grab('org.neo4j:neo4j:2.2.5') import org.neo4j.graphdb.* batch = BatchInserters.inserter(store,config) for (line in parseCsv(csv)) { author = batch.createNode([name:line.author],Labels.Author) article= batch.createNode( [title:line.title, date:date],Labels.Article) batch.createRelationship(author,article, WROTE, NO_PROPS) } batch.createDeferredSchemaIndex(Labels.Article) .on("title").create()
  • 32. Spring Data Neo4j @NodeEntity class Person { @GraphId Long id; String name; @Relationship(type="LOVES") Person loved; } interface PersonRepository extends GraphRepository<Person> { @Query("MATCH ... RETURN loved") Set<Person> findLoved(String person) }
  • 33. Spring Data Neo4j @EnableNeo4jRepositories(basePackages="sample.repositories") public class MyNeo4jConfiguration extends Neo4jConfiguration { @Bean public Neo4jServer neo4jServer() { return new RemoteServer(System.getenv("NEO4J_URL")); } @Bean public SessionFactory getSessionFactory() { return new SessionFactory("sample.domain"); } }
  • 34. Spring Data Neo4j @RelationshipEntity(type="LOVES") class Love { @GraphId Long id; @StartNode Person lover; @EndNode Person loved; Date since; }
  • 37. The Sky is the Limit
  • 39. Thank You Questions ? Books! michael@neo4j.org @mesirii

Editor's Notes

  • #5: Digital Asset Management System in 2000 SaaS many users in many countries Two hard use-cases Multi language keyword search Including synonyms / word hierarchies Access Management to Assets for SaaS Scale Tried with many relational DBs JOIN Performance Problems Hierarchies, Networks, Graphs Modeling Problems Data Model evolution No Success, even … With expensive database consultants!
  • #6: Graph Model & API sketched on a napkin Nodes connected by Relationships Just like your conceptual model Implemented network-database in memory Java API, fast Traversals Worked well, but … No persistence, No Transactions Long import / export time from relational storage
  • #7: Evolved to full fledged database in Java With persistence using files + memory mapping Transactions with Transaction Log (WAL) Lucene for fast Node search Founded Company in 2007 Neo4j (REST)-Server Neo4j Clustering & HA Cypher Query Language Today …
  • #8: Graphs are everywhere people, events, locations science, arts politics, history everything is connected there is no disconnected information
  • #15: Presenter Notes - How does one take advantage of data relationships for real-time applications? To take advantage of relationships Data needs to be available as a network of connections (or as a graph) Real-time access to relationship information should be available regardless of the size of data set or number and complexity of relationships The graph should be able to accommodate new relationships or modify existing ones
  • #16: Why ? Because we can! Java is really fast
  • #18: Operations on GDS Beans
  • #20: Creating 100M Nodes, Relationships and Properties in 163s
  • #22: Just an Jax-RS Resource Configured in neo4j-server.properties high performance operations
  • #25: :POST /db/data/transaction/commit {
  • #31: http://jexp.de/blog/2014/10/flexible-neo4j-batch-import-with-groovy/
  • #40: In the near future, many of your apps will be driven by data relationships and not transactions You can unlock value from business relationships with Neo4j