- All Implemented Interfaces:
- com.bigdata.rdf.internal.IInlineURIFactory
public class WikibaseInlineUriFactory
extends com.bigdata.rdf.internal.InlineURIFactory
Factory building InlineURIHandlers for wikidata.
One thing to consider when working on these is that its way better for write
(and probably update) performance if all the bits of an entity are grouped
together in Blazegraph's BTrees. Scattering them causes updates to have to
touch lots of BTree nodes. {s,p,o}, {p,o,s}, and {o,s,p} are the indexes so
and {s,p,o} seems most sensitive to scattering.
Another thing to consider is that un-inlined uris are stored as longs which
take up 9 bytes including the flags byte. And inlined uris are stored as 1
flag byte, 1 (or 2) uri prefix bytes, and then delegate date type. That means
that if the delegate data type is any larger than 6 bytes then its a net loss
on index size using it. So you should avoid longs and uuids. Maybe even
forbid them entirely.