66
Dev07 Once You Go Graph Nathan T Freeman

Once You Go Graph

Embed Size (px)

Citation preview

Page 1: Once You Go Graph

Dev07

Once You Go Graph

Nathan T Freeman

Page 2: Once You Go Graph

Nathan T Freeman

[email protected]

@ntf

redpillnow.comwww

Acapulco, Mexico

Nathanfreeman.wordpress.com

Page 3: Once You Go Graph

Challenge the way you think about Notes data

Page 4: Once You Go Graph

Change the way you approach your next project

Page 5: Once You Go Graph

Bring you faster, better results with your own data

Page 6: Once You Go Graph

Whatis a graph?

Page 7: Once You Go Graph

a database in which relationships are records

Page 8: Once You Go Graph

Does notuse indexes

for relationships

Page 9: Once You Go Graph

Records are key value pairs

Page 10: Once You Go Graph

An entity is called aVertex (or Node)

Page 11: Once You Go Graph

A Relationship is called an

Edge

Page 12: Once You Go Graph

Edges have

label properties* almost always verbs

Page 13: Once You Go Graph

Graph Database

VertexConnects

Records-Data-In

Property

Has Has

Edge

Key-Value PairIs-A

Can-Be-A

Page 14: Once You Go Graph

Whyuse a graph?

Page 15: Once You Go Graph

Flexibility

Page 16: Once You Go Graph

Scalability

Page 17: Once You Go Graph

Performancibility

Page 18: Once You Go Graph

Whouses graphs?

Page 19: Once You Go Graph
Page 20: Once You Go Graph

Open G

raph

Page 21: Once You Go Graph
Page 22: Once You Go Graph

Microsoft G

raph

Page 23: Once You Go Graph

Know

ledge Graph

Page 24: Once You Go Graph

By 2017 25% of enterprises will be

using graph databases

Market Overview: Graph Databases - Forrester Research, May 2015

Page 25: Once You Go Graph

Whatare graphs used for?

Page 26: Once You Go Graph

The World Today

Page 27: Once You Go Graph

Social Networks

Page 28: Once You Go Graph

FraudDetection

Page 29: Once You Go Graph

Network&

IT Operations

Page 30: Once You Go Graph

Real Time Suggestions

Page 31: Once You Go Graph

Master Data Management

Page 32: Once You Go Graph

Howdo you use graphs?

Page 33: Once You Go Graph

CustomerName: Red Pill Now Add a vertex

with some properties

Page 34: Once You Go Graph

CustomerName: Red Pill Now

Purchase OrderOrderNumber: 003256

Add another

vertex with some properties

Page 35: Once You Go Graph

CustomerName: Red Pill Now

Orders

Purchase OrderOrderNumber: 003256

Add an edge between them

Page 36: Once You Go Graph

CustomerName: Red Pill Now

Orders

Purchase OrderOrderNumber: 003256

ProductProductName: Surface Pro 4Description: Window tablet computer

ContainsUnit Price: $999Quantity: 4

Repeat

Page 37: Once You Go Graph

CustomerName: Red Pill Now

Orders

ProductProductName: Surface Pro 4Description: Window tablet computer

ContainsUnit Price: $999Quantity: 4

Find a Vertex

Purchase OrderOrderNumber: 003256

Page 38: Once You Go Graph

CustomerName: Red Pill Now

ProductProductName: Surface Pro 4Description: Window tablet computer

Iterate itsEdges

Orders

Purchase OrderOrderNumber: 003256

ContainsUnit Price: $999Quantity: 4

Page 39: Once You Go Graph

CustomerName: Red Pill Now

Orders

Purchase OrderOrderNumber: 003256

ProductProductName: Surface Pro 4Description: Window tablet computer

ContainsUnit Price: $999Quantity: 4

Repeat

Page 40: Once You Go Graph

Whatare some graphs?

Page 41: Once You Go Graph

Graph D

atabases

Page 42: Once You Go Graph

ClusterableGreat licensing

Transactional Sharded

Multi-modal: all records are simultaneously graph elements, documents and maps

Page 43: Once You Go Graph

Domino API

Great licensingClusterable

Transactional Sharded

Multi-modal: all records are simultaneously graph elements, documents and maps

Page 44: Once You Go Graph

Is the Penny Dropping?

Page 45: Once You Go Graph

Frames

Pipes

Furnace

Blueprints

RexsterGremlin

Page 46: Once You Go Graph

JDBCFor Graphs

Page 47: Once You Go Graph

What Are Frames?

Page 48: Once You Go Graph

Java objects stored in graphs

Page 49: Once You Go Graph

Interfacecentric

Page 50: Once You Go Graph

Annotation based

Page 51: Once You Go Graph

VertexFrame: LikeableVertexFrame: LikerEdgeFrame: Likes

Example 1 – Simple Social Graph

Page 52: Once You Go Graph

VertexFrame: Replica extends Likeablereplicaid, title

VertexFrame: Databaseserver, filepath

EdgeFrame: InstanceOf Replica <-> Database

VertexFrame: Viewtitle, isCalendar

EdgeFrame: FoundIn Replica <-> View

EdgeFrame: IndexedIn Database <-> View isBuilt

Example 2 – Red Pill Now Forensics

Page 53: Once You Go Graph

VertexFrame: PersonfirstName, lastName

VertexFrame: Organizationname, website

EdgeFrame: WorksAt Person <-> Organizationtitle, startDate, endDate

Nathan Freeman WorksAt Red Pill NowSoftware Architect, Oct 2013

Nathan Freeman WorksAt OpenNTF.orgCo-founder, Jan 2001

Nathan Freeman WorksAt GBSSoftware Engineer, Sep 2009, Oct 2013

Example 3 – Contacts

Page 54: Once You Go Graph

Frames Builtins

Identity graph

Social graph

Conference graph

Workflow graph

Page 55: Once You Go Graph

Spotlight: Conference Graph

Conference

Attendee

Presentation

Sponsor

Social

TimeSlot

MeetingLocation

Includes

Attending

HappeningIn HappeningAt

HasLocations

Includes

RegisteredFor Sponsoring

Presenting

HappeningIn

HappeningIn

HappeningAt

IncludesSchedules

Page 56: Once You Go Graph

Roll Your Own

Page 57: Once You Go Graph

Any NSF can be

included in a graph

Page 58: Once You Go Graph

Any number of NSFs can

be included

Page 59: Once You Go Graph

Any form can be used to define a frame

Page 60: Once You Go Graph

Any document can be a vertex

Page 61: Once You Go Graph

Any view can be a

vertex

Page 62: Once You Go Graph

Any view entry can be an

edge

Page 63: Once You Go Graph

• DAS Extension• Currently only provides Frames, but

Vertex/Edge is coming• Base URL - http://server/api/oda/• /frames/ for collections• /frame/ for elements• /[name of graph]/

REST API Routes

Page 64: Once You Go Graph

• id=• type=• key=• filterkey=, filtervalue=• partialkey=, partialvalue=• start=, count=• orderby=

REST API Parameters

Page 65: Once You Go Graph

http://server/api/oda/frames/now?type=Database…/frames/now?type=Item&filterkey=type&filtervalue=Author.../frame/now?id=86257F15006F1DE952B9E3E57D3E34AA837F200B4D2D0E5A…/frame/now?id=86257F15006F1DE9E4656D86A5C03FDA8F4E138F18F2C5E4&edges…/frame/now?id=…&label=foundIn

Postman demos

Documentation available at

https://github.com/OpenNTF/org.openntf.domino/wiki

REST API Examples – Red Pill Now

Page 66: Once You Go Graph