SlideShare a Scribd company logo
1 of 133
Download to read offline
Introduction to
                         Graph Databases
         @peterneubauer
         #neo4j
                                           1

Thursday, April 19, 12
What’s the plan?




                                            2

Thursday, April 19, 12
What’s the plan?

                         ๏Why a graph?




                                                 2

Thursday, April 19, 12
What’s the plan?

                         ๏Why a graph?
                         ๏Graph Database 101




                                                 2

Thursday, April 19, 12
What’s the plan?

                         ๏Why a graph?
                         ๏Graph Database 101
                         ๏a look at Neo4j




                                                  2

Thursday, April 19, 12
What’s the plan?

                         ๏Why a graph?
                         ๏Graph Database 101
                         ๏a look at Neo4j
                         ๏the Real World


                                                  2

Thursday, April 19, 12
Why a graph?


                                        3

Thursday, April 19, 12
Q: What are graphs good for?




                                       4

Thursday, April 19, 12
Q: What are graphs good for?
        A: highly connected data
         ๏ Recommendations
         ๏ Business intelligence
         ๏ Social computing
         ๏ Geospatial
         ๏ MDM
         ๏ Systems management
         ๏ Genealogy

                                       4

Thursday, April 19, 12
Q: What are graphs good for?
        A: highly connected data
         ๏ Recommendations         • Real Use Cases:
         ๏ Business intelligence   • [A] ACL from Hell
         ๏ Social computing        • [B] Timely recommendations
                                   • [C] Global collaboration
         ๏ Geospatial
         ๏ MDM
         ๏ Systems management
         ๏ Genealogy

                                                                  4

Thursday, April 19, 12
Trends in BigData & NOSQL




                                    5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)




                                                5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt




                                                                            5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt
         ๏ 2. increasingly connected data (graph data)




                                                                            5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt
         ๏ 2. increasingly connected data (graph data)
                  • for example, text documents to html



                                                                            5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt
         ๏ 2. increasingly connected data (graph data)
                  • for example, text documents to html
         ๏ 3. semi-structured data




                                                                            5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt
         ๏ 2. increasingly connected data (graph data)
                  • for example, text documents to html
         ๏ 3. semi-structured data
                  • individualization of data, with common sub-set

                                                                            5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt
         ๏ 2. increasingly connected data (graph data)
                  • for example, text documents to html
         ๏ 3. semi-structured data
                  • individualization of data, with common sub-set
         ๏ 4. architecture - a facade over multiple services

                                                                            5

Thursday, April 19, 12
Trends in BigData & NOSQL
         ๏ 1. increasing data size (big data)
                  • “Every 2 -days we create as much information as we did up to
                      2003” Eric Schmidt
         ๏ 2. increasingly connected data (graph data)
                  • for example, text documents to html
         ๏ 3. semi-structured data
                  • individualization of data, with common sub-set
         ๏ 4. architecture - a facade over multiple services
                  • from monolithic to modular, distributed applications
                                                                            5

Thursday, April 19, 12
4 Categories of NOSQL




                                                 6

Thursday, April 19, 12
Key-Value Category
         ๏ “Dynamo: Amazon’s Highly Available Key-Value Store” (2007)
         ๏ Data model:
                  • Global key-value mapping
                  • Big scalable HashMap
                  • Highly fault tolerant (typically)
         ๏ Examples:
                  • Riak, Redis,Voldemort

                                                                        7

Thursday, April 19, 12
Key-Value: Pros & Cons
         ๏ Strengths
                  • Simple data model
                  • Great at scaling out horizontally
                  • Scalable
                  • Available
         ๏ Weaknesses:
                  • Simplistic data model
                  • Poor for complex data
                                                        8

Thursday, April 19, 12
Column-Family Category
         ๏ Google’s “Bigtable: A Distributed Storage System for Structured
                         Data” (2006)

                  • Column-Family are essentially Big Table clones
         ๏ Data model:
                  • A big table, with column families
                  • Map-reduce for querying/processing
         ๏ Examples:
                  • HBase, HyperTable, Cassandra
                                                                       9

Thursday, April 19, 12
Column-Family: Pros & Cons
         ๏ Strengths
                  • Data model supports semi-structured data
                  • Naturally indexed (columns)
                  • Good at scaling out horizontally
         ๏ Weaknesses:
                  • Unsuited for interconnected data


                                                               10

Thursday, April 19, 12
Document Database Category
         ๏ Data model
                  • Collections of documents
                  • A document is a key-value collection
                  • Index-centric, lots of map-reduce
         ๏ Examples
                  • CouchDB, MongoDB


                                                           11

Thursday, April 19, 12
Document Database: Pros & Cons
         ๏ Strengths
                  • Simple, powerful data model (just like SVN!)
                  • Good scaling (especially if sharding supported)
         ๏ Weaknesses:
                  • Unsuited for interconnected data
                  • Query model limited to keys (and indexes)
                  • Map reduce for larger queries

                                                                      12

Thursday, April 19, 12
Graph Database Category
         ๏ Data model:
                  • Nodes & Relationships
                  • Hypergraph, sometimes (edges with multiple endpoints)
         ๏ Examples:
                  • Neo4j (of course), OrientDB, InfiniteGraph, AllegroGraph



                                                                            13

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                                        Size


                                                        14

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                              RDBMS




                                           Size


                                                           14

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                              RDBMS                  Key-Value
                                                       Store




                                           Size


                                                                 14

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                                                  Column
                                                  Family

                              RDBMS                        Key-Value
                                                             Store




                                           Size


                                                                       14

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                                           Document
                                           Databases




                                                       Column
                                                       Family

                              RDBMS                             Key-Value
                                                                  Store




                                           Size


                                                                            14

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                                        Graph
                                      Databases



                                                  Document
                                                  Databases




                                                              Column
                                                              Family

                              RDBMS                                    Key-Value
                                                                         Store




                                                  Size


                                                                                   14

Thursday, April 19, 12
Living in a NOSQL World
                 Complexity




                                          Graph
                                        Databases



                                                    Document
                                                    Databases




                                                                Column
                                                                Family

                              RDBMS                                      Key-Value
                                                                           Store




                                       90%          Size
                                        of
                                       use
                                      cases
                                                                                     14

Thursday, April 19, 12
Graph Database: Pros & Cons




                                      15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths




                                      15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS




                                                               15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data




                                                               15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data
                  • Easy to query




                                                               15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data
                  • Easy to query
         ๏ Weaknesses:




                                                               15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data
                  • Easy to query
         ๏ Weaknesses:
                  • Sharding (though they can scale reasonably well)


                                                                       15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data
                  • Easy to query
         ๏ Weaknesses:
                  • Sharding (though they can scale reasonably well)
                         ‣also, stay tuned for developments here




                                                                       15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data
                  • Easy to query
         ๏ Weaknesses:
                  • Sharding (though they can scale reasonably well)
                         ‣also, stay tuned for developments here
                  • Requires conceptual shift
                                                                       15

Thursday, April 19, 12
Graph Database: Pros & Cons
         ๏ Strengths
                  • Powerful data model, as general as RDBMS
                  • Fast, for connected data
                  • Easy to query
         ๏ Weaknesses:
                  • Sharding (though they can scale reasonably well)
                         ‣also, stay tuned for developments here
                  • Requires conceptual shift
                         ‣though graph-like thinking becomes addictive
                                                                         15

Thursday, April 19, 12
Graph DB 101


                                        16

Thursday, April 19, 12
Some well-known named graphs




                                                           17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond




                                                           17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond   butterfly




                                                           17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond   butterfly    star




                                                           17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond   butterfly    star        bull




                                                                  17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond    butterfly   star        bull




                         franklin




                                                                  17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond    butterfly    star       bull




                         franklin   robertson




                                                                  17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond    butterfly     star      bull




                         franklin   robertson   horton




                                                                  17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
Some well-known named graphs


                         diamond    butterfly     star         bull




                         franklin   robertson   horton     hall-janko




                                                                        17
see http://en.wikipedia.org/wiki/Gallery_of_named_graphs
Thursday, April 19, 12
We’re talking about a Property Graph




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph

         ๏ Nodes




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph

         ๏ Nodes




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph

         ๏ Nodes
         ๏ Relationships




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph

         ๏ Nodes
         ๏ Relationships




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph

         ๏ Nodes
         ๏ Relationships




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph

         ๏ Nodes
         ๏ Relationships
         ๏ Properties




                                               18

