SlideShare uma empresa Scribd logo
1 de 122
Baixar para ler offline
Neo4j	Fundamentals
Today’s	first	graph

(:Person { name:”Max De Marzi"} )-[:TEACHES]-> (:Database { name:"Neo4j"} )
Logistics
• WIFI-SSID:		IvyRoomGuest			Password:	no	password	
• Install	Neo4j	3.2.1	from	USB	or	from		neo4j.com/download	
• Coffee	break	
• Working	together	today	
• Pair	on	the	exercises	and	help	each	other!	
• Ask	relevant	questions	immediately:	raise	your	hand	if	you	have	problems	
• Keep	larger	questions	to	the	breaks	/	end	
• Use	the	scratch-pad	google	doc:	bit.ly/_fundamentals	
• Join	neo4j.com/slack	and	go	to	the		#training-fundamentals		channel	
• Please	fill	out	the	feedback	form:	bit.ly/neo-survey	(gives	a	discount	code)
What	are	we	going	to	do	today?
• Module	I	 	 Intro	to	graphs	and	Neo4j		
• Module	III	 	 First	steps	in	Cypher	
• Module	III	 	 Hands-on	Cypher	
• Resources
Module	I:	Intro	to	Graphs	and	Neo4j
• Why	graphs?	
• Intro	to	the	property	graph	model	
• Querying	the	graph
Module	I:	Intro	to	Graphs	and	Neo4j
• Why	graphs?	
• Intro	to	the	property	graph	model	
• Querying	the	graph
The	world	is	a	graph	–	everything	is	connected
• people,	places,	events	
• companies,	markets	
• countries,	history,	politics	
• sciences,	art,	teaching	
• technology,	networks,	machines,	

applications,	users	
• software,	code,	dependencies,	

architecture,	deployments	
• criminals,	fraudsters	and	their	behavior
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
Whiteboard	friendliness
Whiteboard	friendliness
Tom Hanks Hugo Weaving
Cloud Atlas
The Matrix
Lana
Wachowski
ACTED_IN
ACTED_IN ACTED_IN
DIRECTED
DIRECTED
Whiteboard	friendliness
name: Tom Hanks
born: 1956
title: Cloud Atlas
released: 2012
title: The Matrix
released: 1999
name: Lana Wachowski
born: 1965
ACTED_IN
roles: Zachry
ACTED_IN
roles: Bill Smoke
DIRECTED
DIRECTED
ACTED_IN
roles: Agent Smith
name: Hugo Weaving
born: 1960
Person
Movie
Movie
Person Director
ActorPerson Actor
Whiteboard	friendliness
Module	I:	Intro	to	Graphs	and	Neo4j
• Why	graphs?	
• Intro	to	the	property	graph	model	
• Querying	the	graph
Neo4j	Fundamentals
• Nodes
• Relationships
• Properties
• Labels
CAR
Property	Graph	Model	Components
Nodes	
• Represent	the	objects	in	the	graph	
• Can	be	labeled
PERSON PERSON
CAR
DRIVES
Property	Graph	Model	Components
Nodes	
•Represent	the	objects	in	the	graph	
•Can	be	labeled	
Relationships	
• Relate	nodes	by	type	and	direction
LOVES
LOVES
LIVES	WITH
OW
NS
PERSON PERSON
CAR
DRIVES
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	Components
Nodes	
•Represent	the	objects	in	the	graph	
•Can	be	labeled	
Relationships	
•Relate	nodes	by	type	and	direction	
Properties	
• Name-value	pairs	that	can	go	on	
nodes	and	relationships.
LOVES
LOVES
LIVES	WITH
OW
NS
PERSON PERSON
Exercise:	Graphs	are	all	around	us
Can you identify nodes and relationships in the room?
Summary	of	the	graph	building	blocks
• Nodes	-	Entities	and	complex	value	types	
• Relationships	-	Connect	entities	and	structure	domain	
• Properties	-	Entity	attributes,	relationship	qualities,	metadata	
• Labels	-	Group	nodes	by	role
Module	I:	Intro	to	Graphs	and	Neo4j
• Why	graphs?	
• Intro	to	the	property	graph	model	
• Querying	the	graph
A	pattern	matching	query	language	made	for	graphs
21
Cypher
22
• Declarative	
• Expressive	
• Pattern	Matching
Cypher
Pattern	in	our	Graph	Model
LOVES
Dan Ann
NODE NODE
Relationship
Cypher:	Express	Graph	Patterns
												(:Person	{	name:"Dan"}	)	-[:LOVES]->	(:Person	{	name:"Ann"}	)	
LOVES
Dan Ann
LABEL PROPERTY
NODE NODE
LABEL PROPERTY
Relationship
Cypher:	CREATE	Graph	Patterns
CREATE	(:Person	{	name:"Dan"}	)	-[:LOVES]->	(:Person	{	name:"Ann"}	)	
LOVES
Dan Ann
LABEL PROPERTY
NODE NODE
LABEL PROPERTY
Relationship
Cypher:	MATCH	Graph	Patterns
			MATCH	(:Person	{	name:"Dan"}	)	-[:LOVES]->	(	whom	)	RETURN	whom
LOVES
Dan ?
VARIABLE
NODE NODE
LABEL PROPERTY
Relationship
Module	II:	First	steps	in	Cypher
• ASCII-Art	
• Demo	
• Constraints	
• Let's	graph	our	group!
Module	II:	First	steps	in	Cypher	
We	will	learn	how	to:
• represent	nodes	and	relationships	in	Cypher	
• create	and	find	nodes	
• add	properties	
• use	constraints	and	create	nodes	uniquely	
• create	relationships	
• find	patterns	
• delete	data
Ascii	Art:	Nodes
()	or	(n)	
• Surrounded	with	parentheses	
• Use	an	alias	to	refer	to	our	node	later	
(n:Label1)	
• Specify	a	Label,	starts	with	a		colon	:	
• Group	nodes	by	roles	or	types,	think	of	labels	as	tags	
(n:Label	{prop:	'value'})	
• Nodes	can	have	properties
Ascii	Art:	Relationships
-->	or	-[r:TYPE]->	
• Wrapped	with	hyphens	&	square	brackets	
• Like	labels,	a	relationship	type	starts	with	a	colon	:	
<	>	Specify	the	direction	of	the	relationship	
-[:KNOWS	{since:	2010}]->	
• Relationships	can	have	properties	too!
Ascii	Art:	Relationships
(n:Label	{prop:'value'})-[:TYPE]->(m:Label)	
• mini	graph	examples	that	we	want	to	search	for	
• use	variables	for	later	use	
(p1:Person	{name:'Alice'})-[:KNOWS]->(p2:Person	{name:'Bob')
Module	II:	First	steps	in	Cypher
• ASCII-Art	
• Demo	
• Constraints	
• Let's	graph	our	group!
CREATE	a	person	node	within	the	graph	to	represent	yourself!









Label	of	:Person	
Property	:name	should	be	'My	Name'	
Let's	try	it	-	CREATE	myself!
CREATE	statement:	
CREATE	(p:Person	{name:	'My	Name'})

RETURN	p;	
Properties	are	stored	as	key-value	pairs	{key:'value'}	
Welcome	to	the	graph
CREATE	(p:Person	{name:	'My	Name'})

RETURN	p;



Then	run	the	following	query	
MATCH	(p:Person	{name:	'My	Name'})

RETURN	p



OOOPS!	I	created	two	of	me,	that's	not	good.
Let’s	try	running	the	create	statement	again
Module	II:	First	steps	in	Cypher
• ASCII-Art	
• Demo	
• Constraints	
• Let's	graph	our	group!
Unique	Constraints
We	create	unique	constraints	to:		
• ensure	uniqueness		
• allow	fast	lookup	of	nodes	which	match	label-property	pairs.
We	create	unique	constraints	to:		
• ensure	uniqueness		
• allow	fast	lookup	of	nodes	which	match	label-property	pairs.	


CREATE	CONSTRAINT	ON	(label:Label)

ASSERT	label.property	IS	UNIQUE
Unique	Constraints
Let’s	create	a	constraint	on	:Person(name):

CREATE	CONSTRAINT	ON	(p:Person)		
ASSERT	p.name	IS	UNIQUE;
Creating	a	constraint
Let’s	create	a	constraint	on	:Person(name):

CREATE	CONSTRAINT	ON	(p:Person)		
ASSERT	p.name	IS	UNIQUE;	


Unable	to	create	CONSTRAINT	ON	(	person:Person	)	ASSERT	person.name	IS	UNIQUE:

Multiple	nodes	with	label	`Person`	have	property	`name`	=	'My	Name':

		node(292)

		node(293)



Oops!	Our	data	violates	the	constraint	we’re	trying	to	create.
Creating	a	constraint
Creating	a	constraint
We’ll	first	get	rid	of	all	the	nodes	we’ve	created:	
MATCH	(n)		
DETACH	DELETE	n;	


And	create	the	constraint	again:



CREATE	CONSTRAINT	ON	(p:Person)		
ASSERT	p.name	IS	UNIQUE;	


Module	II:	First	steps	in	Cypher
• ASCII-Art	
• Demo	
• Constraints	
• Let's	graph	our	group!
Let's	do	it	together
• Let’s	create	a	graph	of	our	group	together!	
• Open	your	browser	to	http://l.neo4j.org/trainer	
• And	type	along	with	me.	
• Don't	be	afraid,	this	is	just	a	sandbox	in	a	playground.	


CREATE	statement:

CREATE	(p:Person	{name:	'Your	Name'})

RETURN	p



Let's	find	ourselves:	CREATE	->	MATCH	
MATCH	(p:Person	{name:	'Your	Name'})	
RETURN	p;	
Your	turn:	CREATE	a	node	for	yourself
SET	and	update	properties
Find	yourself	and	SET	your	city	as	a	property.	
MATCH	(p:Person	{name:	'Your	Name'})	
SET	p.city	=	'Your	City'	
RETURN	p;
Let's	create	ourselves	twice.	What	happens	now?	
CREATE	(p:Person	{name:	'Your	Name'})	
MERGEto	the	rescue:	
• MATCHes	the	whole	pattern	to	find	it	
• If	not	found	CREATE	the	pattern	
• Relies	on	constraint	for	strong	guarantees	
MERGE	(p:Person	{name:	'Your	Name'})	
RETURN	p	
MERGE	-	Find	Or	Create
Most	challenging	task	of	the	course:	

Ask	your	right	neighbor	for	their	name.

Find	the	pair	of	you:

MATCH	(p1:Person	{name:	'Your	Name'})

MATCH	(p2:Person	{name:	'Your	Neighbor'})

RETURN	p1,	p2;	
Or	in	one	statement:	
MATCH	(p1:Person	{name:	'Your	Name'}),

						(p2:Person	{name:	'Your	Neighbor'})	
RETURN	p1,	p2;	
Creating	relationships
Create	a	relationship	between	you	and	your	neighbor:

MATCH	(p1:Person	{name:	'Your	Name'})	
MATCH	(p2:Person	{name:	'Your	Neighbor'})	
CREATE	(p1)-[:KNOWS]->(p2);	
CREATEing	relationships
To	avoid	duplicate	relationships,	use	MERGE	
MERGE	(p1:Person	{name:	'Your	Name'})

MERGE	(p2:Person	{name:	'Your	Neighbor'})

MERGE	(p1)-[:KNOWS]->(p2);	
Relationship	is	created	uniquely	by	
• type	
• direction	(can	be	left	off)	
• properties	
MERGEing	relationships
Let's	clean	up	and	delete	ourselves	
MATCH	(p:Person	{name:	'Your	Name'})

DELETE	p;	
Oops!	We	can’t	delete	a	node	that	still	has	relationships	attached.	We	
need	to	delete	those	as	well.	
Cleaning	up
Let's	clean	up	and	delete	ourselves	
MATCH	(p:Person	{name:	'Your	Name'})

DELETE	p;	
Oops!	We	can’t	delete	a	node	that	still	has	relationships	attached.	We	
need	to	delete	those	as	well.	


MATCH	(p:Person	{name:	'Your	Name'})	
DETACH	DELETE	p;	
Cleaning	up
Open	these	in	your	browser.	They’ll	be	useful	for	the	rest	of	the	session:	
● Cypher	Reference	Card

http://neo4j.com/docs/cypher-refcard/	
● Neo4j	Developer	Pages		 

http://neo4j.com/developer/cypher	
● Neo4j	Documentation		 	 

http://neo4j.com/docs	
Useful	resources	for	learning	Cypher
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
We	will	learn	how	to
• represent	nodes	and	relationships	in	Cypher	
• create	and	find	nodes	
• add	properties	
• use	constraints	and	create	nodes	uniquely	
• create	relationships	
• find	patterns	
• delete	data
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
1. Start	the	server.	
2. It	should	be	running	on:	http://localhost:7474		
3. Log-in	with	default	credentials		
user:	neo4j	password:	neo4j	
4. Choose	a	new	password	
We’re	good	to	go!	
Make	sure	you’ve	got	Neo4j	running
:play	movies
Type	the	following	command	into	the	query	editor:



:play	movies
:play	movies
Type	the	following	command	into	the	query	editor:



:play	movies
• Change	node	colors	
• Change	which	node	property	is	displayed	
• Run	queries	with	CMD	(CTRL)	+	Enter	
• Insert	new	line	with	SHIFT	+	Enter	
• Expand	the	query	bar	with	ESC	
• Double-click	a	node	and	see	what	happens!	
• Use	:clear	to	clear	past	results	
• CMD	(CTRL)	+	Up	Arrow	to	scroll	through	past	queries
Neo4j	Browser	101
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
Cypher	is	just	ASCII	Art
Nodes
Nodes	are	drawn	with	parentheses.

()
Relationships
Relationships	are	drawn	with	square	brackets.

[]
Patterns
Patterns	are	drawn	by	connecting	nodes	and	relationships	with	hyphens,	
optionally	specifying	a	direction	with	>	and	<	signs.



()-[]-()	
()-[]->()	
()<-[]-()
The	components	of	a	Cypher	query
MATCH	(m:Movie)

RETURN	m



MATCH	and	RETURN	are	Cypher	keywords

m	is	a	variable

:Movie	is	a	node	label
The	components	of	a	Cypher	query
MATCH	(p:Person)-[r:ACTED_IN]->(m:Movie)

RETURN	p,	r,	m



MATCH	and	RETURN	are	Cypher	keywords

p,r,	and	m	are	variables

:Movie	is	a	node	label

:ACTED_IN	is	a	relationship	type
The	components	of	a	Cypher	query
MATCH	path	=	(:Person)-[:ACTED_IN]->(:Movie)

RETURN	path



MATCH	and	RETURN	are	Cypher	keywords

path	is	a	variable

:Movie	is	a	node	label

:ACTED_IN	is	a	relationship	type
MATCH	(m:Movie)

RETURN	m
Graph	versus	Tabular	results
MATCH	(m:Movie)

RETURN	m.title,	m.released



Properties	are	accessed	with	{variable}.{property_key}	
Graph	versus	Tabular	results
Case	sensitive



Node	labels	
Relationship	types	
Property	keys
Case	insensitive



Cypher	keywords

Case	sensitivity
Case	sensitive



:Person	
:ACTED_IN	
name
Case	insensitive



MaTcH	
return	


Case	sensitivity
Cypher:	The	Basics
Type	the	following	command	into	the	query	editor:



:play	http://guides.neo4j.com/fundamentals/cypher_the_basics.html
Follow	the	guides	in	your	browser	until	you	see...
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
Aggregates
Aggregate	queries	in	Cypher	are	a	little	bit	different	than	in	SQL	as	we	
don’t	need	to	specify	a	grouping	key.
Aggregates
We	implicitly	group	by	any	non	aggregate	fields	in	the	RETURN	
statement.

//	implicitly	groups	by	p.name

MATCH	(p:Person)-[:ACTED_IN]->(m:Movie)

RETURN	p.name,	count(*)	AS	movies
Other	aggregate	functions
There	are	other	aggregate	functions	as	well.	



You	can	see	the	full	list	on	the	Cypher	refcard:

neo4j.com/docs/cypher-refcard/current/
Continue	with	the	guide
Continue	with	the	guide	in	your	browser
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
:schema
Type	the	following	command	into	the	query	editor:



:schema
There	are	three	types	of	unique	constraints:	
• Unique	node	property	constraint
Unique	Constraints
There	are	three	types	of	unique	constraints:	
• Unique	node	property	constraint	


CREATE	CONSTRAINT	ON	(label:Label)

ASSERT	label.property	IS	UNIQUE
Unique	Constraints
There	are	three	types	of	unique	constraints:	
• Unique	node	property	constraint	
• Node	property	existence	constraint
Unique	Constraints
There	are	three	types	of	unique	constraints:	
• Unique	node	property	constraint	
• Node	property	existence	constraint	
CREATE	CONSTRAINT	ON	(label:Label)

ASSERT	EXISTS(label.name)
Unique	Constraints
There	are	three	types	of	unique	constraints:	
• Unique	node	property	constraint	
• Node	property	existence	constraint	
• Relationship	property	existence	constraint
Unique	Constraints
There	are	three	types	of	unique	constraints:	
• Unique	node	property	constraint	
• Node	property	existence	constraint	
• Relationship	property	existence	constraint	
CREATE	CONSTRAINT	ON	()-[rel:REL_TYPE]->()

ASSERT	EXISTS(rel.name)
Unique	Constraints
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	are	these	fast	lookups?
The	following	predicates	use	indexes:	
• Equality	
• STARTS	WITH	
• CONTAINS	
• ENDS	WITH	
• Range	searches	
• (Non-)	existence	checks
How	are	indexes	used	in	Neo4j?
Indexes	are	only	used	to	find	the	starting	points	for	queries.	
Use	index	scans	to	look	up	rows	in	
tables	and	join	them	with	rows	
from	other	tables
Use	indexes	to	find	the	starting	
points	for	a	query.	
Relational Graph
Cypher:	The	Basics
Type	the	following	command	into	the	query	editor:



:play	http://guides.neo4j.com/fundamentals/cypher_constraints.html
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
The	CREATE	Clause
CREATE	(m:Movie	{title:'Mystic	River',	released:2003})	
RETURN	m
The	SET	Clause
MATCH	(m:Movie	{title:	'Mystic	River'})	
SET	m.tagline	=	'We	bury	our	sins	here,	Dave.	We	wash	them	clean.'		
RETURN	m
The	CREATE	Clause
MATCH	(m:Movie	{title:	'Mystic	River'})	
MATCH	(p:Person	{name:	'Kevin	Bacon'})	
CREATE	(p)-[r:ACTED_IN	{roles:	['Sean']}]->(m)	
RETURN	p,	r,	m
The	MERGE	Clause
MERGE	(p:Person	{name:	'Tom	Hanks'})	
RETURN	p
The	MERGE	Clause
MERGE	(p:Person	{name:	'Tom	Hanks',	oscar:	true})	
RETURN	p
The	MERGE	Clause
MERGE	(p:Person	{name:	'Tom	Hanks',	oscar:	true})	
RETURN	p



There	is	not	a	:Person	node	with	name:'Tom	Hanks'	and	oscar:true	in	the	
graph,	but	there	is	a	:Person	node	with	name:'Tom	Hanks'.	



What	do	you	think	will	happen	here?
The	MERGE	Clause
MERGE	(p:Person	{name:	'Tom	Hanks'})	
SET	p.oscar	=	true	
RETURN	p
The	MERGE	Clause
MERGE	(p:Person	{name:	'Tom	Hanks'})-[:ACTED_IN]	
							->(m:Movie	{title:	'The	Terminal'})	
RETURN	p,	m
The	MERGE	Clause
MERGE	(p:Person	{name:	'Tom	Hanks'})-[:ACTED_IN]	
							->(m:Movie	{title:	'The	Terminal'})	
RETURN	p,	m	


There	is	not	a	:Movie	node	with	title:"The	Terminal"	in	the	graph,	but	there	
is	a	:Person	node	with	name:"Tom	Hanks".	



What	do	you	think	will	happen	here?
MERGE	(p:Person	{name:	'Tom	Hanks'})	
MERGE	(m:Movie	{title:	'The	Terminal'})	
MERGE	(p)-[r:ACTED_IN]->(m)	
RETURN	p,	r,	m
The	MERGE	Clause
MERGE	(p:Person	{name:	'Your	Name'})	
ON	CREATE	SET	p.created	=	timestamp(),	p.updated	=	0	
ON	MATCH	SET	p.updated	=	p.updated	+	1	
RETURN	p.created,	p.updated;
ON	CREATE	and	ON	MATCH
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
Clauses
Cypher	clauses	should	be	written	in	ALL	CAPS	and	on	their	own	line.



MATCH	...

WHERE	...

RETURN	...
Functions
Functions	should	be	written	in	lowerCamelCase.



MATCH	path	=	allShortestPaths()	...

WHERE	size(nodes(path))	...	

RETURN	...
Keywords
Keywords	should	be	written	in	ALL	CAPS	but	don’t	need	to	go	on	their	
own	line.



MATCH	...

RETURN	collect(DISTINCT	n)
Labels
Labels	are	written	in	UpperCamelCase.



CREATE(n:Person)

CREATE(n:GraphDatabase)

CREATE(n:VeryDescriptiveLabel)
Relationship	Types
Relationships	are	written	in	UPPERCASE_WITH_UNDERSCORES	(to	
separate	words).



CREATE(n)-[:LOVES]->(m)

CREATE(n)-[:REALLY_LOVES]->(m)

CREATE(n)-[:IS_IN_LOVE_WITH]->(m)
Properties	are	written	in	lowerCamelCase.



CREATE(n)

SET	n.name	=	'Dave'



CREATE(n)

SET	n.firstName	=	'Dave'



CREATE(n)

SET	n.fullName	=	'Dave	Gordon'
Properties
Module	III:	Hands-on	with	Cypher
• Setup	
• Cypher	basics	
• Aggregates	
• Constraints	and	indexes	
• Write	queries	
• Style	and	modeling	conventions	
• Modeling	exercise:	Movie	genres
The	age	old	question:	should	we	model	them	as	properties	or	as	nodes?



Adding	movie	genres
vs
MATCH	(m:Movie	{title:	'The	Matrix'})

SET	m.genre	=	['Action',	'Sci-Fi']

RETURN	m
Genres	as	properties
MATCH	(m:Movie	{title:	'Mystic	River'})

SET	m.genre	=	['Action',	'Mystery']

RETURN	m	




Genres	as	properties
Accessing	a	movie’s	genres	is	quick	and	easy.	
MATCH	(m:Movie	{title:"The	Matrix"})

RETURN	m.genre;
The	good	side	of	properties
Finding	movies	that	share	genres	is	painful	and	we	have	a	disconnected	
pattern	in	the	MATCH	clause	-	a	sure	sign	you	have	a	modeling	issue.	
MATCH	(m1:Movie),	(m2:Movie)

WHERE	any(x	IN	m1.genre	WHERE	x	IN	m2.genre)

AND	m1	<>	m2

RETURN	m1,	m2;
The	bad	side	of	properties
MATCH	(m:Movie	{title:"The	Matrix"})

MERGE	(action:Genre	{name:"Action"})

MERGE	(scifi:Genre	{name:"Sci-Fi"})

MERGE	(m)-[:IN_GENRE]->(action)

MERGE	(m)-[:IN_GENRE]->(scifi)	




Genres	as	nodes
MATCH	(m:Movie	{title:"Mystic	River"})

MERGE	(action:Genre	{name:"Action"})

MERGE	(mystery:Genre	{name:"Mystery"})

MERGE	(m)-[:IN_GENRE]->(action)

MERGE	(m)-[:IN_GENRE]->(mystery)
Genres	as	nodes
Finding	movies	that	share	genres	is	a	natural	graph	pattern.	
MATCH	(m1:Movie)-[:IN_GENRE]->(g:Genre),

						(m2:Movie)-[:IN_GENRE]->(g)

RETURN	m1,	m2,	g
The	good	side	of	nodes
Accessing	the	genres	of	movies	requires	a	bit	more	typing.	
MATCH	(m:Movie	{title:"The	Matrix"}),

						(m)-[:IN_GENRE]->(g:Genre)

RETURN	g.name;
The	(not	too)	bad	side	of	nodes
Add	summary	slide!
Thank	you	for	your	time!

Please	help	us	improve:	bit.ly/neo-survey	.	
A	filled-out	survey	gives	you	discount	on	your	next	Neo4j	
class!

Mais conteúdo relacionado

Mais procurados

Intro to Cypher
Intro to CypherIntro to Cypher
Intro to CypherNeo4j
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4jNeo4j
 
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic trainingNeo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic trainingNeo4j
 
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data ScienceGet Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data ScienceNeo4j
 
Boost Your Neo4j with User-Defined Procedures
Boost Your Neo4j with User-Defined ProceduresBoost Your Neo4j with User-Defined Procedures
Boost Your Neo4j with User-Defined ProceduresNeo4j
 
The Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewThe Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewNeo4j
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4jjexp
 
Intro to Neo4j - Nicole White
Intro to Neo4j - Nicole WhiteIntro to Neo4j - Nicole White
Intro to Neo4j - Nicole WhiteNeo4j
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph DatabasesMax De Marzi
 
Neo4j Presentation
Neo4j PresentationNeo4j Presentation
Neo4j PresentationMax De Marzi
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageNeo4j
 
Full Stack Graph in the Cloud
Full Stack Graph in the CloudFull Stack Graph in the Cloud
Full Stack Graph in the CloudNeo4j
 
NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jTobias Lindaaker
 
Neo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 OverviewNeo4j
 
Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022Neo4j
 
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures LibraryAPOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Libraryjexp
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesNeo4j
 
Training Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL LibraryTraining Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL LibraryNeo4j
 

Mais procurados (20)

Intro to Cypher
Intro to CypherIntro to Cypher
Intro to Cypher
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
 
Neo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic trainingNeo4j GraphDay Seattle- Sept19- neo4j basic training
Neo4j GraphDay Seattle- Sept19- neo4j basic training
 
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data ScienceGet Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
Get Started with the Most Advanced Edition Yet of Neo4j Graph Data Science
 
Boost Your Neo4j with User-Defined Procedures
Boost Your Neo4j with User-Defined ProceduresBoost Your Neo4j with User-Defined Procedures
Boost Your Neo4j with User-Defined Procedures
 
The Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewThe Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j Overview
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
 
Intro to Neo4j - Nicole White
Intro to Neo4j - Nicole WhiteIntro to Neo4j - Nicole White
Intro to Neo4j - Nicole White
 
Introduction to Graph Databases
Introduction to Graph DatabasesIntroduction to Graph Databases
Introduction to Graph Databases
 
Neo4j Presentation
Neo4j PresentationNeo4j Presentation
Neo4j Presentation
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Full Stack Graph in the Cloud
Full Stack Graph in the CloudFull Stack Graph in the Cloud
Full Stack Graph in the Cloud
 
NOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4jNOSQLEU - Graph Databases and Neo4j
NOSQLEU - Graph Databases and Neo4j
 
Neo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j Drivers Best Practices
Neo4j Drivers Best Practices
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 Overview
 
Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022
 
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures LibraryAPOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
APOC Pearls - Whirlwind Tour Through the Neo4j APOC Procedures Library
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and Ontologies
 
Training Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL LibraryTraining Series: Build APIs with Neo4j GraphQL Library
Training Series: Build APIs with Neo4j GraphQL Library
 

Semelhante a Neo4j Fundamentals

I set workshop (2-5 july 2012)day2
I set workshop (2-5 july 2012)day2I set workshop (2-5 july 2012)day2
I set workshop (2-5 july 2012)day2I-SET
 
Curating activism workshop 1
Curating activism workshop 1Curating activism workshop 1
Curating activism workshop 1Rodric Yates
 
Site building preview - Drupal training
Site building preview - Drupal trainingSite building preview - Drupal training
Site building preview - Drupal trainingdropsolid
 
Introduction to Drupal Content Management System
Introduction to Drupal Content Management SystemIntroduction to Drupal Content Management System
Introduction to Drupal Content Management SystemMario Hernandez
 
Introduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridIntroduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridPhilip Johnson
 
WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...
WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...
WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...GoLeanSixSigma.com
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impactCisco DevNet
 
Towards an Agile approach to building application profiles
Towards an Agile approach to building application profilesTowards an Agile approach to building application profiles
Towards an Agile approach to building application profilesPaul Walk
 
O365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard Duijts
O365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard DuijtsO365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard Duijts
O365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard DuijtsNCCOMMS
 
Accelerate Innovation and Digital Transformation – How Neo4j Can Help
Accelerate Innovation and Digital Transformation – How Neo4j Can HelpAccelerate Innovation and Digital Transformation – How Neo4j Can Help
Accelerate Innovation and Digital Transformation – How Neo4j Can HelpNeo4j
 
NSTIC IDESG Functional Requirements status report from FMO
NSTIC IDESG Functional Requirements status report from FMONSTIC IDESG Functional Requirements status report from FMO
NSTIC IDESG Functional Requirements status report from FMOJames Bryce Clark
 
Leernetwerk cloud praktoraat engels
Leernetwerk cloud praktoraat engelsLeernetwerk cloud praktoraat engels
Leernetwerk cloud praktoraat engelsGuidovanDijk7
 
Neo4j Innovation Lab - Accelerate Innovation through Graph Thinking
Neo4j Innovation Lab - Accelerate Innovation through Graph ThinkingNeo4j Innovation Lab - Accelerate Innovation through Graph Thinking
Neo4j Innovation Lab - Accelerate Innovation through Graph ThinkingNeo4j
 
Hithai Shree.J and Varsha.R.pptx
Hithai Shree.J and Varsha.R.pptxHithai Shree.J and Varsha.R.pptx
Hithai Shree.J and Varsha.R.pptxssuser22b2ec
 
Powerpoint dropbox
Powerpoint dropboxPowerpoint dropbox
Powerpoint dropboxxristou
 
Dropbox: Building Business Through Lean Startup Principles
Dropbox: Building Business Through Lean Startup PrinciplesDropbox: Building Business Through Lean Startup Principles
Dropbox: Building Business Through Lean Startup PrinciplesVishal Kumar
 
Other internet services
Other internet servicesOther internet services
Other internet servicesslavicivan
 

Semelhante a Neo4j Fundamentals (20)

I set workshop (2-5 july 2012)day2
I set workshop (2-5 july 2012)day2I set workshop (2-5 july 2012)day2
I set workshop (2-5 july 2012)day2
 
Curating activism workshop 1
Curating activism workshop 1Curating activism workshop 1
Curating activism workshop 1
 
Site building preview - Drupal training
Site building preview - Drupal trainingSite building preview - Drupal training
Site building preview - Drupal training
 
Introduction to Drupal Content Management System
Introduction to Drupal Content Management SystemIntroduction to Drupal Content Management System
Introduction to Drupal Content Management System
 
Introduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridIntroduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart Grid
 
WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...
WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...
WEBINAR: 5 Ways to Engage Yellow Belts in Applying Their Skills After Certi...
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impact
 
Towards an Agile approach to building application profiles
Towards an Agile approach to building application profilesTowards an Agile approach to building application profiles
Towards an Agile approach to building application profiles
 
O365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard Duijts
O365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard DuijtsO365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard Duijts
O365Con19 - 7 Key Steps to Help Your Teams to Love Office 365 - Gerard Duijts
 
Accelerate Innovation and Digital Transformation – How Neo4j Can Help
Accelerate Innovation and Digital Transformation – How Neo4j Can HelpAccelerate Innovation and Digital Transformation – How Neo4j Can Help
Accelerate Innovation and Digital Transformation – How Neo4j Can Help
 
NSTIC IDESG Functional Requirements status report from FMO
NSTIC IDESG Functional Requirements status report from FMONSTIC IDESG Functional Requirements status report from FMO
NSTIC IDESG Functional Requirements status report from FMO
 
Conole edinburgh
Conole edinburghConole edinburgh
Conole edinburgh
 
Leernetwerk cloud praktoraat engels
Leernetwerk cloud praktoraat engelsLeernetwerk cloud praktoraat engels
Leernetwerk cloud praktoraat engels
 
Neo4j Innovation Lab - Accelerate Innovation through Graph Thinking
Neo4j Innovation Lab - Accelerate Innovation through Graph ThinkingNeo4j Innovation Lab - Accelerate Innovation through Graph Thinking
Neo4j Innovation Lab - Accelerate Innovation through Graph Thinking
 
Hithai Shree.J and Varsha.R.pptx
Hithai Shree.J and Varsha.R.pptxHithai Shree.J and Varsha.R.pptx
Hithai Shree.J and Varsha.R.pptx
 
DOD Presentation V2
DOD Presentation V2DOD Presentation V2
DOD Presentation V2
 
Powerpoint dropbox
Powerpoint dropboxPowerpoint dropbox
Powerpoint dropbox
 
Dropbox: Building Business Through Lean Startup Principles
Dropbox: Building Business Through Lean Startup PrinciplesDropbox: Building Business Through Lean Startup Principles
Dropbox: Building Business Through Lean Startup Principles
 
Other internet services
Other internet servicesOther internet services
Other internet services
 

Mais de Max De Marzi

DataDay 2023 Presentation
DataDay 2023 PresentationDataDay 2023 Presentation
DataDay 2023 PresentationMax De Marzi
 
DataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesDataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesMax De Marzi
 
Developer Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesDeveloper Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesMax De Marzi
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesMax De Marzi
 
Neo4j Training Cypher
Neo4j Training CypherNeo4j Training Cypher
Neo4j Training CypherMax De Marzi
 
Neo4j Training Modeling
Neo4j Training ModelingNeo4j Training Modeling
Neo4j Training ModelingMax De Marzi
 
Neo4j Training Introduction
Neo4j Training IntroductionNeo4j Training Introduction
Neo4j Training IntroductionMax De Marzi
 
Detenga el fraude complejo con Neo4j
Detenga el fraude complejo con Neo4jDetenga el fraude complejo con Neo4j
Detenga el fraude complejo con Neo4jMax De Marzi
 
Data Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4jData Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4jMax De Marzi
 
Fraud Detection and Neo4j
Fraud Detection and Neo4j Fraud Detection and Neo4j
Fraud Detection and Neo4j Max De Marzi
 
Detecion de Fraude con Neo4j
Detecion de Fraude con Neo4jDetecion de Fraude con Neo4j
Detecion de Fraude con Neo4jMax De Marzi
 
Neo4j Data Science Presentation
Neo4j Data Science PresentationNeo4j Data Science Presentation
Neo4j Data Science PresentationMax De Marzi
 
Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2Max De Marzi
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Max De Marzi
 
Decision Trees in Neo4j
Decision Trees in Neo4jDecision Trees in Neo4j
Decision Trees in Neo4jMax De Marzi
 
Neo4j y Fraude Spanish
Neo4j y Fraude SpanishNeo4j y Fraude Spanish
Neo4j y Fraude SpanishMax De Marzi
 
Data modeling with neo4j tutorial
Data modeling with neo4j tutorialData modeling with neo4j tutorial
Data modeling with neo4j tutorialMax De Marzi
 
Fraud Detection Class Slides
Fraud Detection Class SlidesFraud Detection Class Slides
Fraud Detection Class SlidesMax De Marzi
 
Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015Max De Marzi
 

Mais de Max De Marzi (20)

DataDay 2023 Presentation
DataDay 2023 PresentationDataDay 2023 Presentation
DataDay 2023 Presentation
 
DataDay 2023 Presentation - Notes
DataDay 2023 Presentation - NotesDataDay 2023 Presentation - Notes
DataDay 2023 Presentation - Notes
 
Developer Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesDeveloper Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker Notes
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph Databases
 
Neo4j Training Cypher
Neo4j Training CypherNeo4j Training Cypher
Neo4j Training Cypher
 
Neo4j Training Modeling
Neo4j Training ModelingNeo4j Training Modeling
Neo4j Training Modeling
 
Neo4j Training Introduction
Neo4j Training IntroductionNeo4j Training Introduction
Neo4j Training Introduction
 
Detenga el fraude complejo con Neo4j
Detenga el fraude complejo con Neo4jDetenga el fraude complejo con Neo4j
Detenga el fraude complejo con Neo4j
 
Data Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4jData Modeling Tricks for Neo4j
Data Modeling Tricks for Neo4j
 
Fraud Detection and Neo4j
Fraud Detection and Neo4j Fraud Detection and Neo4j
Fraud Detection and Neo4j
 
Detecion de Fraude con Neo4j
Detecion de Fraude con Neo4jDetecion de Fraude con Neo4j
Detecion de Fraude con Neo4j
 
Neo4j Data Science Presentation
Neo4j Data Science PresentationNeo4j Data Science Presentation
Neo4j Data Science Presentation
 
Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2Neo4j Stored Procedure Training Part 2
Neo4j Stored Procedure Training Part 2
 
Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1Neo4j Stored Procedure Training Part 1
Neo4j Stored Procedure Training Part 1
 
Decision Trees in Neo4j
Decision Trees in Neo4jDecision Trees in Neo4j
Decision Trees in Neo4j
 
Neo4j y Fraude Spanish
Neo4j y Fraude SpanishNeo4j y Fraude Spanish
Neo4j y Fraude Spanish
 
Data modeling with neo4j tutorial
Data modeling with neo4j tutorialData modeling with neo4j tutorial
Data modeling with neo4j tutorial
 
Fraud Detection Class Slides
Fraud Detection Class SlidesFraud Detection Class Slides
Fraud Detection Class Slides
 
Neo4j in Depth
Neo4j in DepthNeo4j in Depth
Neo4j in Depth
 
Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015Bootstrapping Recommendations OSCON 2015
Bootstrapping Recommendations OSCON 2015
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Neo4j Fundamentals