Traversing Knowledge Graphs with Good Old (and New) Joins