org.apache.jena.riot.lang
Class LabelToNode

java.lang.Object
  extended by org.apache.jena.riot.system.MapWithScope<String,Node,Node>
      extended by org.apache.jena.riot.lang.LabelToNode

public class LabelToNode
extends MapWithScope<String,Node,Node>

Allocation Nodes (Bnodes usually) based on the graph and label Various different policies. See SyntaxLabels.createLabelToNode() for getting a default setup; some of the others are for testing and debugging and may not generate legal RDF overall (e.g. reparsign the same file gets the same bNodes)


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.jena.riot.system.MapWithScope
MapWithScope.Allocator<A,B,S>, MapWithScope.ScopePolicy<A,B,S>
 
Constructor Summary
LabelToNode(MapWithScope.ScopePolicy<String,Node,Node> scopePolicy, MapWithScope.Allocator<String,Node,Node> allocator)
           
 
Method Summary
static LabelToNode createIncremental()
          Allocation, globally scoped, that uses a incrementing field to create new nodes
static LabelToNode createScopeByDocumentHash()
          Allocation from a single scope; just the label matters.
static LabelToNode createScopeByDocumentHash(UUID seed)
          Allocation from a single scope; just the label matters.
static LabelToNode createScopeByDocumentOld()
          The policy up to jena 2.10.0 - problems at very large scale
static LabelToNode createScopeByGraph()
          Allocation scoped by graph and label.
static LabelToNode createUseLabelAsGiven()
          Allocation using syntax label; output is unsafe for reading (use createUseLabelEncoded() for output-input).
static LabelToNode createUseLabelEncoded()
          Allocation using an encoded syntax label (i.e.
 
Methods inherited from class org.apache.jena.riot.system.MapWithScope
clear, create, get
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LabelToNode

public LabelToNode(MapWithScope.ScopePolicy<String,Node,Node> scopePolicy,
                   MapWithScope.Allocator<String,Node,Node> allocator)
Method Detail

createScopeByDocumentHash

public static LabelToNode createScopeByDocumentHash()
Allocation from a single scope; just the label matters. This is the RDF syntax correct policy.


createScopeByDocumentHash

public static LabelToNode createScopeByDocumentHash(UUID seed)
Allocation from a single scope; just the label matters. Use this policy if repeated runs must give identical allocations

Parameters:
seed - Seed

createScopeByDocumentOld

public static LabelToNode createScopeByDocumentOld()
The policy up to jena 2.10.0 - problems at very large scale


createScopeByGraph

public static LabelToNode createScopeByGraph()
Allocation scoped by graph and label.


createUseLabelAsGiven

public static LabelToNode createUseLabelAsGiven()
Allocation using syntax label; output is unsafe for reading (use createUseLabelEncoded() for output-input). The reverse operation is provided by NodeToLabel.createBNodeByLabelAsGiven() but the pair is unsafe for output-input. Use encoded labels for that. The main pupose of this LabelToNode is to preserve the used label for debugging.


createUseLabelEncoded

public static LabelToNode createUseLabelEncoded()
Allocation using an encoded syntax label (i.e. _:B<encoded> format from NodeFmtLib.encodeBNodeLabel(java.lang.String)). The reverse operation is provided by NodeToLabel.createBNodeByLabelEncoded(). This pair should be used to write out and recover blank node by internal id.


createIncremental

public static LabelToNode createIncremental()
Allocation, globally scoped, that uses a incrementing field to create new nodes



Licenced under the Apache License, Version 2.0