Skip to content

Uber's Dragon (graph) Data Integration Toolkit

Uber's Dragon (graph) Data Integration Toolkit

Details

This is a joint meetup with our friends at the Category Theory and Applications meetup. For zoom access, RSVP at:
https://bit.ly/dragon-integration

This is the first of a short series of technical deep-dive presentations on Uber's Dragon data integration toolkit (https://eng.uber.com/dragon-schema-integration-at-uber-scale), which is written in Haskell. For an introduction to the formal data model behind Dragon, see the previous presentation on Algebraic Property Graphs (https://www.meetup.com/Category-Theory/events/lcmnvrybclbgb). In contrast, these sessions will be light on theory and heavy on implementation.

The presenter will be Josh Shinavier, Research Scientist at Uber.
https://www.linkedin.com/in/joshuashinavier/

These events will be scheduled week-to-week. Part 1 will look at the overall design of Dragon, the core concepts of graphs, schemas, data types, and values, and Dragon's basic approach to schema and data transformations.

Some of the topics covered in this series include:
Overview of APG, and Dragon as an extension of APG.
Dragon's core schemas. This is the data model itself, i.e. APG plus extensions
Data types used for transformations in Dragon. Bidirectional and lossy mappings.
RPC languages: Thrift, Protobuf, and Avro
RDF languages: SHACL and OWL
Programming languages: Haskell, Scala, and (in progress) Java
Lexical/topological utilities (incl. name resolution)
Schema validation and data validation. Enforcing schema best practices.
Reading and writing schema sets from the file system
Annotations and "stashing" (i.e. capturing features not supported in a given target language)
Data-level mappings using YAML and JSON
Polyglot loading (reading from a mix of schema languages)
Property-based testing using random graphs

For zoom access, RSVP at:
https://bit.ly/dragon-integration

Photo of South Bay Graph Database Meetup group
South Bay Graph Database Meetup
See more events