Class BlankNodeAllocatorHash

  • All Implemented Interfaces:
    BlankNodeAllocator
    Direct Known Subclasses:
    BlankNodeAllocatorFixedSeedHash

    public class BlankNodeAllocatorHash
    extends java.lang.Object
    implements BlankNodeAllocator
    Allocate bnode labels using a per-run seed and the label presented.

    This is the most scalable, always legal allocator.

    New allocators must be created per parser run, or .reset() called. These are fed to a digest to give a bit string, (currently MD5, to get a 128bit bit string) that is used to form a bNode AnonId of hex digits.

    In addition, there is a cache of label->node allocations, using the natural tendency to locality in a database dump. (subject bNodes, bNodes in lists and other data values structures like unit values).

    Not thread safe.