SlideShare a Scribd company logo
1 of 23
© 2022 Neo4j, Inc. All rights reserved.
© 2022 Neo4j, Inc. All rights reserved.
CSX Technology:
Building the Rail Network Digital
Twin
Dean Schaefer,
Software Engineer
Nicholas Jones,
Software Engineer
© 2022 Neo4j, Inc. All rights reserved.
2
20,000
route miles of track
$12.5 B
in yearly revenue
194
years in operation
© 2022 Neo4j, Inc. All rights reserved.
3
Assets and Equipment in Neo4j
24,000
Locomotives
CSX and others
6,700
CSX Train
Crew Members
263,000
Railcars
CSX and others
1,100
CSX Mileposts
1,600
CSX Trains
per day
© 2022 Neo4j, Inc. All rights reserved.
4
The Goal
Create a centralized repository of
shipment data represented through a
near real-time graph in order to provide
more accurate and granular asset
tracking.
• Locomotives
• Railcars
• Customers
• Shipping Orders
• Mileposts
Image Placeholder
© 2022 Neo4j, Inc. All rights reserved.
5
Graph Model
© 2022 Neo4j, Inc. All rights reserved.
6
Graph Model
© 2022 Neo4j, Inc. All rights reserved.
7
Basic Architecture Overview
© 2022 Neo4j, Inc. All rights reserved.
Train Movement Events
represent various activities
8
Arrival
At
Milepost
Departure
From
Milepost
© 2022 Neo4j, Inc. All rights reserved.
Table of Contents
• Overview
◦ CSX
• Assets
◦ Digital Twin
• Domain
 We Are here
