Tuesday, May 26, 2020

2020 Arrived With a New Fascination: mm-ADT

Since February of 2020, I have been spending time with the mm-ADT, or multi-model abstract data type, project. I am not an expert by any means, but Dr. Marko Rodriguez and Dr. Ryan Wisnesky have been gracious to me on the Slack channel.

Marko has been coding since he was 12 and since has become a pioneer in the graph database movement with his development of the graph traversal language Gremlin. He worked on an early implementation in Apache TinkerPop and commercialized Gremlin in Titan through his company Aurelius [1,2,3,4].

Gremlin provides a virtual machine that allows people to express queries functionally on data that can be interpreted as a graph. A variety of programming and query languages can work together to compile to byte code used to execute Gremlin traversals.


Ryan worked with Dr. David Spivak to manipulate databases using category theory. It is described extensively in both David and Ryan's talks [5,6] and has been commercialized through Conexus. Ryan Holbrook also observed the work and produced and excellent talk [7].

Conexus' product, the Categorical Query Language allows users to apply various database tasks such as"querying, combining, migrating, and evolving" using provably correct algebra.

Marko and Ryan are among the group congregating in a new mm-ADT community.  The goal is to have Languages, Processors, and Databases interconnect. if this is confusing, look at Actors in the distributed computer sense for where this is headed [8]. However, Actors are inclusive to mm-ADT since it is more general.

Algebra described in the String Ring Theory paper [9 +], combined with category theory, is being implemented in the mm-ADT project. What might have been a variation and for TinkerPop3 has now become generalized algebraic approach that is applicable to more than things resembling graphs. This generalized approach was described by Marko in the GQL Community Update [10], ApacheCon in 2019 [11] , and DataDays in 2020 [12].

Joshua Shinavier has also followed the mathematical trend in TinkerPop by working on Algebraic Property Graphs with Ryan Wisnesky [13] and giving a talk at the Global Graph Summit (co-located with DataDays) [14].

My involvement with this community came conveniently when a friend urged me to start a project that aimed to track data from at least nationally distributed IoT devices.

tl;dr: Marko began following me during the mid-summer of 2019. I am blaming my mm-ADT involvement on a tweet and perhaps a prayer: