Graph Databases For SQL Server Professionals
Graph Databases For SQL Server Professionals
Databases
for
SQL
Server
Professionals
Stphane
Frche9e
Thursday
September
18,
2014
Who
am
I?
My
name
is
Stphane
Frche2e
SQL
Server
MVP
|
Consultant
|
Speaker
|
Database
&
BI
Architect
|
NoSQL.
Drums,
good
food
and
ne
wine.
Founder
@ukubu,
@GaNneauOuverte,
@TEDxGaNneau
I
have
a
passion
for
architecNng,
designing
and
building
soluNons
that
ma2er.
Twi2er:
@sfreche2e
Blog:
stephanefreche2e.com
Email:
[email protected]
Session
Outline
What
is
a
Graph?
What
is
Neo4j?
Data
Modeling
The
Property
Graph
Cypher
Query
Language
ImporNng
Data
Use
Cases
Demos
Resources
What
is
a
Graph?
Are
these
Graphs?
This
is
a
Graph
Node
RelaLonship
A
Property
Graph
OrganizaLon
Project
Graph
Twi9er
Social
Graph
What
is
Neo4j?
An
open-source
graph
database
by
Neo
Technology.
Neo4j
stores
data
in
nodes
connected
by
directed,
typed
relaLonships
with
properLes
on
both,
also
know
as
a
Property
Graph
name:
John
NIZER
IS_ORGA IS_MEM
BER
ER
GANIZ
IS_OR
IS_ORGANIZER
IS_ORGAN
IS_MEMBER
IZER
IS_MEMBER
IS_MEMBER
IS_ORGANIZER
Pa2ern-matching
DeclaraNve:
what
to
retrieve,
not
how
to
retrieve
it
Inspired
from
other
known
Language
(SQL,
SPARQL,
Haskell,
Python)
AggregaNon,
Ordering,
Limit
Update
the
Graph
Cypher
and
T-SQL
Cypher
also
has
a
number
of
keywords
that
have
a
direct
equivalence
with
SQL
which
makes
it
a
curiously
familiar
language
WHERE
ORDER
BY
LIMIT
SUM,
COUNT,
STDEVP,
MIN,
MAX
etc
LTRIM,
UPPER,
LOWER,
REPLACE,
LEFT,
RIGHT,
SUBSTRING
DISTINCT
CASE
Spreadsheet
based
Neo4j-shell
based:
(Cypher,
neo4j-shell-tools,
Cypher
LOAD
CSV)
Command-line
based:
Batch
Importer
Neo4j
Brower
based
ETL
Tools:
(Talend,
Mulesou,
Pentaho
Ke2le)
Custom
souware:
(Java
API,
REST
API,
Spring
Data
Neo4j)
Many
dierent
mappings
Import
Scenarios
Import
Tools
Not
always
clear
what
you
should
be
using
Depends
on
your
skillsets,
dataset
size
(lots
of
other
stu)
Choose
wisely!
Demo
(walkthrough
on
imporLng
data)
The
Sample
Dataset
ImporLng
using
Spreadsheets
Very
small
size
datasets
<
1000,
easy
to
use
Create
import-cypher
Format
data
in
CSV
Execute
commands
commands
for
les
from
neo4j-shell
neo4j-shell-tools
ImporLng
using
neo4j-shell-tools
ImporLng
using
LOAD
CSV
NaNve
Cypher
Execute
AddiNonal
Create
Format
data
in
command
from
cleanup
for
LOAD
CSV
CSV
les
commands
neo4j-shell
or
Labels
and
browser
RelTypes
ImporLng
using
LOAD
CSV
ImporLng
using
Batch
Importer
Non-transacNonal
import,
suited
for
very
very
large
datasets
(graphs)-[:ARE]->(everywhere)
Resources
Neo4j
GraphGist
h2p://gist.neo4j.org/
Neo
Technology
h2p://www.neotechnology.com/
GraphConnect
Conference
h2p://graphconnect.com/
Neoj.org
(Learn,
Develop,
Downloads,)
h2p://www.neo4j.org/
Titan
Distributed
Graph
Database
Neo4j
on
Vimeo
h2p://vimeo.com/neo4j
h2ps://thinkaurelius.github.io/Ntan/
Neo4j
on
SlideShare
h2p://www.slideshare.net/neo4j
InniteGraph
h2p://www.innitegraph.com/
Neo4j
on
Github
h2ps://github.com/neo4j
OrientDB
h2p://www.orientechnologies.com/
Neo4j
Cypher
Cheat
Sheet
h2p://docs.neo4j.org/refcard/2.1/
Cayley
by
Google
h2ps://github.com/google/cayley
Neo4j
Graph
Database
as
a
Service
h2p://www.graphenedb.com/
Linkurious
The
easiest
way
to
explore
graph
databases
h2p://linkurio.us/
KeyLines-
Visualize
dynamic
networks
h2p://keylines.com/
Experiments
with
NEO4J:
Using
a
graph
database
as
a
SQL
Server
metadata
hub
h2p://bit.ly/V2PrxN
Kenny
Bastani
h2p://www.kennybastani.com/
Rik
Van
Bruggen
h2p://blog.bruggen.com/
Max
de
Marzi
h2p://maxdemarzi.com/
Be2er
Souware
Development
h2p://jexp.de/blog/
Graph
Databases
(Free
Book)
h2p://graphdatabases.com/
What
QuesLons
Do
You
Have?
Thank
You
For
a9ending
this
session