• Graph Business Rules
• Challenges
◦ Scenario 1
• Solution
◦ Scenario 2
9
© 2022 Neo4j, Inc. All rights reserved.
© 2022 Neo4j, Inc. All rights reserved.
10
1
Business Rule
LOCATED_AT
• Start Date = Arrival Time
• End Date = Depart Time
L
Equipment
• Initial
• Number
ASSOCIATED_TO LOCATED_AT
Arrival @ Milepost
Trip
• startDate
• endDate
• loadEmpty
Milepost
• milepostId
startDate
endDate
© 2022 Neo4j, Inc. All rights reserved.
© 2022 Neo4j, Inc. All rights reserved.
11
2
Business Rule
When Load Empty Status changes…
• End Date Existing Trip
• Create a new one
Departure @ Milepost
L
Equipment
• Initial
• Number
ASSOCIATED_TO LOCATED_AT
Trip
• startDate
• endDate
• loadEmpty
Milepost
• milepostId
E
startDate
endDate
© 2022 Neo4j, Inc. All rights reserved.
© 2022 Neo4j, Inc. All rights reserved.
12
Challenges
1 Race
Conditions
• doesEquipmentExist() ? use() : create();
• Concurrent events duplicate equipment
2 Event
Veracity
• Missing expected events
• Out of Order Events
◦ Delayed Manual Reports
◦ Multiple Reporting Systems
© 2022 Neo4j, Inc. All rights reserved.
© 2022 Neo4j, Inc. All rights reserved.
Scenario
with Out Of Order Events
Order Time Type Milepost Load Empty
1 9:00 Arrival A Empty
2 11:00 Arrival B Loaded
3 10:00 Departure A Empty
© 2022 Neo4j, Inc. All rights reserved.
14
:Equipment
E
:Trip
A
:Milepost
equipmentInitial = CSXT
equipmentNumber = 123
startDate = 9:00
endDate =
loadEmptyStatus = E
ASSOCIATED_TO LOCATED_AT
stationMilepost = A
Order Time Type Milepost Load Empty
1 9:00 Arrival A Empty 1) Expected
• Active Trip associated
© 2022 Neo4j, Inc. All rights reserved.
15
stationMilepost = A
Order Time Type Milepost Load Empty
1 9:00 Arrival A Empty
2 11:00 Arrival B Loaded
1) Expected
• Active Trip associated
2) Expected
• New Trip Created
• Prior Trip Terminated
:Equipment
E
:Trip
A
:Milepost
equipmentInitial = CSXT
equipmentNumber = 123
startDate = 9:00
endDate = 11:00
loadEmptyStatus = E
ASSOCIATED_TO LOCATED_AT
LOCATED_AT
B
L
startDate = 11:00
endDate =
loadEmptyStatus = L
© 2022 Neo4j, Inc. All rights reserved.
16
:Equipment
E
:Trip
A
:Milepost
equipmentInitial = CSXT
equipmentNumber = 123
startDate = 9:00
endDate = 11:00
loadEmptyStatus = E
ASSOCIATED_TO LOCATED_AT
stationMilepost = A
Order Time Type Milepost Load Empty
1 9:00 Arrival A Empty
2 11:00 Arrival B Loaded
3 10:00 Departure A Empty
LOCATED_AT
B
L
startDate = 11:00
endDate = 10:00
loadEmptyStatus = L
E
startDate = 10:00
endDate =
loadEmptyStatus = E
1) Expected
• Active Trip associated
2) Expected
• New Trip Created
• Prior Trip Terminated
3) Invalid State
• Late event tramples prior
• Active Trip not latest
• Split Location relationships
© 2022 Neo4j, Inc. All rights reserved.
17
The Solution
Redesigning for Immutability
• Remove “state dependent” insertions
• Leverage MERGE Clause
• Pivot Graph Strategy
• New Trip node for each event
• Event specific relationships
• Don’t end date relations or nodes
© 2022 Neo4j, Inc. All rights reserved.
18
Scenario
with MERGE
© 2022 Neo4j, Inc. All rights reserved.
19
MERGE
:Equipment
E
:Trip
A
:Milepost
equipmentInitial = CSXT
EquipmentNumber = 123
eventDate = 12/12/12 9:00
loadEmptyStatus = E
ARRIVED_AT
9:00
Arrival at A
ASSOCIATED_TO
E
v
e
n
t
A
r
r
i
v
a
l
T
i
m
e
Scenario with MERGE
© 2022 Neo4j, Inc. All rights reserved.
20
MERGE
MERGE
:Equipment
E
:Trip
A
:Milepost
equipmentInitial = CSXT
EquipmentNumber = 123
eventDate = 12/12/12 9:00
loadEmptyStatus = E
ASSOCIATED_TO ARRIVED_AT
B
L
eventDate = 12/12/12 11:00
loadEmptyStatus = L
ARRIVED_AT
9:00
11:00
Arrival at A
Arrival at B
E
v
e
n
t
A
r
r
i
v
a
l
T
i
m
e
Scenario with MERGE
© 2022 Neo4j, Inc. All rights reserved.
21
:Equipment
E
:Trip
A
:Milepost
equipmentInitial = CSXT
EquipmentNumber = 123
eventDate = 12/12/12 9:00
loadEmptyStatus = E
ARRIVED_AT
E
eventDate = 12/12/12 10:00
loadEmptyStatus = E
Arrival at A
MERGE
Arrival at B
MERGE
Departure from A
MERGE
9:00
11:00
10:00
ASSOCIATED_TO
B
L
eventDate = 12/12/12 11:00
loadEmptyStatus = L
ARRIVED_AT
E
v
e
n
t
A
r
r
i
v
a
l
T
i
m
e
Scenario with MERGE
© 2022 Neo4j, Inc. All rights reserved.
22
Lessons Learned
• Be deliberate with your graph model
• Minimize baked-in business logic
• Choose the right abstraction to model reality
• Consider leveraging immutability
• MERGE is a powerful tool for stateful operations
© 2022 Neo4j, Inc. All rights reserved.
© 2022 Neo4j, Inc. All rights reserved.
Fin.

More Related Content

What's hot

Optimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4jOptimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4jNeo4j
 
Transforming BT’s Infrastructure Management with Graph Technology
Transforming BT’s Infrastructure Management with Graph TechnologyTransforming BT’s Infrastructure Management with Graph Technology
Transforming BT’s Infrastructure Management with Graph TechnologyNeo4j
 
Data Modeling on Azure for Analytics
Data Modeling on Azure for AnalyticsData Modeling on Azure for Analytics
Data Modeling on Azure for AnalyticsIke Ellis
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4jNeo4j
 
Intro to Data Vault 2.0 on Snowflake
Intro to Data Vault 2.0 on SnowflakeIntro to Data Vault 2.0 on Snowflake
Intro to Data Vault 2.0 on SnowflakeKent Graziano
 
