About

My name is Stephen Mallette and I've been developing software for about fifteen years. My experience spans a number of industries, however the core of my efforts have been in healthcare and includes experience with Electronic Health Records, medical billing, and pharmaceutical business intelligence. I've been fortunate to work with a number of start-up companies during this time and understand the challenges that they face.

I'm an active open source contributor and focus most of that work on the TinkerPop and Aurelius stacks, which are both related to graph technology. I also maintain GremlinDocs, which provides code-example-based documentation for the Gremlin graph traversal language.

Recent Posts

Subscribe to RSS Feed

Article - Powers of Ten Series

One of the most common questions that people seem to have when getting started with graph databases is how to best load their data. As is the case with most technological things, a one size fits all answer isn’t really applicable. While there are some general patterns that can be followed, there are definitely different strategies to apply depending on the size of the data.

To identify the common patterns and address the different strategies at different sizes issue, I worked with

Read More »

Deconstruct Gremlin Paths

I mentioned to someone recently that to be great at Gremlin, you have to be great at Groovy. There is too much syntactic sugar and shorthand in Groovy to just ignore. In my previous post, I demonstrated the use of collate in batching Gremlin results. In this post, I present another bit of Groovy goodness in relation to Gr...

Read More »

Use Collate to Batch Gremlin Results

Groovy has many great functions and syntax that can expand the capabilities and flexibility of the Gremlin programming language. A recent polyglot query I came across, highlighted how important it can be to know Groovy as well as you know Gremlin.

Consider a situation where you want to write some Gremlin to pull some data from the TinkerPop toy graph to then pass to a query sent to a MySQL database. ...

Read More »

Use has() Over filter()

There’s been some discussion on the Aurelius mailing list regarding the advantages of using a single `filter` with a complex closure over usage of multiple `has` steps. You can read more about the discussion here. The core of the discussion is about realizing that Gremlin will compile `has` steps down to...

Read More »

Lein Uberjar with Titan Dependency

If you’re working with Titan in Clojure there’s a good chance you’re using Lein and if you are there’s also a chance that you are building a “jar with dependencies” via lein uberjar. I was doing just that yesterday, when I was suddenly tossed into a point of deep frustration. I watched happily as my code ran perfectly in...

Read More »
All Posts