Discovered e4Graph which is a generalised storage system for directed graphs in C++ using MetaKit as the backend and providing C++ and scripting interfaces.
My first impression is that this would be very useful to build an annotation graph API on top of. It’s already been tried for XML storage and Metakit gives good performance for large documents. It provides for persistence (i n a database file) and would work cross platform — no need for MySQL installations etc.
Another thought is that it would be a nice platform to implement the generalised path expression query language on. While I’m really interested in querying annotation graphs, I think the extension of XPath to arbitrary axes and kleene-* will be useful in more generalised graphs. Doing it on top of e4graph would enable testing the QL on XML as well as AG., implementing XPath as a special case.