Digitizing Business Services
Digitizing Business ServicesDigitizing Business Services
Digitizing Business Servicesaccenture
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Servicesconfluent
 
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Neo4j
 
EY: Why graph technology makes sense for fraud detection and customer 360 pro...
EY: Why graph technology makes sense for fraud detection and customer 360 pro...EY: Why graph technology makes sense for fraud detection and customer 360 pro...
EY: Why graph technology makes sense for fraud detection and customer 360 pro...Neo4j
 
Easily Identify Sources of Supply Chain Gridlock
Easily Identify Sources of Supply Chain GridlockEasily Identify Sources of Supply Chain Gridlock
Easily Identify Sources of Supply Chain GridlockNeo4j
 
Enterprise Data Governance Framework With Change Management
Enterprise Data Governance Framework With Change ManagementEnterprise Data Governance Framework With Change Management
Enterprise Data Governance Framework With Change ManagementSlideTeam
 
Driving change, leading with the SAP®ecosystem
Driving change, leading with the SAP®ecosystemDriving change, leading with the SAP®ecosystem
Driving change, leading with the SAP®ecosystemaccenture
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsDATAVERSITY
 
API Management
API ManagementAPI Management
API ManagementProlifics
 
Neanex - Semantic Construction with Graphs
Neanex - Semantic Construction with GraphsNeanex - Semantic Construction with Graphs
Neanex - Semantic Construction with GraphsNeo4j
 
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j
 
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...Neo4j
 
The ABCs of Treating Data as Product
The ABCs of Treating Data as ProductThe ABCs of Treating Data as Product
The ABCs of Treating Data as ProductDATAVERSITY
 
GSK: How Knowledge Graphs Improve Clinical Reporting Workflows
GSK: How Knowledge Graphs Improve Clinical Reporting WorkflowsGSK: How Knowledge Graphs Improve Clinical Reporting Workflows
GSK: How Knowledge Graphs Improve Clinical Reporting WorkflowsNeo4j
 
The Knowledge Graph Explosion
The Knowledge Graph ExplosionThe Knowledge Graph Explosion
The Knowledge Graph ExplosionNeo4j
 

What's hot (20)

Optimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4jOptimizing Your Supply Chain with Neo4j
Optimizing Your Supply Chain with Neo4j
 
Transforming BT’s Infrastructure Management with Graph Technology
Transforming BT’s Infrastructure Management with Graph TechnologyTransforming BT’s Infrastructure Management with Graph Technology
Transforming BT’s Infrastructure Management with Graph Technology
 
Data Modeling on Azure for Analytics
Data Modeling on Azure for AnalyticsData Modeling on Azure for Analytics
Data Modeling on Azure for Analytics
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
 
Intro to Data Vault 2.0 on Snowflake
Intro to Data Vault 2.0 on SnowflakeIntro to Data Vault 2.0 on Snowflake
Intro to Data Vault 2.0 on Snowflake
 
Digitizing Business Services
Digitizing Business ServicesDigitizing Business Services
Digitizing Business Services
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
 
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
Optimizing the Supply Chain with Knowledge Graphs, IoT and Digital Twins_Moor...
 
EY: Why graph technology makes sense for fraud detection and customer 360 pro...
EY: Why graph technology makes sense for fraud detection and customer 360 pro...EY: Why graph technology makes sense for fraud detection and customer 360 pro...
EY: Why graph technology makes sense for fraud detection and customer 360 pro...
 
Easily Identify Sources of Supply Chain Gridlock
Easily Identify Sources of Supply Chain GridlockEasily Identify Sources of Supply Chain Gridlock
Easily Identify Sources of Supply Chain Gridlock
 
Enterprise Data Governance Framework With Change Management
Enterprise Data Governance Framework With Change ManagementEnterprise Data Governance Framework With Change Management
Enterprise Data Governance Framework With Change Management
 
Driving change, leading with the SAP®ecosystem
Driving change, leading with the SAP®ecosystemDriving change, leading with the SAP®ecosystem
Driving change, leading with the SAP®ecosystem
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business Goals
 
API Management
API ManagementAPI Management
API Management
 
Neanex - Semantic Construction with Graphs
Neanex - Semantic Construction with GraphsNeanex - Semantic Construction with Graphs
Neanex - Semantic Construction with Graphs
 
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
 
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
Kerry Group: How Neo4j graph technology is delivering benefits to Kerry Group...
 
