Read the terminology, kids: a new Dgraph release

Today I released Dgraph v0.0.2. The number of changes from the earlier v0.0.1 release are very small, but important, as follows.

First, it turns out that Dgraph’s use of ‘head’ and ‘tail’ has all this time been counter to the standard use of this terminology. Typical graph theoretic use, by analogy to an arrow, thinks of the tail as the vertex an edge points away from, while the head is the head of the arrow, i.e. the vertex it points to; in other words, tail → head. Dgraph’s usage was the exact opposite of this, but has now been brought in line with the standard.

While embarrassing, the good news is this is a non-breaking change; it only affects internal parameter names and the parameter names of some methods. If you’re a user of Dgraph, you may however wish to check that you may have not been misled into also using the terminology incorrectly. I suspect that I unthinkingly used the terms by a mistaken analogy to Snakes and Ladders, where you move from the head to the tail of the snake…

The other important fix is that the isVertex method is now exposed by the CachedEdgeList class. Since this is mostly used internally for safety checking, its absence had not been noticed until now.

I’d like to thank Peter Roman, who brought these issues to my attention.