Thursday, April 19, 12
We’re talking about a Property Graph
                           name:Andreas


         ๏ Nodes
                             job: talking
                                                                                                       knows
                                                                                                    since: 2002
                                                    knows            name: Tobias
                                                 since: 2008          job: coding


         ๏ Relationships
                                                                                                            name: Stephen
                                                                       knows                                   job: DJ
                               knows                                since: 2006
                            since: 2002         knows


         ๏ Properties
                                             since: 2006                                                       knows
                                                                      name: Peter                           since: 2000
                                                                      job: building


                                  name: Delia                                                               name: Tiberius
                                  job: barking                               knows                           job: dancer
                                                                          since: 1992

                                                                                                                     knows
                                               knows                                                              since: 1998
                                            since: 1998                name: Emil
                                                                      job: plumber
                                                                                                            name: Allison
                                                                                         knows              job: plumber
                                                                                      since: 2002
                                                                  knows
                                                               since: 1996




                                                                                                                          18

Thursday, April 19, 12
We’re talking about a Property Graph
                           name:Andreas


         ๏ Nodes
                             job: talking
                                                                                                       knows
                                                                                                    since: 2002
                                                    knows            name: Tobias
                                                 since: 2008          job: coding


         ๏ Relationships
                                                                                                            name: Stephen
                                                                       knows                                   job: DJ
                               knows                                since: 2006
                            since: 2002         knows


         ๏ Properties
                                             since: 2006                                                       knows
                                                                      name: Peter                           since: 2000
                                                                      job: building


                                  name: Delia                                                               name: Tiberius
                                  job: barking                               knows                           job: dancer
                                                                          since: 1992

                                                                                                                     knows
                                               knows                                                              since: 1998
                                            since: 1998                name: Emil
                                                                      job: plumber
                                                                                                            name: Allison
                                                                                         knows              job: plumber
                                                                                      since: 2002
                                                                  knows
                                                               since: 1996




                                                                                                                          18

Thursday, April 19, 12
We’re talking about a Property Graph
                           name:Andreas


         ๏ Nodes
                             job: talking
                                                                                                       knows
                                                                                                    since: 2002
                                                    knows            name: Tobias
                                                 since: 2008          job: coding


         ๏ Relationships
                                                                                                            name: Stephen
                                                                       knows                                   job: DJ
                               knows                                since: 2006
                            since: 2002         knows


         ๏ Properties
                                             since: 2006                                                       knows
                                                                      name: Peter                           since: 2000
                                                                      job: building


                                  name: Delia                                                               name: Tiberius
                                  job: barking                               knows                           job: dancer
                                                                          since: 1992

           +    Indexes                        knows
                                                                                                                     knows
                                                                                                                  since: 1998
                                            since: 1998                name: Emil
                                                                      job: plumber
                                                                                                            name: Allison
                                                                                         knows              job: plumber
                                                                                      since: 2002
                                                                  knows
                                                               since: 1996




                                                                                                                          18

Thursday, April 19, 12
Compared to RDBMS


                         becomes




                                   19

Thursday, April 19, 12
A look at Graph Queries




                                                   20

Thursday, April 19, 12
Query a graph with a traversal




                                         21

Thursday, April 19, 12
Query a graph with a traversal



                         name:Andreas
                           job: talking
                                                                                                     knows
                                                                                                  since: 2002
                                                  knows            name: Tobias
                                               since: 2008          job: coding
                                                                                                          name: Stephen
                                                                     knows                                   job: DJ
                             knows                                since: 2006
                          since: 2002         knows
                                           since: 2006                                                       knows
                                                                    name: Peter                           since: 2000
                                                                    job: building


                                name: Delia                                                               name: Tiberius
                                job: barking                               knows                           job: dancer
                                                                        since: 1992

                                                                                                                   knows
                                             knows                                                              since: 1998
                                          since: 1998                name: Emil
                                                                    job: plumber
                                                                                                          name: Allison
                                                                                       knows              job: plumber
                                                                                    since: 2002
                                                                knows
                                                             since: 1996

                                                                                                                              21

Thursday, April 19, 12
Query a graph with a traversal
          // lookup starting point in an index
          start n=node:node_auto_index(name = ‘Andreas’)



                    n    name:Andreas
                           job: talking
                                                                                                     knows
                                                                                                  since: 2002
                                                  knows            name: Tobias
                                               since: 2008          job: coding
                                                                                                          name: Stephen
                                                                     knows                                   job: DJ
                             knows                                since: 2006
                          since: 2002         knows
                                           since: 2006                                                       knows
                                                                    name: Peter                           since: 2000
                                                                    job: building


                                name: Delia                                                               name: Tiberius
                                job: barking                               knows                           job: dancer
                                                                        since: 1992

                                                                                                                   knows
                                             knows                                                              since: 1998
                                          since: 1998                name: Emil
                                                                    job: plumber
                                                                                                          name: Allison
                                                                                       knows              job: plumber
                                                                                    since: 2002
                                                                knows
                                                             since: 1996

                                                                                                                              21

Thursday, April 19, 12
Query a graph with a traversal
          // lookup starting point in an index
             then traverse to find results
          start n=node:node_auto_index(name = ‘Andreas’)
                n=node:People(name = ‘Andreas’)
            match (n)--()--(foaf) return foaf


                    n    name:Andreas
                           job: talking
                                                                                                     knows
                                                                                                  since: 2002
                                                  knows            name: Tobias
                                               since: 2008          job: coding
                                                                                                          name: Stephen
                                                                     knows                                   job: DJ
                             knows                                since: 2006
                          since: 2002         knows
                                           since: 2006                                                       knows
                                                                    name: Peter                           since: 2000
                                                                    job: building


                                name: Delia                                                               name: Tiberius
                                job: barking                               knows                           job: dancer
                                                                        since: 1992

                                                                                                                   knows
                                             knows                                                              since: 1998
                                          since: 1998                name: Emil
                                                                    job: plumber
                                                                                                          name: Allison
                                                                                       knows              job: plumber
                                                                                    since: 2002
                                                                knows
                                                             since: 1996

                                                                                                                              21

Thursday, April 19, 12
Cypher




                         22

Thursday, April 19, 12
Cypher
         ๏ a pattern-matching query language
         ๏ declarative grammar with clauses (like SQL)
         ๏ aggregation, ordering, limits
         ๏ tabular results




                                                         22

Thursday, April 19, 12
Cypher
         ๏ a pattern-matching query language
         ๏ declarative grammar with clauses (like SQL)
         ๏ aggregation, ordering, limits
         ๏ tabular results

                    // get node with id 0
                    start a=node(0) return a
                    // traverse from node 1
                    start a=node(1) match (a)-->(b) return b
                    // return friends of friends
                    start a=node(1) match (a)--()--(c) return c

                                                           22

Thursday, April 19, 12
Neo4j - the Graph Database




                                                  23

Thursday, April 19, 12
Background of Neo4j
         ๏ 2001 - Windh Technologies, a media asset management company
                  • CTO Peter with Emil, Johan prototyped a proper graph interface
                  • first SQL-backed, then revised as a full-stack implementation
                  • (just like Amazon-Dynamo, Facebook-Cassandra)
         ๏ 2003 Neo4j went into 24/7 production
         ๏ 2006-2007 - Neo4j was spun off as an open source project
         ๏ 2009 seed funding for the company
         ๏ 2010 Neo4j Server was created (previously only an embedded DB)
         ๏ 2011 Fully funded silicon valley start-up - Neo Technology




                                                                                     24

Thursday, April 19, 12
Neo4j is a Graph Database




                                    25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:




                                    25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both




                                                                   25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both

                    • perfect for complex, highly connected data




                                                                   25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both

                    • perfect for complex, highly connected data
           ๏ A Graph Database:




                                                                   25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both

                    • perfect for complex, highly connected data
           ๏ A Graph Database:
                    • reliable with real ACID Transactions


                                                                   25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both

                    • perfect for complex, highly connected data
           ๏ A Graph Database:
                    • reliable with real ACID Transactions
                    • scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion
                        Properties



                                                                                  25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both

                    • perfect for complex, highly connected data
           ๏ A Graph Database:
                    • reliable with real ACID Transactions
                    • scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion
                        Properties

                    • Server with REST API, or Embeddable on the JVM
                                                                                  25

Thursday, April 19, 12
Neo4j is a Graph Database
           ๏ A Graph Database:
                    • a Property Graph with Nodes, Relationships
                         and Properties on both

                    • perfect for complex, highly connected data
           ๏ A Graph Database:
                    • reliable with real ACID Transactions
                    • scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion
                        Properties

                    • Server with REST API, or Embeddable on the JVM
                    • high-performance with High-Availability (read scaling)      25

