java.lang.Object
org.apache.jena.riot.lang.BlankNodeAllocatorHash
- All Implemented Interfaces:
 BlankNodeAllocator
- Direct Known Subclasses:
 BlankNodeAllocatorFixedSeedHash
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.
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionorg.apache.jena.graph.NodeAllocate based on a non-null label.org.apache.jena.graph.Nodecreate()Create a fresh blank node, different from anything generated so far.voidreset()Reset allocation state - calls toBlankNodeAllocator.alloc(java.lang.String)will return a different blank node for a label than the one returned before the reset. 
- 
Constructor Details
- 
BlankNodeAllocatorHash
public BlankNodeAllocatorHash() 
 - 
 - 
Method Details
- 
reset
public void reset()Description copied from interface:BlankNodeAllocatorReset allocation state - calls toBlankNodeAllocator.alloc(java.lang.String)will return a different blank node for a label than the one returned before the reset.- Specified by:
 resetin interfaceBlankNodeAllocator
 - 
alloc
Description copied from interface:BlankNodeAllocatorAllocate based on a non-null label. Calling this twice, with the same label will generate equivalent nodes but they may not be identical (i.e they are .equals but may not be ==)- Specified by:
 allocin interfaceBlankNodeAllocator
 - 
create
public org.apache.jena.graph.Node create()Description copied from interface:BlankNodeAllocatorCreate a fresh blank node, different from anything generated so far. Will not clash with a node allocated byBlankNodeAllocator.alloc(java.lang.String)- Specified by:
 createin interfaceBlankNodeAllocator
 
 -