SlideShare a Scribd company logo
Neo4j	Basic	Training
Welcome	everyone	
	
Please	say	hi	to	each	other.	
We'll	spend	the	rest	of	the	day	together.
What	are	we	going	to	learn	today?	
•  Querying	graph	pa;erns	with	Cypher,		
•  Designing	and	implemen@ng	a	graph	database	model	
•  Evolving	an	exis@ng	graph	to	support	new	or	changed	requirements.
•  Intro	to	graphs	and	graph	modeling		
•  Evolving	the	graph	model	
•  Missing	domain	concept	
•  Rela@onship	bundling	
•  Modeling	guidelines	
What	are	we	going	to	do	today?
Op:onal	Modules	
•  Further	evolving	the	graph	model	
•  Specific	rela@onship	types	
•  Refactoring	large	graphs	
•  Mul@ple	models	
•  Your	turn
Thank	you	for	your	@me	
	
Any	other	ques@ons?	
	
Feedback	form:	bit.ly/neo-survey	gives	a	discount
Intro	to	graph	modeling
•  Intro	to	the	property	graph	model	
•  The	airport	dataset	
•  The	modeling	workflow	
•  Load	CSV	data	
What	are	we	going	to	do?
The	labelled	property	graph	
•  Nodes	
•  Rela@onships		
•  Proper@es		
•  Labels	
CAR	
name:	“Dan”	
born:	May	29,	1970	
twi;er:	“@dan”	
name:	“Ann”	
born:		Dec	5,	1975	
since:		
Jan	10,	2011	
brand:	“Volvo”	
model:	“V70”	
PERSON	 PERSON	
LOVES	
LOVES	
LIVES	WITH
CAR	
Property	Graph	Model	Components	
Nodes	
•  Represent	the	objects	in	the	graph	
•  Can	be	labeled	
PERSON	 PERSON
CAR	
Property	Graph	Model	Components	
Nodes	
• Represent	the	objects	in	the	
graph	
• Can	be	labeled	
Rela:onships	
•  Relate	nodes	by	type	and	direc-on	
LOVES	
LOVES	
LIVES	WITH	
PERSON	 PERSON
CAR	
name:	“Dan”	
born:	May	29,	1970	
twi;er:	“@dan”	
name:	“Ann”	
born:		Dec	5,	1975	
since:		
Jan	10,	2011	
brand:	“Volvo”	
model:	“V70”	
Property	Graph	Model	Components	
Nodes	
• Represent	the	objects	in	the	
graph	
•  Can	be	labeled	
Rela:onships	
• Relate	nodes	by	type	and	
direc-on	
Proper:es	
•  Name-value	pairs	that	can	go	on	
nodes	and	rela@onships.	
LOVES	
LOVES	
LIVES	WITH	
PERSON	 PERSON
The	modeling	workflow	
1. Derive the
question
2. Obtain the
data
3. Develop a
model
4. Ingest the
data
5. Query/Prove
our model
The	modeling	workflow	
1. Derive the
question
2. Obtain the
data
3. Develop a
model
4. Ingest the
data
5. Query/Prove
our model
The	Modeling	Workflow
Models
Find	the	most	popular	airports	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
The	flights	dataset
What	data	do	we	have?
Derive	ques:ons	
Is	Airport	A	connected	to	Airport	B?	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Iden:ty	en::es	
Is	Airport	A	connected	to	Airport	B?	
	
airport
Iden:fy	rela:onships	between	en::es	
Is	Airport	A	connected	to	Airport	B?	
	
airport	CONNECTED_TO	airport
It’s	a	graph!	
Is	Airport	A	connected	to	Airport	B?	
	
(airport)-[:CONNECTED_TO]->(airport)
It’s	a	graph!	
Is	Airport	A	connected	to	Airport	B?	
	
(airport)-[:CONNECTED_TO]->(airport)
Labels	
Labels	are	for	categorizing	nodes.
Proper:es	
Proper@es	are	for	defining	a;ributes	of	nodes	or	rela@onships.		
We	need	an	airport	code	to	uniquely	iden@fy	each	airport.
Modeling	different	connec:ons	
Busy	airports	will	have	mul@ple	connec@ons	between		them.	We	can	
model	this	in	different	ways:	
	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Sample	data
Copy	folders	
• import	
• plugins	
from	USB	S:ck	
to	the	default.graphdb	folder		
(or	$NEO4J_HOME)	
	