Thursday, April 19, 12
the Real World


                                          26

Thursday, April 19, 12
Q: What are graphs good for?




                                       27

Thursday, April 19, 12
Q: What are graphs good for?
        A: highly connected data
         ๏ Recommendations
         ๏ Business intelligence
         ๏ Social computing
         ๏ Geospatial
         ๏ MDM
         ๏ Systems management
         ๏ Genealogy

                                       27

Thursday, April 19, 12
Q: What are graphs good for?
        A: highly connected data
         ๏ Recommendations         • Real Use Cases:
         ๏ Business intelligence   • [A] ACL from Hell
         ๏ Social computing        • [B] Timely recommendations
                                   • [C] Global collaboration
         ๏ Geospatial
         ๏ MDM
         ๏ Systems management
         ๏ Genealogy

                                                                  27

Thursday, April 19, 12
[A] ACL from Hell




                            28

Thursday, April 19, 12
[A] ACL from Hell
        ๏ Customer: leading consumer utility company with tons
                    and tons of users

        ๏ Goal: comprehensive access control administration for
                    customers

        ๏ Benefits:

                  •      Flexible and dynamic architecture

                  •      Exceptional performance

                  •      Extensible data model supports new applications
                             and features

                  •      Low cost




                                                                           28

Thursday, April 19, 12
[A] ACL from Hell
        ๏ Customer: leading consumer utility company with tons
                    and tons of users                                      •   A Reliable access control administration system for

                                                                               5 million customers, subscriptions and agreements
        ๏ Goal: comprehensive access control administration for
                    customers                                              •   Complex dependencies between groups, companies,
                                                                                 individuals, accounts, products, subscriptions, services and
        ๏ Benefits:                                                               agreements

                  •      Flexible and dynamic architecture                 •   Broad and deep graphs (master customers with 1000s of
                                                                                  customers, subscriptions & agreements)
                  •      Exceptional performance

                  •      Extensible data model supports new applications
                             and features

                  •      Low cost




                                                                                                                         28

Thursday, April 19, 12
[A] ACL from Hell
        ๏ Customer: leading consumer utility company with tons
                    and tons of users                                      •    A Reliable access control administration system for

                                                                                5 million customers, subscriptions and agreements
        ๏ Goal: comprehensive access control administration for
                    customers                                              •    Complex dependencies between groups, companies,
                                                                                  individuals, accounts, products, subscriptions, services and
        ๏ Benefits:                                                                agreements

                  •      Flexible and dynamic architecture                 •    Broad and deep graphs (master customers with 1000s of
                                                                                   customers, subscriptions & agreements)
                  •      Exceptional performance

                  •      Extensible data model supports new applications                   name: Andreas                               works with
                                                                                                                                                                          company: Neo
                                                                                                                                                                           Technology

                             and features                                                     owns
                                                                                                                                                member of                gets discount on



                  •      Low cost
                                                                                     account: 9758352794


                                                                                             subscribes to
                                                                                                                           has plan



                                                                                                                                        agreement: ultimate
                                                                                                                       includes

                                                                                      subscription: sports                        provides                               group: graphistas



                                                                                                discounts                                      service: NFL


                                                                                                     promotion: fall                          includes
                                                                                                                                                               offered
                                                                           subscribes to


                                                                                                                  provides                   service: Ravens
                                                                                     subscription: local




                                                                                                                                                                         28

Thursday, April 19, 12
[A] ACL from Hell




                            29

Thursday, April 19, 12
[B] Timely Recommendations




                                     30

Thursday, April 19, 12
[B] Timely Recommendations
         ๏ Customer: a professional social network

                  •      35 millions users, adding 30,000+ each day

         ๏ Goal: up-to-date recommendations

                  •      Scalable solution with real-time end-user
                             experience

                  •      Low maintenance and reliable architecture

                  •      8-week implementation




                                                                      30

Thursday, April 19, 12
[B] Timely Recommendations
                                                                      ๏ Problem:
         ๏ Customer: a professional social network

                  •      35 millions users, adding 30,000+ each day         •   Real-time recommendation imperative to attract new
                                                                                    users and maintain positive user retention
         ๏ Goal: up-to-date recommendations
                                                                            •   Clustered MySQL solution not scalable or fast enough

                  •      Scalable solution with real-time end-user                  to support real-time requirements
                             experience                               ๏ Upgrade from running a batch job
                  •      Low maintenance and reliable architecture
                                                                            •   initial hour-long batch job
                  •      8-week implementation
                                                                            •   but then success happened, and it became a day

                                                                            •   then two days

                                                                      ๏ With Neo4j, real time recommendations




                                                                                                                     30

Thursday, April 19, 12
[B] Timely Recommendations
                                                                                                    ๏ Problem:
         ๏ Customer: a professional social network

                  •       35 millions users, adding 30,000+ each day                                      •   Real-time recommendation imperative to attract new
                                                                                                                  users and maintain positive user retention
         ๏ Goal: up-to-date recommendations
                                                                                                          •   Clustered MySQL solution not scalable or fast enough

                  •       Scalable solution with real-time end-user                                               to support real-time requirements
                              experience                                                            ๏ Upgrade from running a batch job
                  •       Low maintenance and reliable architecture
                                                                                                          •   initial hour-long batch job
                  •       8-week implementation
                                                                                                          •   but then success happened, and it became a day

                                                                                                          •   then two days
                  name:Andreas
                    job: talking                                                                    ๏ With Neo4j, real time recommendations
                                                                            knows
                                    knows           name: Tobias
                                                     job: coding
                                                                                name: Stephen
                                        knows                                      job: DJ
                      knows                             knows


                                                                                     knows
                                                    name: Peter
                                                    job: building

                         name: Delia                                            name: Tiberius
                         job: barking                       knows                job: dancer


                                                                                         knows
                                                     name: Emil
                                        knows
                                                    job: plumber
                                                                                    name: Allison
                                                                                    job: plumber
                                                                    knows



                                                knows


                                                                                                                                                   30

Thursday, April 19, 12
[C] Collaboration on Global Scale




                                            31

Thursday, April 19, 12
[C] Collaboration on Global Scale
         ๏ Customer: a worldwide software leader                     •   Highly flexible data analysis

                  •      highly collaborative end-users              •   Sub-second results for large, densely-connected data

         ๏ Goal: offer an online platform for global collaboration   •   User experience - competitive advantage




                                                                                                                   31

Thursday, April 19, 12
[C] Collaboration on Global Scale
         ๏ Customer: a worldwide software leader                     •   Highly flexible data analysis

                  •      highly collaborative end-users              •   Sub-second results for large, densely-connected data

         ๏ Goal: offer an online platform for global collaboration   •   User experience - competitive advantage




         •    Massive amounts of data tied to members, user
                 groups, member content, etc. all interconnected
                                                                     •   Infer collaborative relationships through user-
                                                                             generated content

                                                                     •   Worldwide Availability




                                                                                                                    31

Thursday, April 19, 12
[C] Collaboration on Global Scale
         ๏ Customer: a worldwide software leader                              •   Highly flexible data analysis

                  •      highly collaborative end-users                       •   Sub-second results for large, densely-connected data

         ๏ Goal: offer an online platform for global collaboration            •   User experience - competitive advantage




         •    Massive amounts of data tied to members, user
                 groups, member content, etc. all interconnected
                                                                              •   Infer collaborative relationships through user-
                                                                                      generated content

                                                                              •   Worldwide Availability

                                                 Asia         North America             Europe




                                                                                                                             31

Thursday, April 19, 12
[C] Collaboration on Global Scale
         ๏ Customer: a worldwide software leader                              •   Highly flexible data analysis

                  •      highly collaborative end-users                       •   Sub-second results for large, densely-connected data

         ๏ Goal: offer an online platform for global collaboration            •   User experience - competitive advantage




         •    Massive amounts of data tied to members, user
                 groups, member content, etc. all interconnected
                                                                              •   Infer collaborative relationships through user-
                                                                                      generated content

                                                                              •   Worldwide Availability

                                                 Asia         North America             Europe




                                                 Asia         North America             Europe




                                                                                                                             31

Thursday, April 19, 12
Insurance <3 Graphs?


                                 32

Thursday, April 19, 12
Q: Why should you care?




                                  33

Thursday, April 19, 12
Q: Why should you care?
        A: because you have connected data.




                                              33

Thursday, April 19, 12
Q: Why should you care?
        A: because you have connected data.
         ๏ CRM, BI, social graphs




                                              33

Thursday, April 19, 12
Q: Why should you care?
        A: because you have connected data.
         ๏ CRM, BI, social graphs
         ๏ GeoSpatial analytics




                                              33

