GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

45
MAP QA ANALYSIS WITH / Pieter Cailliau @cailliaup

description

GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

Transcript of GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

Page 1: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

MAP QA ANALYSIS WITH

/ Pieter Cailliau @cailliaup

Page 2: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

ABOUT MEGraduated in Computer Science

Master thesis: Time based graph model for a dynamic routeplanner

Started @TomTom in 2010

Unfortunately, I'm to not related Robert Cailliau

Page 3: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

ABOUT

Page 4: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 5: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

PRODUCTS OF

Page 6: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

CONSUMER

Page 7: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

AUTOMOTIVE

Page 8: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

LICENSING

Page 9: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

TELEMATICS

Page 10: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

MAP EDITING PROCESS

Page 11: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 12: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 13: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

EXAMPLE QA CHECKS

Page 14: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 15: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 16: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

OUR MOST EXPENSIVE QA CHECKS

Page 17: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

A Restricted Access Island (RAI) is a piece of theRoad Network where you can navigate locally

but not reach or leave globally.

Page 18: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 19: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

THE RAI ALGORITHM

Page 20: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 21: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

ROAD CATEGORIES

Page 22: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 23: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 24: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

If you travel from A to B, a route exists that willget you to your destination B in a strict

ascending order of road categories followed by astrict descending order of road categories to B

Page 25: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

THIS IS NOT A RAI!

Page 26: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

THIS IS A RAI!

Page 27: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

It is sufficient to know when changing a road X,with RC(X)=i, that we can still reach* a road Y,

with RC(Y)>i, without going over a lowerRC.**/***

* reach means that we take all trafic restricitons into account.** this transitivity works on condition that the highest road category is connected.

*** the inverse is also needed, from a higher RC towards road X.

Page 28: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

BREADTH FIRST SEARCH

Page 29: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

RAI CHECK FACTS

Page 30: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 31: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

GRAPH DENSITY

Page 32: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 33: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

RDBMSOptimized for all our data

geospatial index

Average QA time = 40sec

Depth limitation of 100, 97% of violations found

New violations are added to our database

Page 34: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 35: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 36: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 37: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

RDBMS + NEO4JOptimized for routing/navigation

Average QA time = 5.2sec

No depth limitation

All RAI violations detected

Page 38: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

NEO4J IMPLEMENTATION DETAILSEmbedded

High Availability

Semantic layer on top of it

Algorithms in java

Our graph model

Page 39: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

LESSONS LEARNED

Page 40: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network
Page 41: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

IT’S HARD TO MAINTAIN MULTIPLE “MATERIALIZED VIEWS”OF OUR DATABASE

Page 42: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

BRING YOUR CODE TO THE DATA

Page 43: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

WHAT'S NEXT?Migrate more QA Checks to Neo4J

Crawling agents

Page 44: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

DEMO!

Page 45: GraphConnect 2014 SF: Using a Graph Database to Ensure a Routable Road Network

QUESTIONS?