bit.ly/neo4j-modeling-data	
Prepare	your	Neo4j	graph.db	directory
1.  Start	the	server.	
2.  It	should	be	running	on:	http://localhost:7474		
3.  Log-in	with	default	creden@als		
user:	neo4j	password:	neo4j	
4.  Choose	a	new	password	
We’re	good	to	go!	
	
Make	sure	you’ve	got	Neo4j	running
Find	the	most	popular	airports	
Open	your	browser	to	http://localhost:7474	and	execute	the	following	
command:	
:play	https://guides.neo4j.com/modeling_airports
Play	the	guides	in	your	browser	un:l	you	see...
The	MERGE	command
MERGE	
The	MERGE	command	is	a	combina@on	of	MATCH	and	CREATE.	If	the	pa;ern	
already	exists	then	it	will	return	it;	if	not	it	will	create	it.	
en.wikipedia.org/wiki/Idempotence
MERGE	(las:Airport	{code:	"LAS"})	
RETURN	las	
	
We	can	MERGE	nodes...
...or	rela:onships...	
MATCH	(las:Airport	{code:	"LAS"})	
MATCH	(lax:Airport	{code:	"LAX"})	
MERGE	(las)-[:CONNECTED_TO]->(lax)
...or	both	
MERGE	(las:Airport	{code:	"LAS"})	
MERGE	(lax:Airport	{code:	"LAX"})	
MERGE	(las)-[:CONNECTED_TO]->(lax)	
	
MERGE	(las:Airport	{code:	"LAS"})-[:CONNECTED_TO]->(lax:Airport	
{code:	"LAX"})
Con:nue	playing	the	guide	
Con@nue	the	guide	in	your	browser
The	modeling	workflow
As	an	air	travel	enthusiast	
I	want	to	know	how	airports	are	connected	So	that	I	can	find	the	busiest	ones	
The	modeling	workflow	
MATCH	(origin:Airport	{code:	"LAX"})	
						-[flight:CONNECTED_TO]->	
						(destination:Airport	{code:	"LAS"})	
RETURN	origin,	destination,	flight	
LIMIT	10	
	
CREATE	(lax:Airport	{code:	"LAX"})	
CREATE	(las:Airport	{code:	"LAS"})	
CREATE	(las)-[connection:CONNECTED_TO	{		
				airline:	"WN",	
				flightNumber:	"82",	
				date:	"2008-1-3",	
				departure:	1715,	
				arrival:	1820}]->(lax)	
	
	
|---------+------+------------|	
|		Origin	|	Dest	|	FlightNum		|	
|---------+------+------------|	
|		IAD				|	TPA		|	335								|	
|		IAD				|	TPA		|	3231							|	
|		IND				|	BWI		|	448								|	
|		IND				|	BWI		|	3920							|	
|---------+------+------------|	
	
Is	Airport	A	connected	to	Airport	B?	
(airport)-[:CONNECTED_TO]->(airport)
Modeling	airports	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Nodes	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Labels	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Rela:onships	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Proper:es	
As	an	air	travel	enthusiast	I	want	to	know	how	airports	are	connected	
So	that	I	can	find	the	busiest	ones
Loading	CSV	data
Load	CSV	
A	clause	in	the	Cypher	query	language	that	lets	us	iterate	over	CSV	files	
and	create	graph	structures	based	on	the	data	contained	in	each	row.
Load	CSV	
LOAD	CSV					//	load	csv	data	
WITH	HEADERS	//	optionally	use	first	header	row	as	keys	in	"row"	map	
FROM	"url"			//	file://	URL	relative	to	$NEO4J_HOME/import	or	http://	
AS	row							//	return	each	row	of	the	CSV	as	list	of	strings	or	map	
//	...	rest	of	the	Cypher	statement	...
Load	CSV	
[USING	PERIODIC	COMMIT]	//	optionally	batch	transactions	
LOAD	CSV					//	load	csv	data	
WITH	HEADERS	//	optionally	use	first	header	row	as	keys	in	"row"	map	
FROM	"url"			//	file://	URL	relative	to	$NEO4J_HOME/import	or	http://	
AS	row							//	return	each	row	of	the	CSV	as	list	of	strings	or	map	
[FIELDTERMINATOR	";"]	//	optionally	alt.	delimiter	
//	...	rest	of	the	Cypher	statement	...
Consider	this	CSV	file	
|---------+------+------------|	
|		Origin	|	Dest	|	FlightNum		|	
|---------+------+------------|	
|		IAD				|	TPA		|	335								|	
|		IAD				|	TPA		|	3231							|	
|		IND				|	BWI		|	448								|	
|		IND				|	BWI		|	3920							|	
|---------+------+------------|
Create	nodes	
LOAD	CSV	WITH	HEADERS	FROM	"file:///flights.csv"	AS	row	
CREATE	(:Airport	{code:	row.Origin})	
CREATE	(:Airport	{code:	row.Dest})	
	
