The GRAPH engine allows you to deal with hierarchies and graphs in a purely relational way. So, we can find all children of an item, path from an item to a root node, shortest path between two items, and so on, each with a simple basic query structure using standard SQL grammar.
The engine is implemented as a MySQL/MariaDB 5.1 plugin (we’re working on a 5.0 backport for some clients) and thus runs with an unmodified server.
Demo time! I’ll simplify/strip a little bit here for space reasons, but what’s here is plain cut/paste from a running server, no edits
-- insert a few entries with connections (and multiple paths) insert into foo (origid, destid) values (1,2), (2,3), (2,4), (4,5), (3,6), (5,6); -- a regular table to join on to insert into people values (1,"pearce"),(2,"hunnicut"),(3,"potter"),[Read more...]