The ABCs of Treating Data as Product
The ABCs of Treating Data as ProductThe ABCs of Treating Data as Product
The ABCs of Treating Data as Product
 
GSK: How Knowledge Graphs Improve Clinical Reporting Workflows
GSK: How Knowledge Graphs Improve Clinical Reporting WorkflowsGSK: How Knowledge Graphs Improve Clinical Reporting Workflows
GSK: How Knowledge Graphs Improve Clinical Reporting Workflows
 
The Knowledge Graph Explosion
The Knowledge Graph ExplosionThe Knowledge Graph Explosion
The Knowledge Graph Explosion
 

Similar to Building the Rail Network Digital Twin at CSX

Trucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4jTrucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4jNeo4j
 
Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...
Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...
Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...Data Con LA
 
Full Stack Visualization: Build A React App With A Sankey Diagram
Full Stack Visualization: Build A React App With A Sankey DiagramFull Stack Visualization: Build A React App With A Sankey Diagram
Full Stack Visualization: Build A React App With A Sankey DiagramNeo4j
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine LearningJames Ward
 
Geode: Much More Than a Cache
Geode: Much More Than a CacheGeode: Much More Than a Cache
Geode: Much More Than a CacheVMware Tanzu
 
Oracle Open World 2018 - Cloud Lift Accelerator Suite
Oracle Open World 2018 - Cloud Lift Accelerator SuiteOracle Open World 2018 - Cloud Lift Accelerator Suite
Oracle Open World 2018 - Cloud Lift Accelerator SuiteIke Aniagoh
 
Graphes de connaissances avec Neo4j
Graphes de connaissances avec Neo4j Graphes de connaissances avec Neo4j
Graphes de connaissances avec Neo4j Neo4j
 
DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端Hung-Yen Chen
 
RECAP: The Simulation Approach
RECAP: The Simulation ApproachRECAP: The Simulation Approach
RECAP: The Simulation ApproachRECAP Project
 
AstriCon2020 The Great Migration
AstriCon2020 The Great MigrationAstriCon2020 The Great Migration
AstriCon2020 The Great MigrationJason Park
 
The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...
The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...
The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...Safe Software
 
From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....
From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....
From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....Neo4j
 
PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...
PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...
PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...PowerLift Events
 
Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL
Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL
Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL confluent
 
Truck planning: how to certify the right route
Truck planning: how to certify the right routeTruck planning: how to certify the right route
Truck planning: how to certify the right routeSpeck&Tech
 

Similar to Building the Rail Network Digital Twin at CSX (20)

Trucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4jTrucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4j
 
Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...
Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...
Data Con LA 2022 - Who Owns That Yacht? How Graphs Are Used to Identify Asset...
 
Full Stack Visualization: Build A React App With A Sankey Diagram
Full Stack Visualization: Build A React App With A Sankey DiagramFull Stack Visualization: Build A React App With A Sankey Diagram
Full Stack Visualization: Build A React App With A Sankey Diagram
 
Koober Machine Learning
Koober Machine LearningKoober Machine Learning
Koober Machine Learning
 
Koober Preduction IO Presentation
Koober Preduction IO PresentationKoober Preduction IO Presentation
Koober Preduction IO Presentation
 
Geode: Much More Than a Cache
Geode: Much More Than a CacheGeode: Much More Than a Cache
Geode: Much More Than a Cache
 
Oracle Open World 2018 - Cloud Lift Accelerator Suite
Oracle Open World 2018 - Cloud Lift Accelerator SuiteOracle Open World 2018 - Cloud Lift Accelerator Suite
Oracle Open World 2018 - Cloud Lift Accelerator Suite
 
Graphes de connaissances avec Neo4j
Graphes de connaissances avec Neo4j Graphes de connaissances avec Neo4j
Graphes de connaissances avec Neo4j
 
Mobile gpu cloud computing
Mobile gpu cloud computing Mobile gpu cloud computing
Mobile gpu cloud computing
 
EMRN Company Presentation 2018
EMRN Company Presentation 2018EMRN Company Presentation 2018
EMRN Company Presentation 2018
 
eMARINE Global Presentation
eMARINE Global PresentationeMARINE Global Presentation
eMARINE Global Presentation
 
DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端
 