|---------+------+------------|	
|		Origin	|	Dest	|	FlightNum		|	
|---------+------+------------|	
|		IAD				|	TPA		|	335								|	
|		IAD				|	TPA		|	3231							|	
|		IND				|	BWI		|	448								|	
|		IND				|	BWI		|	3920							|	
|---------+------+------------|
Create	rela:onships	
LOAD	CSV	WITH	HEADERS	FROM	"file:///flights.csv"	AS	row	
CREATE	(origin:Airport	{code:	row.Origin})	
CREATE	(destination:Airport	{code:	row.Dest})	
CREATE	(origin)-[:CONNECTED_TO	{flightNumber:	row.FlightNum}]->(destination)	
	
|---------+------+------------|	
|		Origin	|	Dest	|	FlightNum		|	
|---------+------+------------|	
|		IAD				|	TPA		|	335								|	
|		IAD				|	TPA		|	3231							|	
|		IND				|	BWI		|	448								|	
|		IND				|	BWI		|	3920							|	
|---------+------+------------|
Find	exis:ng	nodes	and	rela:onships	
LOAD	CSV	WITH	HEADERS	FROM	"file:///flights.csv"	AS	row	
MATCH	(origin:Airport	{code:	row.Origin})	
MATCH	(destination:Airport	{code:	row.Dest})	
MATCH	(origin)-[:CONNECTED_TO	{flightNumber:	row.FlightNum}]->(destination)	
...	
|---------+------+------------|	
|		Origin	|	Dest	|	FlightNum		|	
|---------+------+------------|	
|		IAD				|	TPA		|	335								|	
|		IAD				|	TPA		|	3231							|	
|		IND				|	BWI		|	448								|	
|		IND				|	BWI		|	3920							|	
|---------+------+------------|
Update	exis:ng	nodes	and	rela:onships	
|---------+------+-----------+----------------|	
|		Origin	|	Dest	|	FlightNum	|	UniqueCarrier		|	
|---------+------+-----------+----------------|	
|		IAD				|	TPA		|	335							|	WN													|	
|		IAD				|	TPA		|	3231						|	WN													|	
|		IND				|	BWI		|	448							|	WN													|	
|		IND				|	BWI		|	3920						|	WN													|	
|---------+------+-----------+----------------|	
	
LOAD	CSV	WITH	HEADERS	FROM	"file:///flights.csv"	AS	row	
MATCH	(origin:Airport	{code:	row.Origin})	
MATCH	(destination:Airport	{code:	row.Dest})	
MATCH	(origin)-[c:CONNECTED_TO	{flightNumber:row.FlightNum}]->(destination)	
SET	c.airline	=	row.UniqueCarrier
Idempotently	create	nodes	and	rela:onships	
LOAD	CSV	WITH	HEADERS	FROM	"file:///flights.csv"	AS	row	
MERGE	(origin:Airport	{code:	row.Origin})	
MERGE	(destination:Airport	{code:	row.Dest})	
MERGE	(origin)-[:CONNECTED_TO	{flightNumber:	row.FlightNum}]-
>(destination)	
	