Thursday, April 19, 12
Q: Why should you care?
        A: because you have connected data.
         ๏ CRM, BI, social graphs
         ๏ GeoSpatial analytics
         ๏ Fraud detection




                                              33

Thursday, April 19, 12
Q: Why should you care?
        A: because you have connected data.
         ๏ CRM, BI, social graphs
         ๏ GeoSpatial analytics
         ๏ Fraud detection
         ๏ Network management




                                              33

Thursday, April 19, 12
A sample insurance domain setup




                                          34

Thursday, April 19, 12
A sample insurance domain setup
                                                                      Home

                                                   sub_product
                                                                                              concerns            owns
                                     Building A
                                                                                                               Questionaire:         fills_in       Customer: C12
                                                   attribute
                           covered_by                                                                              Q1
                                                                                        contains_question
                                                                    Size: 120m2
                    Coverage:
                     Super
                                                                                               T&C: X                          is_offered
                                                          risk_has_attr
                                     covers_risk
                   sub_cover                                                 has
                                                   Risk: Building
                                                       small                                                                          is_offered

                                                                                   includes                                                        signed

                Coverage: Fire                             includes                               Quote: C12


                                                                                                               based_on
                                                               made

                                                                                                                      Policy: C12
                                                                          made
                         User: U34
                                                                                                                                    contains
                                                                                       owns
                                                                                                                                           Agreement:
                                                                                                                                              C12




                                                                                                                                                                   34

Thursday, April 19, 12
Recommendations, BI, Social Computing




                                                35

Thursday, April 19, 12
Recommendations, BI, Social Computing
         ๏ enrich your CRM with data from Facebook, Google, Twitter etc




                                                                    35

Thursday, April 19, 12
Recommendations, BI, Social Computing
         ๏ enrich your CRM with data from Facebook, Google, Twitter etc
         ๏ Recommender systems for products




                                                                    35

Thursday, April 19, 12
Recommendations, BI, Social Computing
         ๏ enrich your CRM with data from Facebook, Google, Twitter etc
         ๏ Recommender systems for products
         ๏ Find influencers in your customer base for special treatment




                                                                    35

Thursday, April 19, 12
This is what your CRM sees


                  Customer1


                                Peter Neubauer




                                                 36
http://inmaps.linkedinlabs.com/network
Thursday, April 19, 12
This is what your CRM doesn’t see.




                                             37
http://inmaps.linkedinlabs.com/network
Thursday, April 19, 12
This is what your CRM doesn’t see.




                                             37
http://inmaps.linkedinlabs.com/network
Thursday, April 19, 12
Geospatial features




                              38

Thursday, April 19, 12
Geospatial features
         ๏ Dynamic layers from different sources




                                                   38

Thursday, April 19, 12
Geospatial features
         ๏ Dynamic layers from different sources
                  • domainstandardflood area layer + crime index + firestation +
                     living
                            data ->
                                    index




                                                                         38

Thursday, April 19, 12
Geospatial features
         ๏ Dynamic layers from different sources
                  • domainstandardflood area layer + crime index + firestation +
                     living
                            data ->
                                    index
         ๏ routes of low insurance risks




                                                                         38

Thursday, April 19, 12
Geospatial features




                              39

Thursday, April 19, 12
Geospatial features




                              40

Thursday, April 19, 12
Geospatial features




                              41

Thursday, April 19, 12
Configuration/Network Management




                                          42

Thursday, April 19, 12
Configuration/Network Management
         ๏ Model physical and logical networks




                                                 42

Thursday, April 19, 12
Configuration/Network Management
         ๏ Model physical and logical networks
                  • impact analysis




                                                 42

Thursday, April 19, 12
Configuration/Network Management
         ๏ Model physical and logical networks
                  • impact analysis
                  • configuration management




                                                 42

Thursday, April 19, 12
Configuration/Network Management
         ๏ Model physical and logical networks
                  • impact analysis
                  • configuration management
                  • network inventory




                                                 42

Thursday, April 19, 12
Configuration/Network Management




                                          43

Thursday, April 19, 12
Questions!




                                      44

Thursday, April 19, 12
and, Thanks :)




                                          45

Thursday, April 19, 12

More Related Content

Viewers also liked

Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...
Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...
Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...Neo4j
 
Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013
Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013
Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013Neo4j
 
Using Data Analytics to Find Fraud - Webinar with Maribeth Vander Weele
Using Data Analytics to Find Fraud - Webinar with Maribeth Vander WeeleUsing Data Analytics to Find Fraud - Webinar with Maribeth Vander Weele
Using Data Analytics to Find Fraud - Webinar with Maribeth Vander WeeleCase IQ
 
Data Analytics on Healthcare Fraud
Data Analytics on Healthcare FraudData Analytics on Healthcare Fraud
Data Analytics on Healthcare FraudNicholas Szeto
 
Health Care Fraud, Will I Know It When I See It?
Health Care Fraud, Will I Know It When I See It? Health Care Fraud, Will I Know It When I See It?
Health Care Fraud, Will I Know It When I See It? Winston & Strawn LLP
 
Moving Graphs to Production At Scale
Moving Graphs to Production At ScaleMoving Graphs to Production At Scale
Moving Graphs to Production At ScaleNeo4j
 
2章グラフ理論スピード入門
2章グラフ理論スピード入門2章グラフ理論スピード入門
2章グラフ理論スピード入門Teruo Kawasaki
 
Fraud Detection with Neo4j
Fraud Detection with Neo4jFraud Detection with Neo4j
Fraud Detection with Neo4jNeo4j
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentationjexp
 
GraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business GraphGraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business GraphNeo4j
 
Webinar: RDBMS to Graphs
Webinar: RDBMS to GraphsWebinar: RDBMS to Graphs
Webinar: RDBMS to GraphsNeo4j
 
OrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityOrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityCurtis Mosters
 

Viewers also liked (14)

Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...
Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...
Adoption of a Graph Database in the Insurance Sector - Jan-Frederik Wilhelm &...
 
Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013
Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013
Graphs Opening Medical Care Information - Dave Fauth @ GraphConnect NY 2013
 
Using Data Analytics to Find Fraud - Webinar with Maribeth Vander Weele
Using Data Analytics to Find Fraud - Webinar with Maribeth Vander WeeleUsing Data Analytics to Find Fraud - Webinar with Maribeth Vander Weele
Using Data Analytics to Find Fraud - Webinar with Maribeth Vander Weele
 
Data Analytics on Healthcare Fraud
Data Analytics on Healthcare FraudData Analytics on Healthcare Fraud
Data Analytics on Healthcare Fraud
 
Big Data in HealthCare
Big Data in HealthCareBig Data in HealthCare
Big Data in HealthCare
 
Health Care Fraud, Will I Know It When I See It?
Health Care Fraud, Will I Know It When I See It? Health Care Fraud, Will I Know It When I See It?
Health Care Fraud, Will I Know It When I See It?
 
Healthcare fraud detection
Healthcare fraud detectionHealthcare fraud detection
Healthcare fraud detection
 
Moving Graphs to Production At Scale
Moving Graphs to Production At ScaleMoving Graphs to Production At Scale
Moving Graphs to Production At Scale
 
2章グラフ理論スピード入門
2章グラフ理論スピード入門2章グラフ理論スピード入門
2章グラフ理論スピード入門
 
Fraud Detection with Neo4j
Fraud Detection with Neo4jFraud Detection with Neo4j
Fraud Detection with Neo4j
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentation
 
GraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business GraphGraphTalks Rome - The Italian Business Graph
GraphTalks Rome - The Italian Business Graph
 
Webinar: RDBMS to Graphs
Webinar: RDBMS to GraphsWebinar: RDBMS to Graphs
Webinar: RDBMS to Graphs
 
OrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityOrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionality
 

Similar to Intro to Neo4j or why insurances should love graphs

Social Media World presentation
Social Media World presentationSocial Media World presentation
Social Media World presentationkperi
 
Big Data Platform Landscape by 2017
Big Data Platform Landscape by 2017Big Data Platform Landscape by 2017
Big Data Platform Landscape by 2017Donghui Zhang
 
Lecture 7: Social Web Challenges (2012)
Lecture 7: Social Web Challenges (2012)Lecture 7: Social Web Challenges (2012)
Lecture 7: Social Web Challenges (2012)Lora Aroyo
 
Big Data & the importance of Data Science
Big Data & the importance of Data ScienceBig Data & the importance of Data Science
Big Data & the importance of Data ScienceWim Van Leuven
 
THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012
THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012
THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012Gigaom
 
