Franz Inc, AllegroGraph

com.franz.agraph.repository
Class AGValueFactory

java.lang.Object
  extended by org.openrdf.model.impl.ValueFactoryBase
      extended by org.openrdf.model.impl.ValueFactoryImpl
          extended by com.franz.agraph.repository.AGValueFactory
All Implemented Interfaces:
org.openrdf.model.ValueFactory

public class AGValueFactory
extends org.openrdf.model.impl.ValueFactoryImpl

Implements the Sesame ValueFactory interface for AllegroGraph.


Field Summary
 String PREFIX_FOR_EXTERNAL_BNODES
           
 
Constructor Summary
AGValueFactory(AGRepository repository)
           
AGValueFactory(AGRepository repository, AGRepositoryConnection conn)
           
 
Method Summary
 org.openrdf.model.Resource asResource(com.hp.hpl.jena.graph.Node node)
           
 org.openrdf.model.URI asURI(com.hp.hpl.jena.graph.Node node)
           
 org.openrdf.model.Value asValue(com.hp.hpl.jena.graph.Node node)
          Creates an OpenRDF Value from a concrete Jena Node.
 org.openrdf.model.BNode createBNode()
          Returns a new blank node.
 org.openrdf.model.BNode createBNode(String nodeID)
          Returns a new blank node with the given id.
 org.openrdf.model.URI generateURI(String registeredEncodableNamespace)
          Returns a unique URI within the specified encodable namespace.
 org.openrdf.model.URI[] generateURIs(String namespace, int amount)
          Returns unique URIs within the specified encodable namespace.
 String[] getBlankNodeIds()
          Returns the array of fetched blank node ids Primarily for testing purposes, not for use in apps.
 int getBlankNodesPerRequest()
          Gets the number of blank nodes fetched per request.
 com.franz.agraph.http.AGHTTPClient getHTTPClient()
           
 AGRepository getRepository()
           
 boolean isAGBlankNodeId(String id)
          Return true iff id looks like an AG blank node id.
 boolean isURIForExternalBlankNode(org.openrdf.model.Value v)
           
 void setBlankNodesPerRequest(int amount)
          Sets the number of blank nodes to fetch per request.
 
Methods inherited from class org.openrdf.model.impl.ValueFactoryImpl
createLiteral, createLiteral, createLiteral, createStatement, createStatement, createURI, createURI, getInstance
 
Methods inherited from class org.openrdf.model.impl.ValueFactoryBase
createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral, createLiteral
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFIX_FOR_EXTERNAL_BNODES

public String PREFIX_FOR_EXTERNAL_BNODES
Constructor Detail

AGValueFactory

public AGValueFactory(AGRepository repository)

AGValueFactory

public AGValueFactory(AGRepository repository,
                      AGRepositoryConnection conn)
Method Detail

getRepository

public AGRepository getRepository()

getHTTPClient

public com.franz.agraph.http.AGHTTPClient getHTTPClient()

setBlankNodesPerRequest

public void setBlankNodesPerRequest(int amount)
Sets the number of blank nodes to fetch per request.

This can be used to control the number and frequency of HTTP requests made when automatically obtaining new sets of blank node ids from the server.

Defaults to the value of System property com.franz.agraph.repository.blankNodesPerRequest or to 100 if that property has not been set.

Parameters:
amount -

getBlankNodesPerRequest

public int getBlankNodesPerRequest()
Gets the number of blank nodes fetched per request.

Returns:
the number of blank nodes fetched per request.

getBlankNodeIds

public String[] getBlankNodeIds()
Returns the array of fetched blank node ids Primarily for testing purposes, not for use in apps.

Returns:
the array of fetched blank node ids

createBNode

public org.openrdf.model.BNode createBNode(String nodeID)
Returns a new blank node with the given id. Consider using createBNode() instead to get an AG-allocated id, it is safer (avoids unintended blank node conflicts) and can be stored more efficiently. If id is null or empty, returns a unique BNode with AG-allocated id; otherwise, returns a BNode with the given (a.k.a. "external") id (careful to avoid blank node conflicts). See the javadoc for allowing external blank nodes for more discussion.

Specified by:
createBNode in interface org.openrdf.model.ValueFactory
Overrides:
createBNode in class org.openrdf.model.impl.ValueFactoryImpl
See Also:
AGHttpRepoClient.setAllowExternalBlankNodeIds(boolean), AGRepositoryConnection.getHttpRepoClient()

createBNode

public org.openrdf.model.BNode createBNode()
Returns a new blank node. If this value factory is for an AGRepository, returns a new BNode with an AG-allocated id; otherwise, returns a new BNode with an "external" id (using ValueFactoryImpl). See also the javadoc for allowing external blank nodes for more discussion.

Specified by:
createBNode in interface org.openrdf.model.ValueFactory
Overrides:
createBNode in class org.openrdf.model.impl.ValueFactoryBase
See Also:
AGHttpRepoClient.setAllowExternalBlankNodeIds(boolean), AGRepositoryConnection.getHttpRepoClient()

asValue

public org.openrdf.model.Value asValue(com.hp.hpl.jena.graph.Node node)
Creates an OpenRDF Value from a concrete Jena Node.

Parameters:
node - a concrete Jena node.
Returns:
the corresponding Value.

isAGBlankNodeId

public boolean isAGBlankNodeId(String id)
Return true iff id looks like an AG blank node id. AG blank node ids currently have the following form: bF010696Fx1 The printing is _:b[store ID in hex]x[blank node number]. There is nothing sacrosanct about this but it is unlikely to change.

Parameters:
id - the string to be tested
Returns:
true iff id looks like an AG blank node id

isURIForExternalBlankNode

public boolean isURIForExternalBlankNode(org.openrdf.model.Value v)

asResource

public org.openrdf.model.Resource asResource(com.hp.hpl.jena.graph.Node node)

asURI

public org.openrdf.model.URI asURI(com.hp.hpl.jena.graph.Node node)

generateURIs

public org.openrdf.model.URI[] generateURIs(String namespace,
                                            int amount)
                                     throws org.openrdf.repository.RepositoryException
Returns unique URIs within the specified encodable namespace.

The generated URIs will conform to the format that was specified when the encodable namespace was registered, and are guaranteed to be unique for this namespace generator. Note that this does not prevent other parties from independently using URIs that involve this namespace, however.

If amount cannot be generated, up to amount URIs will be returned, or an exception will be thrown if none are available.

Returns:
a unique URI within the specified namespace.
Throws:
org.openrdf.repository.RepositoryException
See Also:
AGRepositoryConnection.registerEncodableNamespace(String, String), generateURI(String)

generateURI

public org.openrdf.model.URI generateURI(String registeredEncodableNamespace)
                                  throws org.openrdf.repository.RepositoryException
Returns a unique URI within the specified encodable namespace.

The generated URI will conform to the format that was specified when the encodable namespace was registered, and is guaranteed to be unique for this namespace generator. Note that this does not prevent other parties from independently using URIs that involve this namespace, however.

Returns:
a unique URI within the specified namespace.
Throws:
org.openrdf.repository.RepositoryException
See Also:
AGRepositoryConnection.registerEncodableNamespace(String, String), generateURIs(String, int)

Copyright © 2008-2012 Franz Inc.