|---------+------+------------|	
|		Origin	|	Dest	|	FlightNum		|	
|---------+------+------------|	
|		IAD				|	TPA		|	335								|	
|		IAD				|	TPA		|	3231							|	
|		IND				|	BWI		|	448								|	
|		IND				|	BWI		|	3920							|	
|---------+------+------------|
Let’s	give	it	a	try	
Con@nue	the	guide	in	your	browser
End	of	Module	
Intro	to	Graph	Modeling	
Ques:ons	?
Missing	domain	concept
What	are	we	going	to	do?	
•  Profile	queries	
•  Introduce	a	missing	concept	in	the	domain	
•  Constraints	and	indexes	
•  Write	our	first	refactoring	query
Start	playing	the	next	guide….	
...if	you	aren’t	playing	it	already	
	
	
:play	http://guides.neo4j.com/modeling_airports/02_flight.html
Profiling	queries
How	do	I	profile	a	query?	
By	prefixing	the	query	with:
EXPLAIN
shows	the	execu@on	plan	without	actually	execu@ng	it	or	returning	any	results.
How	do	I	profile	a	query?	
By	prefixing	the	query	with:
EXPLAIN
shows	the	execu@on	plan	without	actually	execu@ng	it	or	returning	any	results.
PROFILE
executes	the	statement	and	returns	the	results	along	with	profiling	informa@on.
How	do	I	profile	a	query?	
EXPLAIN	
MATCH	(origin:Airport)-[c:CONNECTED_TO]	
					->(destination:Airport)	
WHERE	destination.code	=	"LAS"	
RETURN	origin,	destination,	c	
LIMIT	10
How	do	I	profile	a	query?	
PROFILE	
MATCH	(origin:Airport)-[c:CONNECTED_TO]	
					->(destination:Airport)	
WHERE	destination.code	=	"LAS"	
RETURN	origin,	destination,	c	
LIMIT	10
PROFILE	
MATCH	(origin:Airport)-[c:CONNECTED_TO]	
					->(destination:Airport)	
WHERE	destination.code	=	"LAS"	
RETURN	origin,	destination,	c	
LIMIT	10	
	
	
Anatomy	of	an	execu:on	plan
Opera:ons	
Rows	come	in	
Do	some	work	
Rows	go	out
What’s	our	goal?	
At	a	high	level,	the	goal	is	
simple:	get	the	number	of	db	
hits	down.
What	is	a	database	hit?	
an	abstract	unit	of	storage	
engine	work.		
“
”
Let’s	profile	some	queries	
Con@nue	playing	the	guide	in	your	browser
Introducing	a	missing		
domain	concept
Introducing	a	missing	domain	concept	
Some@mes	we	design	a	model	and	amer	working	with	it	for	a	bit	we	
realise	that	we’ve	missed	an	important	domain	concept.
Introducing	a	missing	domain	concept	
Some@mes	we	design	a	model	and	amer	working	with	it	for	a	bit	we	
realise	that	we’ve	missed	an	important	domain	concept.	
	
In	our	case	we’re	missing	nodes	to	represent	Flights
Introducing	a	missing	domain	concept
Flight	as	a	first	class	ci:zen	
???
Flight	as	a	first	class	ci:zen	
MATCH		(o:Airport)-[:CONNECTED_TO]->(d:Airport)	
MERGE...
Constraints	and	indexes
Unique	Constraints	
We	create	unique	constraints	to:		
•  ensure	uniqueness		
•  allow	fast	lookup	of	nodes	which	match	label-property	pairs.
Unique	Constraints	
We	create	unique	constraints	to:		
•  ensure	uniqueness		
•  allow	fast	lookup	of	nodes	which	match	label-property	pairs.	
	
CREATE	CONSTRAINT	ON	(identifier:Label)	
ASSERT	identifier.property	IS	UNIQUE
This	is	the	first	of	the	refactoring	pa;erns	that	we’ll	encounter	today.	
We	have	this	pa;ern:	
	
(origin)-[:CONNECTED_TO]->(destination)	
And	we’ll	create	a	new	node	using	the	proper@es	of	the	CONNECTED_TO	
rela@onship:	
	
(origin)<-[:ORIGIN]-(flight)-[:DESTINATION]->(destination)	
	
Refactoring:	Derive	node	from	rela:onship
Indexes	
We	create	indexes	to:		
•  allow	fast	lookup	of	nodes	which	match	label-property	pairs.
Indexes	
We	create	indexes	to:		
•  allow	fast	lookup	of	nodes	which	match	label-property	pairs.	
	
