tinkerpop and titan from a python state of mind

21
TinkerPop and Titan from a Python State of Mind NYC PyData 2015 Brian Corbin and Denise Gosnell, PhD Twitter & github: @corbinbs @denisekgosnell gremlin-python

Upload: denise-gosnell-phd

Post on 23-Jan-2017

1.137 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: TinkerPop and Titan from a  Python State of Mind

TinkerPop and Titan from a Python State of MindNYC PyData 2015Brian Corbin and

Denise Gosnell, PhD

Twitter & github: @corbinbs

@denisekgosnellgremlin-python

Page 2: TinkerPop and Titan from a  Python State of Mind

2

What is PokitDok?

PokitDok is the operating system

for digital health

Twitter & github: @corbinbs

@denisekgosnell

Page 3: TinkerPop and Titan from a  Python State of Mind

3

Xerox and HealthSpot: Powered by PokitDok

Twitter & github: @corbinbs

@denisekgosnell

Page 4: TinkerPop and Titan from a  Python State of Mind

4

PokitDok APIs: Marketplace

Page 5: TinkerPop and Titan from a  Python State of Mind

5

PokitDok APIs

The business of health,for developers.

https://platform.pokitdok.com/

Twitter & github: @corbinbs

@denisekgosnell

Page 6: TinkerPop and Titan from a  Python State of Mind

6

What we built:APIsOur marketplaceThe HealthGraph A Gremlin-Python Library

Why?

Test Drive.

TinkerPop and Titan from a Python State of Mind

Twitter & github: @corbinbs

@denisekgosnell

Page 7: TinkerPop and Titan from a  Python State of Mind

7

HealthGraph: Property Graph Model

Twitter & github: @corbinbs

@denisekgosnell

Page 8: TinkerPop and Titan from a  Python State of Mind

8HealthGraph: Top 100k Providers

Page 9: TinkerPop and Titan from a  Python State of Mind

9

HealthGraph: Data Inferences

Twitter & github: @corbinbs

@denisekgosnell

Page 10: TinkerPop and Titan from a  Python State of Mind

10

HealthGraph: Predictive Models

• What is the probability claim X will be denied?

• A new customer just searched for “family practice”; recommend the best provider within 10 miles.

• Given a CPT code, what is the expected reimbursement rate from insurance company A in zip code 37601?

Twitter & github: @corbinbs

@denisekgosnell

Page 11: TinkerPop and Titan from a  Python State of Mind

11

Our HealthGraph Production Stack

• Titan 0.5.3

• TinkerPop’s Blueprints 2.30

• Cassandra and Elastic Search

Gremlin-Python

Twitter & github: @corbinbs

@denisekgosnell

Page 12: TinkerPop and Titan from a  Python State of Mind

12

• Lighter Context Switching between development tools and environments

• Incompatible syntax issues between Gremlin and Python

• Using Python.

Gremlin-PythonMotivation

Twitter & github: @corbinbs

@denisekgosnell

Page 13: TinkerPop and Titan from a  Python State of Mind

13

Bi-Partite Graph Recommendation System

Twitter & github: @corbinbs

@denisekgosnell

Customer

viewed

Doctor

Page 14: TinkerPop and Titan from a  Python State of Mind

14

Bi-Partite Graph Recommendation System

Twitter & github: @corbinbs

@denisekgosnell

Customer

viewed

Doctor

Page 15: TinkerPop and Titan from a  Python State of Mind

15

Bi-Partite Graph Recommendation System

Twitter & github: @corbinbs

@denisekgosnell

Customer

viewed

Doctor

Page 16: TinkerPop and Titan from a  Python State of Mind

16

Bi-Partite Graph Recommendation System

Twitter & github: @corbinbs

@denisekgosnell

Customer

viewed

Doctor

Page 17: TinkerPop and Titan from a  Python State of Mind

17

Bi-Partite Graph Recommendation System

Twitter & github: @corbinbs

@denisekgosnell

Customer

viewed

Doctor

Page 18: TinkerPop and Titan from a  Python State of Mind

18

Option 1: Grab our docker container1. Install Dockerhttps://www.docker.com/docker-toolbox

2. Jump in the “Docker Quickstart Terminal”

3. Fire up our example container:docker run -i -t pokitdok/gremlin-python-test-drive

Option 2: Shell script install1. Clone our repo:https://github.com/pokitdok/gremlin-python

2. Run the set-up scripts:$./test_drive/setup.sh &&./test_drive/run.sh

Gremlin-Python Test Drive Twitter & github: @corbinbs

@denisekgosnell

Page 19: TinkerPop and Titan from a  Python State of Mind

19

Shout-outs:Jython projectRexpro Python

Advantages:Initial exploratory value via quickly

standing up graph traversals via python syntax

Better team integration across API development/data science

Gremlin-Python Conclusion

Twitter & github: @corbinbs

@denisekgosnell

Page 20: TinkerPop and Titan from a  Python State of Mind

20

1. Transition to Titan 1.0 and Tinkerpop 3.0

2. Keep the communication open between the data team and the API team to continue building out this integration

3. Deploy Python implementations of fundamental graph algorithms:

BFS, DFS, Dijkstra, … etc

Gremthon Future Work Twitter & github: @corbinbs

@denisekgosnell

Page 21: TinkerPop and Titan from a  Python State of Mind

TinkerPop and Titan from a Python State of Mind

Brian Corbin and Denise Gosnell, PhD

Twitter & github: @corbinbs

@denisekgosnellgremlin-python