Top Banner
The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber
42

The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Jul 05, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

The Challenge of Connected Data

Dr. Jim Webber

Chief Scientist, Neo Technology

@jimwebber

Page 2: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://slantmagazine.com/film/review/saturday-night-fever/4210

Page 3: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://freenewfoundlandlabrador.blogspot.com/2011/07/nl-fisheries-500-years-of-turmoil.html

Page 4: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.oopsla.org/oopsla2008/support

Page 5: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://uncyclopedia.wikia.com/wiki/File:Square-earth.jpg

Page 6: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.telegraph.co.uk/finance/newsbysector/industry/8470355/The-fall-and-rise-of-the-British-car-industry-timeline.html

Page 7: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Bomb the argies! Crush the miners!

Defy Europe!I’m CEO, bitch!

http://www.answers.com/topic/margaret-thatcher-large-image-3

Page 8: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.themoviedb.org/movie/26305

Page 9: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://iremedy.net/blog/2010/05/your-office-without-boundaries/

Page 10: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Share everything!Privacy

schmivacy!Social graph!

I’m CEO, bitch!

Page 11: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber
Page 12: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.flickr.com/photos/crazyneighborlady/355232758/

Page 13: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://gallery.nen.gov.uk/image82582-.html

Page 14: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.xtranormal.com/watch/6995033/mongo-db-is-web-scale

Page 15: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Aggregate-Oriented Databaseshttp://martinfowler.com/bliki/AggregateOrientedDatabase.html

“There is a significant downside - the whole approach works really well when data access is aligned with the aggregates, but what if you want to look at the data in a different way? Order entry naturally stores orders as aggregates, but analyzing product sales cuts across the aggregate structure. The advantage of not using an aggregate structure in the database is that it allows you to slice and dice your data different ways for different audiences.

This is why aggregate-oriented stores talk so much about map-reduce.”

Page 16: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

complexity = f(size, connectedness, uniformity)

Page 17: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.bbc.co.uk/london/travel/downloads/tube_map.html

Page 18: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

stolefrom

lovesloves

enemy

enemy

A Good Man Goes to War

appeared in

appeared in

appeared in

appeared in

Victory of the Daleks

appeared in

appeared in

companion

companion

enemy

Page 19: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Neo4j: Creating Nodes

GraphDatabaseService db = new EmbeddedGraphDatabase("/tmp/neo");

Transaction tx = db.beginTx();

try {

Node theDoctor = db.createNode();

theDoctor.setProperty("name", "the Doctor");

tx.success();

} finally {

tx.finish();

}

Page 20: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber
Page 21: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Neo4j: Creating RelationshipsTransaction tx = db.beginTx();

try {

Node theDoctor = db.createNode();

theDoctor.setProperty("name", "The Doctor");

Node susan = db.createNode();

susan.setProperty("firstname", "Susan");

susan.setProperty("lastname", "Campbell");

susan.createRelationshipTo(theDoctor, COMPANION_OF));

tx.success();

} finally {

tx.finish();

}

Page 22: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

HIPSTER DEVS, Y U NO LIKE JAVA?

Page 23: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Cypher – A Humane “Query” Language

// Create a simple graph

CREATE doctor = { character : 'Doctor' }, master = { character : 'Master' },

(doctor)<-[e:ENEMY_OF]-(master)

// Add some data into it

SET doctor.awesomeness = 11

SET master.niceness = “very”

SET e.weight = 100

// Ooops!

DELETE master.niceness

SET master.nastiness = “100%”

Page 24: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.tolkienlibrary.com/press/922-Isildur_Poker_Champion.php

Page 25: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Aggregate Database

username: Jeff1986age: 25

friend : SallyDJfriend : Gazza

username: SallyDJage: 28

friend : Jeff1986friend: FunkySam

username: FunkySamage: 24

friend : SallyDJ

username: Gazzaage: 32

friend : Jeff1986

Page 26: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Application Layer

username: Jeff1986age: 25

username: SallyDJage: 28

username: FunkySamage: 24

username: Gazzaage: 32

Aggregate Database

username: Jeff1986age: 25

friend : SallyDJfriend : Gazza

username: SallyDJage: 28

friend : Jeff1986friend: FunkySam

username: FunkySamage: 24

friend : SallyDJ

username: Gazzaage: 32

friend : Jeff1986

Rei

fy

Page 27: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Graph Database

username: Jeff1986age: 25

username: SallyDJage: 28

username: FunkySamage: 24

username: Gazzaage: 32

FRIEND FRIEND

FRIEND

Page 28: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://www.freewebs.com/fictionfrek101/han.jpg

Page 29: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Graph Database

username: SallyDJage: 28

product: CoolDecksmanufacturer : Acme

price : 599PURCHASED

product: SuperCansmanufacturer : Acme

price : 150

PURCHASE

D

username: Gazzaage: 32

PURCHASED

Aggregate Database

username: SallyDJage: 28

purchased : CoolDecks

purchased : SuperCans

username: Gazzaage: 32

purchased : SuperCans

product: SuperCans

manufacturer : Acmeprice : 150

product: CoolDecks

manufacturer : Acmeprice : 599

Page 30: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://xkcd.com/653/

Page 31: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Graph Database

product: CoolDecksmanufacturer : Acme

price : 599

PURCHASED

product: SuperCansmanufacturer : Acme

price : 150

PURCHASED

PURCHASED

username: Jeff1986age: 25

username: SallyDJage: 28

username: FunkySamage: 24

username: Gazzaage: 32

FRIEND

FRIEND

FRIEND

Page 32: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

http://void.iddqd.cz/comic-book-guy-pc.jpg

Page 33: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Graph matching

• It’s super-powerful for looking for patterns in a data set

– Retail analytics

– Real-time upselling

• High-level of abstraction

– Business-oriented patterns

• Formerly done with Java, now Cypher

Page 34: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber
Page 35: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

character: Doctor

actor: ???

episode: ???title: ???

species: Cyberman

-[:PLAYED]->

-[:APPEARED_IN]->

<-[:APPEARED_IN]-

ASCII Art Queries!

Page 36: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

-[:PLAYED]->

-[:APPEARED_IN]->

<-[:APPEARED_IN]-

ASCII Art Queries!(Doctor)

(Actor)

(Episode)

(Cyberman)

Page 37: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

ASCII Art Queries!

match (doctor)<-[:PLAYED]-(actor) -[:APPEARED_IN]->(ep) <-[:APPEARED_IN]-(cybermen)

Page 38: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Cypher QueryIn which episodes did the cybermen appear, and who played the Doctor?

start doctor=node:characters(character='Doctor'), cybermen=node:species(species='Cyberman')

match (doctor)<-[:PLAYED]-(actor) -[:APPEARED_IN]->(ep) <-[:APPEARED_IN]-(cybermen)

where has(ep.title) and has(ep.episode)

return ep.title, actor.actor

Page 39: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber
Page 40: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

• Adobe Creative Cloud– Gazillions of social– Single large global cluster

• Thingdom– Node.js, Neo4j– Now acquired by FiftyThree

• Cisco network management– Nuff said

• And now… Bingo Friendzy– Facebook gaming app from

Gamesys

Page 41: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber
Page 42: The Challenge of Connected Data · The Challenge of Connected Data Dr. Jim Webber Chief Scientist, Neo Technology @jimwebber

Thanks for listeningNeo4j: http://neo4j.orgNeo Technology: http://neotechnology.comMe: @jimwebber