CREATE	INDEX	ON	:Label(property)
What	gets	indexed?	
The	following	are	index	backed:	
•  Equality	
•  STARTS	WITH	
•  CONTAINS	
•  ENDS	WITH	
•  Range	searches	
•  (Non-)	existence	checks
How	are	indexes	used	in	neo4j?	
Indexes	are	only	used	to	find	the	star@ng	point	for	queries.		
Use	index	scans	to	look	up	rows	in	
tables	and	join	them	with	rows	
from	other	tables	
Use	indexes	to	find	the	star@ng	
points	for	a	query.		
Relational
Graph
Let’s	get	on	with	the	refactoring	
Con@nue	playing	the	guide	in	your	browser
End	of	Module	
Missing	Concept	
Ques:ons?
Rela:onship	Bundling
Rela:onship	Bundling	
So	far	we’ve	been	wri@ng	queries	from	the	perspec@ve	of	an	air	travel	
enthusiast.		
In	this	sec@on	we’re	going	to	evolve	the	model	based	on	the	needs	of	a	
frequent	traveller	who	wants	to	find	flights	on	a	specific	date.
What	are	we	going	to	do?	
•  Write	a	query	to	book	a	flight	on	a	specific	day	
•  Profile	our	flight	booking	query	
•  Op@mise	our	model	to	deal	with	this	query
Find	a	flight	to	book	
As	a	frequent	traveller	I	want	to	find	flights	from	<origin>	to	
<des@na@on>	on	<date>	So	that	I	can	book	my	business	flight
Start	playing	the	next	guide….	
...if	you	aren’t	playing	it	already	
	
	
:play	http://guides.neo4j.com/modeling_airports/03_flight_booking.html
Bundling	flight	rela:onships
Bundling	flight	rela:onships	by	airport	day	
Searching	for	flights	by	day	is	a	bit	problema@c.	We	have	to	scan	every	
rela@onship	between	origin	and	des@na@on	airports	and	analyse	
proper@es	on	each	flight	to	work	out	which	ones	we’re	interested	in.
Bundling	flight	rela:onships	by	airport	day	
Searching	for	flights	by	day	is	a	bit	problema@c.	We	have	to	scan	every	
rela@onship	between	origin	and	des@na@on	airports	and	analyse	
proper@es	on	each	flight	to	work	out	which	ones	we’re	interested	in.	
We	can	reduce	this	problem	by	bundling	flights	together	by	
AirportDay
Our	current	model
Introducing	AirportDay
Refactoring	to	Airport	Day	
???
Bundling	flight	rela:onships	by	airport	day
Refactoring:	Derive	node	from	property	
This	refactoring	creates	a	new	node	using	the	property	of	an	exis@ng	node.	
We	currently	have	this	pa;ern:	
	
(origin)<-[:ORIGIN]-(flight)-[:DESTINATION]->(destination)	
And	we’ll	create	a	new	node	using	the	date	property	of	the	flight	node:	
	
(origin)-[:HAS_DAY]->(originAirportDay)<-[:ORIGIN]-(flight),	
(destination)-[:HAS_DAY]->(destAirportDay)<-[:DESTINATION]-(flight)
Let’s	get	on	with	the	refactoring	
Over	to	you!
End	of	Module	
Bundling	Rela:onships	
Ques:ons?
Modeling	Guidelines
•  Recap	of	the	Property	Graph	Model	
•  Modeling	choices	
•  Refactorings	
What	are	we	going	to	do?
Nodes,	rela:onships,		
labels,	proper:es
Our	model
Nodes	are	for	things
Labels	for	grouping
Rela:onships	for	structure
Proper:es	for	a]ributes
Modeling	choices
Properties vs.
Relationships
Proper:es	vs	Rela:onships
We	only	need	to	pull	out	a	node	if	we’re	going	to	query	through	it,	
otherwise	a	property	will	suffice.	
	
But	if	we	pull	out	every	single	property	then	we	end	up	with	an	RDF	
model	and	lose	the	benefit	of	the	property	graph	
Proper:es	vs	Rela:onships
Relationship
Granularity
Rela:onship	Granularity
Symmetric
Relationships
Symmetric	rela:onships	
OR
Bidirectional
Relationships
Bidirec:onal	rela:onships
No	need	to	have	the	rela:onship	in	both	direc:ons
Use	single	rela:onship	and	ignore	direc:on	in	queries	
MATCH	(:Person	{name:'Eric'})-[:MARRIED_TO]-(p2)	
RETURN	p2
General vs. Specific
Relationships
General	Rela:onships
General:	Find	flights	on	a	specific	date	
MATCH	(origin:Airport	{code:	"LAS"})-[:HAS_DAY]->(originDay:AirportDay),	
						(originDay)<-[:ORIGIN]-(flight:Flight),	
						(flight)-[:DESTINATION]->(destinationDay),	
						(destinationDay:AirportDay)<-[:HAS_DAY]-(destination:Airport	{code:	"MDW"})	
	