RECAP: The Simulation Approach
RECAP: The Simulation ApproachRECAP: The Simulation Approach
RECAP: The Simulation Approach
 
AstriCon2020 The Great Migration
AstriCon2020 The Great MigrationAstriCon2020 The Great Migration
AstriCon2020 The Great Migration
 
The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...
The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...
The Peak of Data Integration Encore- Navigating Climate Change with Data Inno...
 
server-side-fusion-vts
server-side-fusion-vtsserver-side-fusion-vts
server-side-fusion-vts
 
From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....
From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....
From Relational to Graph: How Going Graph Revealed the Unknown(Jason_Schatz)....
 
PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...
PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...
PowerLogistics Asia 2013- "Project Logistics: It's all about planning" - Per ...
 
Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL
Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL
Serving the Real-Time Data Needs of an Airport with Kafka Streams and KSQL
 
Truck planning: how to certify the right route
Truck planning: how to certify the right routeTruck planning: how to certify the right route
Truck planning: how to certify the right route
 

More from Neo4j

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansNeo4j
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...Neo4j
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosNeo4j
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Neo4j
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsNeo4j
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j
 
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...Neo4j
 

More from Neo4j (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with Graph
 
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Building the Rail Network Digital Twin at CSX

  • 1. © 2022 Neo4j, Inc. All rights reserved. © 2022 Neo4j, Inc. All rights reserved. CSX Technology: Building the Rail Network Digital Twin Dean Schaefer, Software Engineer Nicholas Jones, Software Engineer
  • 2. © 2022 Neo4j, Inc. All rights reserved. 2 20,000 route miles of track $12.5 B in yearly revenue 194 years in operation
  • 3. © 2022 Neo4j, Inc. All rights reserved. 3 Assets and Equipment in Neo4j 24,000 Locomotives CSX and others 6,700 CSX Train Crew Members 263,000 Railcars CSX and others 1,100 CSX Mileposts 1,600 CSX Trains per day
  • 4. © 2022 Neo4j, Inc. All rights reserved. 4 The Goal Create a centralized repository of shipment data represented through a near real-time graph in order to provide more accurate and granular asset tracking. • Locomotives • Railcars • Customers • Shipping Orders • Mileposts Image Placeholder
  • 5. © 2022 Neo4j, Inc. All rights reserved. 5 Graph Model
  • 6. © 2022 Neo4j, Inc. All rights reserved. 6 Graph Model
  • 7. © 2022 Neo4j, Inc. All rights reserved. 7 Basic Architecture Overview
  • 8. © 2022 Neo4j, Inc. All rights reserved. Train Movement Events represent various activities 8 Arrival At Milepost Departure From Milepost
  • 9. © 2022 Neo4j, Inc. All rights reserved. Table of Contents • Overview ◦ CSX • Assets ◦ Digital Twin • Domain  We Are here • Graph Business Rules • Challenges ◦ Scenario 1 • Solution ◦ Scenario 2 9
  • 10. © 2022 Neo4j, Inc. All rights reserved. © 2022 Neo4j, Inc. All rights reserved. 10 1 Business Rule LOCATED_AT • Start Date = Arrival Time • End Date = Depart Time L Equipment • Initial • Number ASSOCIATED_TO LOCATED_AT Arrival @ Milepost Trip • startDate • endDate • loadEmpty Milepost • milepostId startDate endDate
  • 11. © 2022 Neo4j, Inc. All rights reserved. © 2022 Neo4j, Inc. All rights reserved. 11 2 Business Rule When Load Empty Status changes… • End Date Existing Trip • Create a new one Departure @ Milepost L Equipment • Initial • Number ASSOCIATED_TO LOCATED_AT Trip • startDate • endDate • loadEmpty Milepost • milepostId E startDate endDate
  • 12. © 2022 Neo4j, Inc. All rights reserved. © 2022 Neo4j, Inc. All rights reserved. 12 Challenges 1 Race Conditions • doesEquipmentExist() ? use() : create(); • Concurrent events duplicate equipment 2 Event Veracity • Missing expected events • Out of Order Events ◦ Delayed Manual Reports ◦ Multiple Reporting Systems
  • 13. © 2022 Neo4j, Inc. All rights reserved. © 2022 Neo4j, Inc. All rights reserved. Scenario with Out Of Order Events Order Time Type Milepost Load Empty 1 9:00 Arrival A Empty 2 11:00 Arrival B Loaded 3 10:00 Departure A Empty
  • 14. © 2022 Neo4j, Inc. All rights reserved. 14 :Equipment E :Trip A :Milepost equipmentInitial = CSXT equipmentNumber = 123 startDate = 9:00 endDate = loadEmptyStatus = E ASSOCIATED_TO LOCATED_AT stationMilepost = A Order Time Type Milepost Load Empty 1 9:00 Arrival A Empty 1) Expected • Active Trip associated
  • 15. © 2022 Neo4j, Inc. All rights reserved. 15 stationMilepost = A Order Time Type Milepost Load Empty 1 9:00 Arrival A Empty 2 11:00 Arrival B Loaded 1) Expected • Active Trip associated 2) Expected • New Trip Created • Prior Trip Terminated :Equipment E :Trip A :Milepost equipmentInitial = CSXT equipmentNumber = 123 startDate = 9:00 endDate = 11:00 loadEmptyStatus = E ASSOCIATED_TO LOCATED_AT LOCATED_AT B L startDate = 11:00 endDate = loadEmptyStatus = L
  • 16. © 2022 Neo4j, Inc. All rights reserved. 16 :Equipment E :Trip A :Milepost equipmentInitial = CSXT equipmentNumber = 123 startDate = 9:00 endDate = 11:00 loadEmptyStatus = E ASSOCIATED_TO LOCATED_AT stationMilepost = A Order Time Type Milepost Load Empty 1 9:00 Arrival A Empty 2 11:00 Arrival B Loaded 3 10:00 Departure A Empty LOCATED_AT B L startDate = 11:00 endDate = 10:00 loadEmptyStatus = L E startDate = 10:00 endDate = loadEmptyStatus = E 1) Expected • Active Trip associated 2) Expected • New Trip Created • Prior Trip Terminated 3) Invalid State • Late event tramples prior • Active Trip not latest • Split Location relationships
  • 17. © 2022 Neo4j, Inc. All rights reserved. 17 The Solution Redesigning for Immutability • Remove “state dependent” insertions • Leverage MERGE Clause • Pivot Graph Strategy • New Trip node for each event • Event specific relationships • Don’t end date relations or nodes
  • 18. © 2022 Neo4j, Inc. All rights reserved. 18 Scenario with MERGE
  • 19. © 2022 Neo4j, Inc. All rights reserved. 19 MERGE :Equipment E :Trip A :Milepost equipmentInitial = CSXT EquipmentNumber = 123 eventDate = 12/12/12 9:00 loadEmptyStatus = E ARRIVED_AT 9:00 Arrival at A ASSOCIATED_TO E v e n t A r r i v a l T i m e Scenario with MERGE
  • 20. © 2022 Neo4j, Inc. All rights reserved. 20 MERGE MERGE :Equipment E :Trip A :Milepost equipmentInitial = CSXT EquipmentNumber = 123 eventDate = 12/12/12 9:00 loadEmptyStatus = E ASSOCIATED_TO ARRIVED_AT B L eventDate = 12/12/12 11:00 loadEmptyStatus = L ARRIVED_AT 9:00 11:00 Arrival at A Arrival at B E v e n t A r r i v a l T i m e Scenario with MERGE
  • 21. © 2022 Neo4j, Inc. All rights reserved. 21 :Equipment E :Trip A :Milepost equipmentInitial = CSXT EquipmentNumber = 123 eventDate = 12/12/12 9:00 loadEmptyStatus = E ARRIVED_AT E eventDate = 12/12/12 10:00 loadEmptyStatus = E Arrival at A MERGE Arrival at B MERGE Departure from A MERGE 9:00 11:00 10:00 ASSOCIATED_TO B L eventDate = 12/12/12 11:00 loadEmptyStatus = L ARRIVED_AT E v e n t A r r i v a l T i m e Scenario with MERGE
  • 22. © 2022 Neo4j, Inc. All rights reserved. 22 Lessons Learned • Be deliberate with your graph model • Minimize baked-in business logic • Choose the right abstraction to model reality • Consider leveraging immutability • MERGE is a powerful tool for stateful operations
  • 23. © 2022 Neo4j, Inc. All rights reserved. © 2022 Neo4j, Inc. All rights reserved. Fin.