Lecture 5: Social Web Data Analysis (2012)
Lecture 5: Social Web Data Analysis (2012)Lecture 5: Social Web Data Analysis (2012)
Lecture 5: Social Web Data Analysis (2012)Lora Aroyo
 
Demystifying Big Data
Demystifying Big DataDemystifying Big Data
Demystifying Big DataSpiral16
 
Data Big and Broad (Oxford, 2012)
Data Big and Broad (Oxford, 2012)Data Big and Broad (Oxford, 2012)
Data Big and Broad (Oxford, 2012)James Hendler
 
Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.Alexandru Iosup
 
Big Data By Vijay Bhaskar Semwal
Big Data By Vijay Bhaskar SemwalBig Data By Vijay Bhaskar Semwal
Big Data By Vijay Bhaskar SemwalIIIT Allahabad
 
Smart Data Webinar: Advances in Natural Language Processing II - NL Generation
Smart Data Webinar: Advances in Natural Language Processing II - NL GenerationSmart Data Webinar: Advances in Natural Language Processing II - NL Generation
Smart Data Webinar: Advances in Natural Language Processing II - NL GenerationDATAVERSITY
 
Implementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) Better
Implementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) BetterImplementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) Better
Implementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) BetterDATAVERSITY
 
Data-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your Business
Data-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your BusinessData-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your Business
Data-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your BusinessDATAVERSITY
 
THE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUME
THE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUMETHE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUME
THE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUMEGigaom
 
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...BigMine
 
Data Analytic Technology Platforms: Options and Tradeoffs
Data Analytic Technology Platforms: Options and TradeoffsData Analytic Technology Platforms: Options and Tradeoffs
Data Analytic Technology Platforms: Options and TradeoffsJ Singh
 
Big Data — Your new best friend
Big Data — Your new best friendBig Data — Your new best friend
Big Data — Your new best friendReuven Lerner
 

Similar to Intro to Neo4j or why insurances should love graphs (20)

Social Media World presentation
Social Media World presentationSocial Media World presentation
Social Media World presentation
 
Big Data Platform Landscape by 2017
Big Data Platform Landscape by 2017Big Data Platform Landscape by 2017
Big Data Platform Landscape by 2017
 
Lecture 7: Social Web Challenges (2012)
Lecture 7: Social Web Challenges (2012)Lecture 7: Social Web Challenges (2012)
Lecture 7: Social Web Challenges (2012)
 
Big Data & the importance of Data Science
Big Data & the importance of Data ScienceBig Data & the importance of Data Science
Big Data & the importance of Data Science
 
THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012
THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012
THE 3V's OF BIG DATA: VARIETY, VELOCITY, AND VOLUME from Structure:Data 2012
 
Lecture 5: Social Web Data Analysis (2012)
Lecture 5: Social Web Data Analysis (2012)Lecture 5: Social Web Data Analysis (2012)
Lecture 5: Social Web Data Analysis (2012)
 
Demystifying Big Data
Demystifying Big DataDemystifying Big Data
Demystifying Big Data
 
Big data 101
Big data 101Big data 101
Big data 101
 
Data Big and Broad (Oxford, 2012)
Data Big and Broad (Oxford, 2012)Data Big and Broad (Oxford, 2012)
Data Big and Broad (Oxford, 2012)
 
Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.Cloud Programming Models: eScience, Big Data, etc.
Cloud Programming Models: eScience, Big Data, etc.
 
Unit 1
Unit 1Unit 1
Unit 1
 
Big Data By Vijay Bhaskar Semwal
Big Data By Vijay Bhaskar SemwalBig Data By Vijay Bhaskar Semwal
Big Data By Vijay Bhaskar Semwal
 
Smart Data Webinar: Advances in Natural Language Processing II - NL Generation
Smart Data Webinar: Advances in Natural Language Processing II - NL GenerationSmart Data Webinar: Advances in Natural Language Processing II - NL Generation
Smart Data Webinar: Advances in Natural Language Processing II - NL Generation
 
Implementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) Better
Implementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) BetterImplementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) Better
Implementing Big Data, NoSQL, & Hadoop - Bigger Is (Usually) Better
 
Data-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your Business
Data-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your BusinessData-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your Business
Data-Ed Slides: Data-Centric Strategy & Roadmap - Supercharging Your Business
 
THE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUME
THE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUMETHE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUME
THE 3V’S OF BIG DATA: VARIETY, VELOCITY, and VOLUME
 
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
 
Data Analytic Technology Platforms: Options and Tradeoffs
Data Analytic Technology Platforms: Options and TradeoffsData Analytic Technology Platforms: Options and Tradeoffs
Data Analytic Technology Platforms: Options and Tradeoffs
 
Introduction Big data
Introduction Big data  Introduction Big data
Introduction Big data
 
Big Data — Your new best friend
Big Data — Your new best friendBig Data — Your new best friend
Big Data — Your new best friend
 

More from Peter Neubauer

2012 09 GDG San Francisco Hackday at Parisoma
2012 09 GDG San Francisco Hackday at Parisoma2012 09 GDG San Francisco Hackday at Parisoma
2012 09 GDG San Francisco Hackday at ParisomaPeter Neubauer
 
2012 09 SF Data Mining zero to hero
2012 09 SF Data Mining zero to hero2012 09 SF Data Mining zero to hero
2012 09 SF Data Mining zero to heroPeter Neubauer
 
Test driven documentation
Test driven documentationTest driven documentation
Test driven documentationPeter Neubauer
 
Neo4j at @PolyglotVancouver
Neo4j at @PolyglotVancouverNeo4j at @PolyglotVancouver
Neo4j at @PolyglotVancouverPeter Neubauer
 
From Zero to Hero - Neo4j and Cypher.
From Zero to Hero - Neo4j and Cypher.From Zero to Hero - Neo4j and Cypher.
From Zero to Hero - Neo4j and Cypher.Peter Neubauer
 
Tips for building communitites with limited resources
Tips for building communitites with limited resourcesTips for building communitites with limited resources
Tips for building communitites with limited resourcesPeter Neubauer
 
Neo4j Spatial - GIS for the rest of us.
Neo4j Spatial - GIS for the rest of us.Neo4j Spatial - GIS for the rest of us.
Neo4j Spatial - GIS for the rest of us.Peter Neubauer
 
Geekout Tallinn - Neo4j for the rescue!
Geekout Tallinn - Neo4j for the rescue!Geekout Tallinn - Neo4j for the rescue!
Geekout Tallinn - Neo4j for the rescue!Peter Neubauer
 
GDM 2011 - Neo4j and real world apps.
GDM 2011 - Neo4j and real world apps.GDM 2011 - Neo4j and real world apps.
GDM 2011 - Neo4j and real world apps.Peter Neubauer
 
2010 09-neo4j-deutsche-telekom
2010 09-neo4j-deutsche-telekom2010 09-neo4j-deutsche-telekom
2010 09-neo4j-deutsche-telekomPeter Neubauer
 
Neo4j spatial-nosql-frankfurt
Neo4j spatial-nosql-frankfurtNeo4j spatial-nosql-frankfurt
Neo4j spatial-nosql-frankfurtPeter Neubauer
 
Neo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesNeo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesPeter Neubauer
 

More from Peter Neubauer (15)

Intro to Neo4j 2.0
Intro to Neo4j 2.0Intro to Neo4j 2.0
Intro to Neo4j 2.0
 
2012 09 GDG San Francisco Hackday at Parisoma
2012 09 GDG San Francisco Hackday at Parisoma2012 09 GDG San Francisco Hackday at Parisoma
2012 09 GDG San Francisco Hackday at Parisoma
 
2012 09 SF Data Mining zero to hero
2012 09 SF Data Mining zero to hero2012 09 SF Data Mining zero to hero
2012 09 SF Data Mining zero to hero
 
Test driven documentation
Test driven documentationTest driven documentation
Test driven documentation
 
Neo4j at @PolyglotVancouver
Neo4j at @PolyglotVancouverNeo4j at @PolyglotVancouver
Neo4j at @PolyglotVancouver
 
From Zero to Hero - Neo4j and Cypher.
From Zero to Hero - Neo4j and Cypher.From Zero to Hero - Neo4j and Cypher.
From Zero to Hero - Neo4j and Cypher.
 
Tips for building communitites with limited resources
Tips for building communitites with limited resourcesTips for building communitites with limited resources
Tips for building communitites with limited resources
 
2011 11-öredev
2011 11-öredev2011 11-öredev
2011 11-öredev
 