WHERE	originDay.date	=	"2008-1-3"	AND	destinationDay.date	=	"2008-1-3"	
	
RETURN	flight.date,	flight.number,	flight.airline,	flight.departure,	flight.arrival	
	
ORDER	BY	flight.date,	flight.departure
Specific	Rela:onships
Specific:	Find	flights	on	a	specific	date	
MATCH	(origin:Airport	{code:	"LAS"})-[:`2008-1-3`]->(originDay:AirportDay),	
						(originDay)<-[:ORIGIN]-(flight:Flight),	
						(flight)-[:DESTINATION]->(destinationDay),	
						(destinationDay:AirportDay)<-[:`2008-1-3`]-(destination:Airport	{code:	"MDW"})	
	
RETURN	flight.date,	flight.number,	flight.airline,	flight.departure,	flight.arrival	
	
ORDER	BY	flight.date,	flight.departure;
General:	Find	flights	by	year	and	month	
MATCH	(origin:Airport	{code:	"LAS"})-[:HAS_DAY]->(originDay:AirportDay),	
						(originDay)<-[:ORIGIN]-(flight:Flight)	
	
WHERE	originDay.date	STARTS	WITH	"2008-1"	
	
RETURN	flight.date,	flight.number,	flight.airline,	flight.departure,	flight.arrival	
	
ORDER	BY	flight.date,	flight.departure
Specific:	Find	flights	by	year	and	month	
MATCH	(origin:Airport	{code:	"LAS"})	
							-[:`2008-1-3`|:`2008-1-4`|:`2008-1-5`|:`2008-1-6`]->(originDay:AirportDay),	
						(originDay)<-[:ORIGIN]-(flight:Flight)	
	
RETURN	flight.date,	flight.number,	flight.airline,	flight.departure,	flight.arrival	
	
ORDER	BY	flight.date,	flight.departure
Best	of	both	worlds?
Refactorings
Derive	node	from	rela:onship	
(origin)-[:CONNECTED_TO]->(destination)	
	
	
	
(origin)<-[:ORIGIN]-(flight)-[:DESTINATION]->(destination)
Derive	node	from	property	
(origin)<-[:ORIGIN]-(flight)-[:DESTINATION]->(destination)	
	
	
	
(origin)-[:HAS_DAY]->(originAirportDay)<-[:ORIGIN]-(flight),	
(destination)-[:HAS_DAY]->(destAirportDay)<-[:DESTINATION]-(flight)
Derive	rela:onship	from	property	
(airport)-[:HAS_DAY]->(airportDay	{date:	"2008-1-3"})	
	
	
	
(airport)-[:`2008-1-3`]->(airportDay	{date:	"2008-1-3"})
Evolving the Model
Revealing	nodes
Revealing	nodes?	
?
End	of	Module	
Modeling	Guidelines	
Ques:ons	?

More Related Content

KEY
Intro to Neo4j presentation
PDF
Introducing Neo4j
PDF
Intro to Graphs and Neo4j
PDF
Optimizing Your Supply Chain with the Neo4j Graph
PPTX
Intro to Neo4j
PDF
Neo4j Presentation
PDF
Neo4j 4 Overview
PDF
Neo4j Graph Platform Overview, Kurt Freytag, Neo4j
Intro to Neo4j presentation
Introducing Neo4j
Intro to Graphs and Neo4j
Optimizing Your Supply Chain with the Neo4j Graph
Intro to Neo4j
Neo4j Presentation
Neo4j 4 Overview
Neo4j Graph Platform Overview, Kurt Freytag, Neo4j

What's hot (20)

PPTX
Graph databases
PDF
Intro to Neo4j and Graph Databases
PPTX
Intro to Neo4j - Nicole White
PPTX
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
PDF
Graphs for Enterprise Architects
PDF
Introduction to Neo4j
PDF
Introduction to Neo4j for the Emirates & Bahrain
PDF
Intro to Graphs and Neo4j
PDF
Graph database Use Cases
PDF
Workshop - Neo4j Graph Data Science
PPT
Neo4J : Introduction to Graph Database
PDF
Neo4j 4.1 overview
PDF
RDBMS to Graph
PPTX
The Semantic Knowledge Graph
PDF
Intro to Cypher
PDF
Neo4j Fundamentals
PDF
Data Modeling with Neo4j
PPTX
EY + Neo4j: Why graph technology makes sense for fraud detection and customer...
PPTX
NoSQL Graph Databases - Why, When and Where
PDF
Graph based data models
Graph databases
Intro to Neo4j and Graph Databases
Intro to Neo4j - Nicole White
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Graphs for Enterprise Architects
Introduction to Neo4j
Introduction to Neo4j for the Emirates & Bahrain
Intro to Graphs and Neo4j
Graph database Use Cases
Workshop - Neo4j Graph Data Science
Neo4J : Introduction to Graph Database
Neo4j 4.1 overview
RDBMS to Graph
The Semantic Knowledge Graph
Intro to Cypher
Neo4j Fundamentals
Data Modeling with Neo4j
EY + Neo4j: Why graph technology makes sense for fraud detection and customer...
NoSQL Graph Databases - Why, When and Where
Graph based data models
Ad

