Class BlankNodeAllocatorHash

java.lang.Object
org.apache.jena.riot.lang.BlankNodeAllocatorHash
All Implemented Interfaces:
BlankNodeAllocator
Direct Known Subclasses:
BlankNodeAllocatorFixedSeedHash

public class BlankNodeAllocatorHash extends 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.