Neo4j Spatial - GIS for the rest of us.
Neo4j Spatial - GIS for the rest of us.Neo4j Spatial - GIS for the rest of us.
Neo4j Spatial - GIS for the rest of us.
 
Geekout Tallinn - Neo4j for the rescue!
Geekout Tallinn - Neo4j for the rescue!Geekout Tallinn - Neo4j for the rescue!
Geekout Tallinn - Neo4j for the rescue!
 
GDM 2011 - Neo4j and real world apps.
GDM 2011 - Neo4j and real world apps.GDM 2011 - Neo4j and real world apps.
GDM 2011 - Neo4j and real world apps.
 
2010 09-neo4j-deutsche-telekom
2010 09-neo4j-deutsche-telekom2010 09-neo4j-deutsche-telekom
2010 09-neo4j-deutsche-telekom
 
Neo4j spatial-nosql-frankfurt
Neo4j spatial-nosql-frankfurtNeo4j spatial-nosql-frankfurt
Neo4j spatial-nosql-frankfurt
 
Neo4j - 5 cool graph examples
Neo4j - 5 cool graph examplesNeo4j - 5 cool graph examples
Neo4j - 5 cool graph examples
 
Neo4j Nosqllive
Neo4j NosqlliveNeo4j Nosqllive
Neo4j Nosqllive
 

Recently uploaded

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 

Recently uploaded (20)

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 