Similar to Neo4j GraphDay Seattle- Sept19- neo4j basic training (20)

PDF
Data Modeling Tricks for Neo4j
PDF
Neo4j in Depth
PDF
Demo Neo4j - Big Data Paris
PPTX
Neo4j Training Introduction
PDF
GraphQL and Neo4j - Simple and Intelligent Modern Apps
PDF
Introducción a Neo4j
PDF
Introduction to Graphs with Neo4j
PDF
Training Week: Introduction to Neo4j
PDF
Getting started with Graph Databases & Neo4j
PDF
Road to NODES Workshop Series - Intro to Neo4j
PDF
Training di Base Neo4j
PDF
GPT and Graph Data Science to power your Knowledge Graph
PPTX
Graph Data Modeling Best Practices(Eric_Monk).pptx
PDF
Graphs for Data Science and Machine Learning
PDF
RadioBOSS Advanced 7.0.8 Free Download
PDF
Evernote 10.132.4.49891 With Crack free
PDF
Roadmap y Novedades de producto
PDF
Adobe Photoshop 2025 Free crack Download
PDF
Office Tool Plus Free Download (Latest 2025)
PDF
Training Series - Intro to Neo4j
Data Modeling Tricks for Neo4j
Neo4j in Depth
Demo Neo4j - Big Data Paris
Neo4j Training Introduction
GraphQL and Neo4j - Simple and Intelligent Modern Apps
Introducción a Neo4j
Introduction to Graphs with Neo4j
Training Week: Introduction to Neo4j
Getting started with Graph Databases & Neo4j
Road to NODES Workshop Series - Intro to Neo4j
Training di Base Neo4j
GPT and Graph Data Science to power your Knowledge Graph
Graph Data Modeling Best Practices(Eric_Monk).pptx
Graphs for Data Science and Machine Learning
RadioBOSS Advanced 7.0.8 Free Download
Evernote 10.132.4.49891 With Crack free
Roadmap y Novedades de producto
Adobe Photoshop 2025 Free crack Download
Office Tool Plus Free Download (Latest 2025)
Training Series - Intro to Neo4j
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)

DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PPTX
Primary and secondary sources, and history
PDF
oil_refinery_presentation_v1 sllfmfls.pdf
PPTX
2025-08-10 Joseph 02 (shared slides).pptx
PDF
Instagram's Product Secrets Unveiled with this PPT
PPTX
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
PPTX
_ISO_Presentation_ISO 9001 and 45001.pptx
PPTX
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
PPTX
Emphasizing It's Not The End 08 06 2025.pptx
PDF
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
PPTX
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
PPTX
fundraisepro pitch deck elegant and modern
PPTX
Human Mind & its character Characteristics
DOC
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PDF
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
PPTX
Tour Presentation Educational Activity.pptx
PPTX
Tablets And Capsule Preformulation Of Paracetamol
PDF
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
PPTX
The spiral of silence is a theory in communication and political science that...
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
Primary and secondary sources, and history
oil_refinery_presentation_v1 sllfmfls.pdf
2025-08-10 Joseph 02 (shared slides).pptx
Instagram's Product Secrets Unveiled with this PPT
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
_ISO_Presentation_ISO 9001 and 45001.pptx
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
Emphasizing It's Not The End 08 06 2025.pptx
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
fundraisepro pitch deck elegant and modern
Human Mind & its character Characteristics
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
Tour Presentation Educational Activity.pptx
Tablets And Capsule Preformulation Of Paracetamol
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
The spiral of silence is a theory in communication and political science that...

Neo4j GraphDay Seattle- Sept19- neo4j basic training