Status: In Progress
Affects Version/s: BIGDATA_RELEASE_1_2_1
Fix Version/s: None
Add a maintained cache for the "DESCRIBE" of RDF Resources. The cache should be able to answer linked data GET queries, SPARQL DESCRIBE queries, and also allow us to resolve star-join patterns against a diplodocus  style linked data cache. This will also support fast parallel materialization of resources for graph API clients .
Cache maintenance can be handled by registering an IChangeLog listener. We can do that by creating a CustomServiceFactory for the cache. The factory will see every connection start. The factory can also be integrated into query evaluation by rewriting the DESCRIBE to include a SERVICE call. The DESCRIBE is basically a star-join . We will need to take the returned Graph and generate the appropriate bindings. By handling this as star-join we can leverage the DESCRIBE cache for star-patterns in queries. This is very similar to diplodocus style materialized joins, except that the latter also uses the ordered list of the templates in the dictionary to decide when clusters can join (they share the same RDF Value entry).
 https://sourceforge.net/apps/trac/bigdata/ticket/560 (Graph API)
 https://diuf.unifr.ch/main/xi/diplodocus (diplodocus)
 https://sourceforge.net/apps/trac/bigdata/ticket/552 (Retry star-joins)