Intro to Neo4j or why insurances should love graphs

  • 1. Introduction to Graph Databases @peterneubauer #neo4j 1 Thursday, April 19, 12
  • 2. What’s the plan? 2 Thursday, April 19, 12
  • 3. What’s the plan? ๏Why a graph? 2 Thursday, April 19, 12
  • 4. What’s the plan? ๏Why a graph? ๏Graph Database 101 2 Thursday, April 19, 12
  • 5. What’s the plan? ๏Why a graph? ๏Graph Database 101 ๏a look at Neo4j 2 Thursday, April 19, 12
  • 6. What’s the plan? ๏Why a graph? ๏Graph Database 101 ๏a look at Neo4j ๏the Real World 2 Thursday, April 19, 12
  • 7. Why a graph? 3 Thursday, April 19, 12
  • 8. Q: What are graphs good for? 4 Thursday, April 19, 12
  • 9. Q: What are graphs good for? A: highly connected data ๏ Recommendations ๏ Business intelligence ๏ Social computing ๏ Geospatial ๏ MDM ๏ Systems management ๏ Genealogy 4 Thursday, April 19, 12
  • 10. Q: What are graphs good for? A: highly connected data ๏ Recommendations • Real Use Cases: ๏ Business intelligence • [A] ACL from Hell ๏ Social computing • [B] Timely recommendations • [C] Global collaboration ๏ Geospatial ๏ MDM ๏ Systems management ๏ Genealogy 4 Thursday, April 19, 12
  • 11. Trends in BigData & NOSQL 5 Thursday, April 19, 12
  • 12. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) 5 Thursday, April 19, 12
  • 13. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt 5 Thursday, April 19, 12
  • 14. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt ๏ 2. increasingly connected data (graph data) 5 Thursday, April 19, 12
  • 15. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt ๏ 2. increasingly connected data (graph data) • for example, text documents to html 5 Thursday, April 19, 12
  • 16. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt ๏ 2. increasingly connected data (graph data) • for example, text documents to html ๏ 3. semi-structured data 5 Thursday, April 19, 12
  • 17. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt ๏ 2. increasingly connected data (graph data) • for example, text documents to html ๏ 3. semi-structured data • individualization of data, with common sub-set 5 Thursday, April 19, 12
  • 18. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt ๏ 2. increasingly connected data (graph data) • for example, text documents to html ๏ 3. semi-structured data • individualization of data, with common sub-set ๏ 4. architecture - a facade over multiple services 5 Thursday, April 19, 12
  • 19. Trends in BigData & NOSQL ๏ 1. increasing data size (big data) • “Every 2 -days we create as much information as we did up to 2003” Eric Schmidt ๏ 2. increasingly connected data (graph data) • for example, text documents to html ๏ 3. semi-structured data • individualization of data, with common sub-set ๏ 4. architecture - a facade over multiple services • from monolithic to modular, distributed applications 5 Thursday, April 19, 12
  • 20. 4 Categories of NOSQL 6 Thursday, April 19, 12
  • 21. Key-Value Category ๏ “Dynamo: Amazon’s Highly Available Key-Value Store” (2007) ๏ Data model: • Global key-value mapping • Big scalable HashMap • Highly fault tolerant (typically) ๏ Examples: • Riak, Redis,Voldemort 7 Thursday, April 19, 12
  • 22. Key-Value: Pros & Cons ๏ Strengths • Simple data model • Great at scaling out horizontally • Scalable • Available ๏ Weaknesses: • Simplistic data model • Poor for complex data 8 Thursday, April 19, 12
  • 23. Column-Family Category ๏ Google’s “Bigtable: A Distributed Storage System for Structured Data” (2006) • Column-Family are essentially Big Table clones ๏ Data model: • A big table, with column families • Map-reduce for querying/processing ๏ Examples: • HBase, HyperTable, Cassandra 9 Thursday, April 19, 12
  • 24. Column-Family: Pros & Cons ๏ Strengths • Data model supports semi-structured data • Naturally indexed (columns) • Good at scaling out horizontally ๏ Weaknesses: • Unsuited for interconnected data 10 Thursday, April 19, 12
  • 25. Document Database Category ๏ Data model • Collections of documents • A document is a key-value collection • Index-centric, lots of map-reduce ๏ Examples • CouchDB, MongoDB 11 Thursday, April 19, 12
  • 26. Document Database: Pros & Cons ๏ Strengths • Simple, powerful data model (just like SVN!) • Good scaling (especially if sharding supported) ๏ Weaknesses: • Unsuited for interconnected data • Query model limited to keys (and indexes) • Map reduce for larger queries 12 Thursday, April 19, 12
  • 27. Graph Database Category ๏ Data model: • Nodes & Relationships • Hypergraph, sometimes (edges with multiple endpoints) ๏ Examples: • Neo4j (of course), OrientDB, InfiniteGraph, AllegroGraph 13 Thursday, April 19, 12
  • 28. Living in a NOSQL World Complexity Size 14 Thursday, April 19, 12
  • 29. Living in a NOSQL World Complexity RDBMS Size 14 Thursday, April 19, 12
  • 30. Living in a NOSQL World Complexity RDBMS Key-Value Store Size 14 Thursday, April 19, 12
  • 31. Living in a NOSQL World Complexity Column Family RDBMS Key-Value Store Size 14 Thursday, April 19, 12
  • 32. Living in a NOSQL World Complexity Document Databases Column Family RDBMS Key-Value Store Size 14 Thursday, April 19, 12
  • 33. Living in a NOSQL World Complexity Graph Databases Document Databases Column Family RDBMS Key-Value Store Size 14 Thursday, April 19, 12
  • 34. Living in a NOSQL World Complexity Graph Databases Document Databases Column Family RDBMS Key-Value Store 90% Size of use cases 14 Thursday, April 19, 12
  • 35. Graph Database: Pros & Cons 15 Thursday, April 19, 12
  • 36. Graph Database: Pros & Cons ๏ Strengths 15 Thursday, April 19, 12
  • 37. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS 15 Thursday, April 19, 12
  • 38. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data 15 Thursday, April 19, 12
  • 39. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data • Easy to query 15 Thursday, April 19, 12
  • 40. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data • Easy to query ๏ Weaknesses: 15 Thursday, April 19, 12
  • 41. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data • Easy to query ๏ Weaknesses: • Sharding (though they can scale reasonably well) 15 Thursday, April 19, 12
  • 42. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data • Easy to query ๏ Weaknesses: • Sharding (though they can scale reasonably well) ‣also, stay tuned for developments here 15 Thursday, April 19, 12
  • 43. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data • Easy to query ๏ Weaknesses: • Sharding (though they can scale reasonably well) ‣also, stay tuned for developments here • Requires conceptual shift 15 Thursday, April 19, 12
  • 44. Graph Database: Pros & Cons ๏ Strengths • Powerful data model, as general as RDBMS • Fast, for connected data • Easy to query ๏ Weaknesses: • Sharding (though they can scale reasonably well) ‣also, stay tuned for developments here • Requires conceptual shift ‣though graph-like thinking becomes addictive 15 Thursday, April 19, 12
  • 45. Graph DB 101 16 Thursday, April 19, 12
  • 46. Some well-known named graphs 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 47. Some well-known named graphs diamond 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 48. Some well-known named graphs diamond butterfly 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 49. Some well-known named graphs diamond butterfly star 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 50. Some well-known named graphs diamond butterfly star bull 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 51. Some well-known named graphs diamond butterfly star bull franklin 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 52. Some well-known named graphs diamond butterfly star bull franklin robertson 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 53. Some well-known named graphs diamond butterfly star bull franklin robertson horton 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 54. Some well-known named graphs diamond butterfly star bull franklin robertson horton hall-janko 17 see http://en.wikipedia.org/wiki/Gallery_of_named_graphs Thursday, April 19, 12
  • 55. We’re talking about a Property Graph 18 Thursday, April 19, 12
  • 56. We’re talking about a Property Graph ๏ Nodes 18 Thursday, April 19, 12
  • 57. We’re talking about a Property Graph ๏ Nodes 18 Thursday, April 19, 12
  • 58. We’re talking about a Property Graph ๏ Nodes ๏ Relationships 18 Thursday, April 19, 12
  • 59. We’re talking about a Property Graph ๏ Nodes ๏ Relationships 18 Thursday, April 19, 12
  • 60. We’re talking about a Property Graph ๏ Nodes ๏ Relationships 18 Thursday, April 19, 12
  • 61. We’re talking about a Property Graph ๏ Nodes ๏ Relationships ๏ Properties 18 Thursday, April 19, 12
  • 62. We’re talking about a Property Graph name:Andreas ๏ Nodes job: talking knows since: 2002 knows name: Tobias since: 2008 job: coding ๏ Relationships name: Stephen knows job: DJ knows since: 2006 since: 2002 knows ๏ Properties since: 2006 knows name: Peter since: 2000 job: building name: Delia name: Tiberius job: barking knows job: dancer since: 1992 knows knows since: 1998 since: 1998 name: Emil job: plumber name: Allison knows job: plumber since: 2002 knows since: 1996 18 Thursday, April 19, 12
  • 63. We’re talking about a Property Graph name:Andreas ๏ Nodes job: talking knows since: 2002 knows name: Tobias since: 2008 job: coding ๏ Relationships name: Stephen knows job: DJ knows since: 2006 since: 2002 knows ๏ Properties since: 2006 knows name: Peter since: 2000 job: building name: Delia name: Tiberius job: barking knows job: dancer since: 1992 knows knows since: 1998 since: 1998 name: Emil job: plumber name: Allison knows job: plumber since: 2002 knows since: 1996 18 Thursday, April 19, 12
  • 64. We’re talking about a Property Graph name:Andreas ๏ Nodes job: talking knows since: 2002 knows name: Tobias since: 2008 job: coding ๏ Relationships name: Stephen knows job: DJ knows since: 2006 since: 2002 knows ๏ Properties since: 2006 knows name: Peter since: 2000 job: building name: Delia name: Tiberius job: barking knows job: dancer since: 1992 + Indexes knows knows since: 1998 since: 1998 name: Emil job: plumber name: Allison knows job: plumber since: 2002 knows since: 1996 18 Thursday, April 19, 12
  • 65. Compared to RDBMS becomes 19 Thursday, April 19, 12
  • 66. A look at Graph Queries 20 Thursday, April 19, 12
  • 67. Query a graph with a traversal 21 Thursday, April 19, 12
  • 68. Query a graph with a traversal name:Andreas job: talking knows since: 2002 knows name: Tobias since: 2008 job: coding name: Stephen knows job: DJ knows since: 2006 since: 2002 knows since: 2006 knows name: Peter since: 2000 job: building name: Delia name: Tiberius job: barking knows job: dancer since: 1992 knows knows since: 1998 since: 1998 name: Emil job: plumber name: Allison knows job: plumber since: 2002 knows since: 1996 21 Thursday, April 19, 12
  • 69. Query a graph with a traversal // lookup starting point in an index start n=node:node_auto_index(name = ‘Andreas’) n name:Andreas job: talking knows since: 2002 knows name: Tobias since: 2008 job: coding name: Stephen knows job: DJ knows since: 2006 since: 2002 knows since: 2006 knows name: Peter since: 2000 job: building name: Delia name: Tiberius job: barking knows job: dancer since: 1992 knows knows since: 1998 since: 1998 name: Emil job: plumber name: Allison knows job: plumber since: 2002 knows since: 1996 21 Thursday, April 19, 12
  • 70. Query a graph with a traversal // lookup starting point in an index then traverse to find results start n=node:node_auto_index(name = ‘Andreas’) n=node:People(name = ‘Andreas’) match (n)--()--(foaf) return foaf n name:Andreas job: talking knows since: 2002 knows name: Tobias since: 2008 job: coding name: Stephen knows job: DJ knows since: 2006 since: 2002 knows since: 2006 knows name: Peter since: 2000 job: building name: Delia name: Tiberius job: barking knows job: dancer since: 1992 knows knows since: 1998 since: 1998 name: Emil job: plumber name: Allison knows job: plumber since: 2002 knows since: 1996 21 Thursday, April 19, 12
  • 71. Cypher 22 Thursday, April 19, 12
  • 72. Cypher ๏ a pattern-matching query language ๏ declarative grammar with clauses (like SQL) ๏ aggregation, ordering, limits ๏ tabular results 22 Thursday, April 19, 12
  • 73. Cypher ๏ a pattern-matching query language ๏ declarative grammar with clauses (like SQL) ๏ aggregation, ordering, limits ๏ tabular results // get node with id 0 start a=node(0) return a // traverse from node 1 start a=node(1) match (a)-->(b) return b // return friends of friends start a=node(1) match (a)--()--(c) return c 22 Thursday, April 19, 12
  • 74. Neo4j - the Graph Database 23 Thursday, April 19, 12
  • 75. Background of Neo4j ๏ 2001 - Windh Technologies, a media asset management company • CTO Peter with Emil, Johan prototyped a proper graph interface • first SQL-backed, then revised as a full-stack implementation • (just like Amazon-Dynamo, Facebook-Cassandra) ๏ 2003 Neo4j went into 24/7 production ๏ 2006-2007 - Neo4j was spun off as an open source project ๏ 2009 seed funding for the company ๏ 2010 Neo4j Server was created (previously only an embedded DB) ๏ 2011 Fully funded silicon valley start-up - Neo Technology 24 Thursday, April 19, 12
  • 76. Neo4j is a Graph Database 25 Thursday, April 19, 12
  • 77. Neo4j is a Graph Database ๏ A Graph Database: 25 Thursday, April 19, 12
  • 78. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both 25 Thursday, April 19, 12
  • 79. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data 25 Thursday, April 19, 12
  • 80. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data ๏ A Graph Database: 25 Thursday, April 19, 12
  • 81. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data ๏ A Graph Database: • reliable with real ACID Transactions 25 Thursday, April 19, 12
  • 82. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data ๏ A Graph Database: • reliable with real ACID Transactions • scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion Properties 25 Thursday, April 19, 12
  • 83. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data ๏ A Graph Database: • reliable with real ACID Transactions • scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion Properties • Server with REST API, or Embeddable on the JVM 25 Thursday, April 19, 12
  • 84. Neo4j is a Graph Database ๏ A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data ๏ A Graph Database: • reliable with real ACID Transactions • scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion Properties • Server with REST API, or Embeddable on the JVM • high-performance with High-Availability (read scaling) 25 Thursday, April 19, 12
  • 85. the Real World 26 Thursday, April 19, 12
  • 86. Q: What are graphs good for? 27 Thursday, April 19, 12
  • 87. Q: What are graphs good for? A: highly connected data ๏ Recommendations ๏ Business intelligence ๏ Social computing ๏ Geospatial ๏ MDM ๏ Systems management ๏ Genealogy 27 Thursday, April 19, 12
  • 88. Q: What are graphs good for? A: highly connected data ๏ Recommendations • Real Use Cases: ๏ Business intelligence • [A] ACL from Hell ๏ Social computing • [B] Timely recommendations • [C] Global collaboration ๏ Geospatial ๏ MDM ๏ Systems management ๏ Genealogy 27 Thursday, April 19, 12
  • 89. [A] ACL from Hell 28 Thursday, April 19, 12
  • 90. [A] ACL from Hell ๏ Customer: leading consumer utility company with tons and tons of users ๏ Goal: comprehensive access control administration for customers ๏ Benefits: • Flexible and dynamic architecture • Exceptional performance • Extensible data model supports new applications and features • Low cost 28 Thursday, April 19, 12
  • 91. [A] ACL from Hell ๏ Customer: leading consumer utility company with tons and tons of users • A Reliable access control administration system for 5 million customers, subscriptions and agreements ๏ Goal: comprehensive access control administration for customers • Complex dependencies between groups, companies, individuals, accounts, products, subscriptions, services and ๏ Benefits: agreements • Flexible and dynamic architecture • Broad and deep graphs (master customers with 1000s of customers, subscriptions & agreements) • Exceptional performance • Extensible data model supports new applications and features • Low cost 28 Thursday, April 19, 12
  • 92. [A] ACL from Hell ๏ Customer: leading consumer utility company with tons and tons of users • A Reliable access control administration system for 5 million customers, subscriptions and agreements ๏ Goal: comprehensive access control administration for customers • Complex dependencies between groups, companies, individuals, accounts, products, subscriptions, services and ๏ Benefits: agreements • Flexible and dynamic architecture • Broad and deep graphs (master customers with 1000s of customers, subscriptions & agreements) • Exceptional performance • Extensible data model supports new applications name: Andreas works with company: Neo Technology and features owns member of gets discount on • Low cost account: 9758352794 subscribes to has plan agreement: ultimate includes subscription: sports provides group: graphistas discounts service: NFL promotion: fall includes offered subscribes to provides service: Ravens subscription: local 28 Thursday, April 19, 12
  • 93. [A] ACL from Hell 29 Thursday, April 19, 12
  • 94. [B] Timely Recommendations 30 Thursday, April 19, 12
  • 95. [B] Timely Recommendations ๏ Customer: a professional social network • 35 millions users, adding 30,000+ each day ๏ Goal: up-to-date recommendations • Scalable solution with real-time end-user experience • Low maintenance and reliable architecture • 8-week implementation 30 Thursday, April 19, 12
  • 96. [B] Timely Recommendations ๏ Problem: ๏ Customer: a professional social network • 35 millions users, adding 30,000+ each day • Real-time recommendation imperative to attract new users and maintain positive user retention ๏ Goal: up-to-date recommendations • Clustered MySQL solution not scalable or fast enough • Scalable solution with real-time end-user to support real-time requirements experience ๏ Upgrade from running a batch job • Low maintenance and reliable architecture • initial hour-long batch job • 8-week implementation • but then success happened, and it became a day • then two days ๏ With Neo4j, real time recommendations 30 Thursday, April 19, 12
  • 97. [B] Timely Recommendations ๏ Problem: ๏ Customer: a professional social network • 35 millions users, adding 30,000+ each day • Real-time recommendation imperative to attract new users and maintain positive user retention ๏ Goal: up-to-date recommendations • Clustered MySQL solution not scalable or fast enough • Scalable solution with real-time end-user to support real-time requirements experience ๏ Upgrade from running a batch job • Low maintenance and reliable architecture • initial hour-long batch job • 8-week implementation • but then success happened, and it became a day • then two days name:Andreas job: talking ๏ With Neo4j, real time recommendations knows knows name: Tobias job: coding name: Stephen knows job: DJ knows knows knows name: Peter job: building name: Delia name: Tiberius job: barking knows job: dancer knows name: Emil knows job: plumber name: Allison job: plumber knows knows 30 Thursday, April 19, 12
  • 98. [C] Collaboration on Global Scale 31 Thursday, April 19, 12
  • 99. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • Highly flexible data analysis • highly collaborative end-users • Sub-second results for large, densely-connected data ๏ Goal: offer an online platform for global collaboration • User experience - competitive advantage 31 Thursday, April 19, 12
  • 100. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • Highly flexible data analysis • highly collaborative end-users • Sub-second results for large, densely-connected data ๏ Goal: offer an online platform for global collaboration • User experience - competitive advantage • Massive amounts of data tied to members, user groups, member content, etc. all interconnected • Infer collaborative relationships through user- generated content • Worldwide Availability 31 Thursday, April 19, 12
  • 101. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • Highly flexible data analysis • highly collaborative end-users • Sub-second results for large, densely-connected data ๏ Goal: offer an online platform for global collaboration • User experience - competitive advantage • Massive amounts of data tied to members, user groups, member content, etc. all interconnected • Infer collaborative relationships through user- generated content • Worldwide Availability Asia North America Europe 31 Thursday, April 19, 12
  • 102. [C] Collaboration on Global Scale ๏ Customer: a worldwide software leader • Highly flexible data analysis • highly collaborative end-users • Sub-second results for large, densely-connected data ๏ Goal: offer an online platform for global collaboration • User experience - competitive advantage • Massive amounts of data tied to members, user groups, member content, etc. all interconnected • Infer collaborative relationships through user- generated content • Worldwide Availability Asia North America Europe Asia North America Europe 31 Thursday, April 19, 12
  • 103. Insurance <3 Graphs? 32 Thursday, April 19, 12
  • 104. Q: Why should you care? 33 Thursday, April 19, 12
  • 105. Q: Why should you care? A: because you have connected data. 33 Thursday, April 19, 12
  • 106. Q: Why should you care? A: because you have connected data. ๏ CRM, BI, social graphs 33 Thursday, April 19, 12
  • 107. Q: Why should you care? A: because you have connected data. ๏ CRM, BI, social graphs ๏ GeoSpatial analytics 33 Thursday, April 19, 12
  • 108. Q: Why should you care? A: because you have connected data. ๏ CRM, BI, social graphs ๏ GeoSpatial analytics ๏ Fraud detection 33 Thursday, April 19, 12
  • 109. Q: Why should you care? A: because you have connected data. ๏ CRM, BI, social graphs ๏ GeoSpatial analytics ๏ Fraud detection ๏ Network management 33 Thursday, April 19, 12
  • 110. A sample insurance domain setup 34 Thursday, April 19, 12
  • 111. A sample insurance domain setup Home sub_product concerns owns Building A Questionaire: fills_in Customer: C12 attribute covered_by Q1 contains_question Size: 120m2 Coverage: Super T&C: X is_offered risk_has_attr covers_risk sub_cover has Risk: Building small is_offered includes signed Coverage: Fire includes Quote: C12 based_on made Policy: C12 made User: U34 contains owns Agreement: C12 34 Thursday, April 19, 12
  • 112. Recommendations, BI, Social Computing 35 Thursday, April 19, 12
  • 113. Recommendations, BI, Social Computing ๏ enrich your CRM with data from Facebook, Google, Twitter etc 35 Thursday, April 19, 12
  • 114. Recommendations, BI, Social Computing ๏ enrich your CRM with data from Facebook, Google, Twitter etc ๏ Recommender systems for products 35 Thursday, April 19, 12
  • 115. Recommendations, BI, Social Computing ๏ enrich your CRM with data from Facebook, Google, Twitter etc ๏ Recommender systems for products ๏ Find influencers in your customer base for special treatment 35 Thursday, April 19, 12
  • 116. This is what your CRM sees Customer1 Peter Neubauer 36 http://inmaps.linkedinlabs.com/network Thursday, April 19, 12
  • 117. This is what your CRM doesn’t see. 37 http://inmaps.linkedinlabs.com/network Thursday, April 19, 12
  • 118. This is what your CRM doesn’t see. 37 http://inmaps.linkedinlabs.com/network Thursday, April 19, 12
  • 119. Geospatial features 38 Thursday, April 19, 12
  • 120. Geospatial features ๏ Dynamic layers from different sources 38 Thursday, April 19, 12
  • 121. Geospatial features ๏ Dynamic layers from different sources • domainstandardflood area layer + crime index + firestation + living data -> index 38 Thursday, April 19, 12
  • 122. Geospatial features ๏ Dynamic layers from different sources • domainstandardflood area layer + crime index + firestation + living data -> index ๏ routes of low insurance risks 38 Thursday, April 19, 12
  • 123. Geospatial features 39 Thursday, April 19, 12
  • 124. Geospatial features 40 Thursday, April 19, 12
  • 125. Geospatial features 41 Thursday, April 19, 12
  • 126. Configuration/Network Management 42 Thursday, April 19, 12
  • 127. Configuration/Network Management ๏ Model physical and logical networks 42 Thursday, April 19, 12
  • 128. Configuration/Network Management ๏ Model physical and logical networks • impact analysis 42 Thursday, April 19, 12
  • 129. Configuration/Network Management ๏ Model physical and logical networks • impact analysis • configuration management 42 Thursday, April 19, 12
  • 130. Configuration/Network Management ๏ Model physical and logical networks • impact analysis • configuration management • network inventory 42 Thursday, April 19, 12
  • 131. Configuration/Network Management 43 Thursday, April 19, 12
  • 132. Questions! 44 Thursday, April 19, 12
  • 133. and, Thanks :) 45 Thursday, April 19, 12