Franz Inc, AllegroGraph

com.franz.agraph.repository
Class AGRepositoryConnection

java.lang.Object
  extended by org.openrdf.repository.base.RepositoryConnectionBase
      extended by com.franz.agraph.repository.AGRepositoryConnection
All Implemented Interfaces:
Closeable, RepositoryConnection

public class AGRepositoryConnection
extends RepositoryConnectionBase
implements RepositoryConnection, Closeable

Implements the Sesame RepositoryConnection interface for AllegroGraph.

By default, a connection is autoCommit=true. For ACID transactions, a session must be created.

Session Overview

Sessions with AllegroGraph server are used for ACID transactions and also for server code in InitFile and Scripts. See more documentation for Sessions in the AllegroGraph HTTP Protocol and ACID transactions in the AllegroGraph Server documentation.

Operations such as setAutoCommit, addRules, and registerSNAGenerator will spawn a dedicated session in order to perform their duties. Adds and deletes during a session must be committed or rolled back.

A session expires when its idle lifetime is exceeded, freeing up server resources. A session lifetime may be extended by calling ping. A session should be closed when finished.

InitFiles and Scripts are loaded into the server only for sessions. See Scripting in HTTP Protocol and search for "InitFile" in WebView for how to create initFiles.

Starting a session causes http requests to use a new port, which may cause an exception if the client can not access it. See Session Port Setup.

Methods that start a session if not already started:

Methods that affect a session in use: Methods to configure a session before it is started:

Data-type and Predicate Mapping

For more details, see the HTTP Protocol docs for Type Mappings and the Lisp reference for Data-type and Predicate Mapping.

Methods for type mappings:

Since:
v4.0

Constructor Summary
AGRepositoryConnection(AGRepository repository, com.franz.agraph.http.AGHttpRepoClient client)
           
AGRepositoryConnection(AGVirtualRepository repository, com.franz.agraph.http.AGHttpRepoClient client)
           
 
Method Summary
 void add(Iterable<? extends Statement> statements, Resource... contexts)
           
<E extends Exception>
void
add(info.aduna.iteration.Iteration<? extends Statement,E> statementIter, Resource... contexts)
           
 void addIndex(String type)
          Adds the given index to the list of actively managed indices.
 void addRules(InputStream rulestream)
          Adds Prolog rules to be used on this connection.
 void addRules(String rules)
          Adds Prolog rules to be used on this connection.
 void addSessionLoadScript(String scriptName)
          Adds a 'script' for a dedicated session spawned by this connection.
 Object callStoredProc(String functionName, String moduleName, Object... args)
          Deprecated. The stored proc feature and API are experimental, and subject to change in a future release.
 void clearMappings()
          Deletes all predicate and datatype mappings for this connection.
 void clearNamespaces()
           
 void close()
          Closes the session if there is one started.
 void commit()
          Commit the current transaction.
 void createFreetextIndex(String name, AGFreetextIndexConfig config)
          Creates a freetext index with the given name and configuration.
 void createFreetextIndex(String name, URI[] predicates)
          Deprecated.  
<E> RepositoryResult<E>
createRepositoryResult(Iterable<? extends E> elements)
          Creates a RepositoryResult for the supplied element set.
 void deleteDatatypeMapping(URI datatype)
          Deletes any datatype mapping associated with the given datatype.
 void deleteFreetextIndex(String name)
          Deletes the freetext index of the specified name.
 void deletePredicateMapping(URI predicate)
          Deletes any predicate mapping associated with the given predicate.
 void disableTripleCache()
          Disables the spogi triple cache.
 void dropIndex(String type)
          Drops the given index from the list of actively managed indices.
 void enableTripleCache(long size)
          Enables the spogi cache in this repository.
 String evalInServer(InputStream stream)
          Evaluates a Lisp form on the server, and returns the result as a String.
 String evalInServer(String lispForm)
          Evaluates a Lisp form on the server, and returns the result as a String.
 void exportStatements(RDFHandler handler, String... ids)
           
 void exportStatements(Resource subj, URI pred, Value obj, boolean includeInferred, RDFHandler handler, Resource... contexts)
           
 RepositoryResult<Resource> getContextIDs()
           
 String[] getDatatypeMappings()
          Gets the datatype mappings defined for this connection.
 AGFreetextIndexConfig getFreetextIndexConfig(String index)
          Gets the configuration of the specified free text index.
 String[] getFreetextIndices()
          Deprecated.  
 String[] getFreetextPredicates(String index)
          Deprecated.  
 RepositoryResult<Statement> getGeoHaversine(URI type, URI predicate, float lat, float lon, float radius, String unit, int limit, boolean infer)
           
 String[] getGeoTypes()
          Gets the Geospatial types that have been registered.
 com.franz.agraph.http.AGHttpRepoClient getHttpRepoClient()
           
 String getNamespace(String prefix)
           
 RepositoryResult<Namespace> getNamespaces()
           
 String[] getPredicateMappings()
          Gets the predicate mappings defined for this connection.
 AGAbstractRepository getRepository()
           
 int getSessionLifetime()
          Returns the lifetime for a dedicated session spawned by this connection.
 RepositoryResult<Statement> getStatements(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts)
           
 RepositoryResult<Statement> getStatements(String... ids)
          Returns statements having the specified ids.
 RepositoryResult<Statement> getStatementsInBox(URI type, URI predicate, float xmin, float xmax, float ymin, float ymax, int limit, boolean infer)
           
 RepositoryResult<Statement> getStatementsInCircle(URI type, URI predicate, float x, float y, float radius, int limit, boolean infer)
           
 RepositoryResult<Statement> getStatementsInPolygon(URI type, URI predicate, URI polygon, int limit, boolean infer)
           
 long getTripleCacheSize()
          Returns the size of the spogi cache.
 int getUploadCommitPeriod()
          Gets the commit period used within large add/load operations.
 AGValueFactory getValueFactory()
           
 boolean isAutoCommit()
           
 boolean isStreamResults()
          If true, automatically use AGStreamTupleQuery.
 List<AGFormattedNamespace> listEncodableNamespaces()
          Returns a list of the registered encodable namespaces.
 List<String> listFreetextIndices()
          Lists the freetext indices that have been defined for this repository.
 List<String> listIndices()
          Returns a list of actively managed indices for this repository.
 List<String> listValidIndices()
          Returns a list of all possible index types for this repository.
 void load(String absoluteServerPath, String baseURI, RDFFormat dataFormat, Resource... contexts)
          Instructs the server to load data from the specified server-side path.
 void load(URI source, String baseURI, RDFFormat dataFormat, Resource... contexts)
          Instructs the server to fetch and load data from the specified URI.
 void optimizeIndices(Boolean wait)
           
 void optimizeIndices(Boolean wait, int level)
          tells the server to try and optimize the indices for this store.
 void ping()
          Instructs the server to extend the life of this connection's dedicated session, if it is using one.
 AGBooleanQuery prepareBooleanQuery(QueryLanguage ql, String queryString)
           
 AGBooleanQuery prepareBooleanQuery(QueryLanguage ql, String queryString, String baseURI)
           
 AGGraphQuery prepareGraphQuery(QueryLanguage ql, String queryString)
           
 AGGraphQuery prepareGraphQuery(QueryLanguage ql, String queryString, String baseURI)
           
 AGQuery prepareQuery(QueryLanguage ql, String queryString, String baseURI)
          Unsupported method, throws an UnsupportedOperationException.
 AGTupleQuery prepareTupleQuery(QueryLanguage ql, String queryString)
           
 AGTupleQuery prepareTupleQuery(QueryLanguage ql, String queryString, String baseURI)
           
 URI registerCartesianType(float stripWidth, float xmin, float xmax, float ymin, float ymax)
          Registers a cartesian type.
 void registerDatatypeMapping(URI datatype, URI primtype)
          Registers a datatype mapping from the datatype to a primitive datatype.
 void registerEncodableNamespace(String namespace, String format)
          Registers an encodable namespace having the specified format.
 void registerEncodableNamespaces(Iterable<? extends AGFormattedNamespace> formattedNamespaces)
          Registers multiple formatted namespaces in a single request.
 void registerPolygon(URI polygon, List<Literal> points)
          Registers a polygon.
 void registerPredicateMapping(URI predicate, URI primtype)
          Registers a predicate mapping from the predicate to a primitive datatype.
 void registerSNAGenerator(String generator, List<URI> objectOfs, List<URI> subjectOfs, List<URI> undirecteds, String query)
          See Social network analysis Lisp documentation and SNA generator registration.
 void registerSNANeighborMatrix(String matrix, String generator, List<URI> group, int depth)
           
 URI registerSphericalType(float stripWidth, String unit)
           
 URI registerSphericalType(float stripWidth, String unit, float latmin, float lonmin, float latmax, float lonmax)
          Registers a spherical type.
 void remove(Iterable<? extends Statement> statements, Resource... contexts)
           
<E extends Exception>
void
remove(info.aduna.iteration.Iteration<? extends Statement,E> statements, Resource... contexts)
           
 void removeNamespace(String prefix)
           
 void rollback()
          Roll back the current transaction (discard all changes made since last commit).
 void sendRDFTransaction(InputStream rdftransaction)
          Executes an application/x-rdftransaction.
 void setAutoCommit(boolean autoCommit)
          Setting autoCommit to false creates a dedicated server session which supports ACID transactions.
 void setNamespace(String prefix, String name)
           
 void setSessionLifetime(int lifetimeInSeconds)
          Sets the 'lifetime' for a dedicated session spawned by this connection.
 void setSessionLoadInitFile(boolean loadInitFile)
          Sets the 'loadInitFile' for a dedicated session spawned by this connection.
 void setStreamResults(boolean streamResults)
          Set to true to automatically use AGStreamTupleQuery for prepareTupleQuery(QueryLanguage, String, String).
 void setUploadCommitPeriod(int period)
          Sets the commit period to use within large add/load operations.
 long size(Resource... contexts)
           
 String toString()
           
 void unregisterEncodableNamespace(String namespace)
          Unregisters the specified encodable namespace.
 
Methods inherited from class org.openrdf.repository.base.RepositoryConnectionBase
add, add, add, add, add, add, clear, export, hasStatement, hasStatement, isEmpty, isOpen, prepareQuery, remove, remove
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.repository.RepositoryConnection
add, add, add, add, add, add, clear, export, hasStatement, hasStatement, isEmpty, isOpen, prepareQuery, remove, remove
 

Constructor Detail

AGRepositoryConnection

public AGRepositoryConnection(AGRepository repository,
                              com.franz.agraph.http.AGHttpRepoClient client)
See Also:
AGRepository.getConnection(), AGVirtualRepository.getConnection()

AGRepositoryConnection

public AGRepositoryConnection(AGVirtualRepository repository,
                              com.franz.agraph.http.AGHttpRepoClient client)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

getRepository

public AGAbstractRepository getRepository()
Specified by:
getRepository in interface RepositoryConnection
Overrides:
getRepository in class RepositoryConnectionBase

getHttpRepoClient

public com.franz.agraph.http.AGHttpRepoClient getHttpRepoClient()

getValueFactory

public AGValueFactory getValueFactory()
Specified by:
getValueFactory in interface RepositoryConnection
Overrides:
getValueFactory in class RepositoryConnectionBase

add

public void add(Iterable<? extends Statement> statements,
                Resource... contexts)
         throws RepositoryException
Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Throws:
RepositoryException

add

public <E extends Exception> void add(info.aduna.iteration.Iteration<? extends Statement,E> statementIter,
                                      Resource... contexts)
         throws RepositoryException,
                E extends Exception
Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Throws:
RepositoryException
E extends Exception

remove

public void remove(Iterable<? extends Statement> statements,
                   Resource... contexts)
            throws RepositoryException
Specified by:
remove in interface RepositoryConnection
Overrides:
remove in class RepositoryConnectionBase
Throws:
RepositoryException

remove

public <E extends Exception> void remove(info.aduna.iteration.Iteration<? extends Statement,E> statements,
                                         Resource... contexts)
            throws RepositoryException,
                   E extends Exception
Specified by:
remove in interface RepositoryConnection
Overrides:
remove in class RepositoryConnectionBase
Throws:
RepositoryException
E extends Exception

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws RepositoryException
Setting autoCommit to false creates a dedicated server session which supports ACID transactions. Setting to true will create a dedicated server session. See session overview and POST session for more details.

Starting a session causes http requests to use a new port, which may cause an exception if the client can not access it. See Session Port Setup.

Specified by:
setAutoCommit in interface RepositoryConnection
Overrides:
setAutoCommit in class RepositoryConnectionBase
Throws:
RepositoryException

isAutoCommit

public boolean isAutoCommit()
                     throws RepositoryException
Specified by:
isAutoCommit in interface RepositoryConnection
Overrides:
isAutoCommit in class RepositoryConnectionBase
Throws:
RepositoryException
See Also:
setAutoCommit(boolean)

commit

public void commit()
            throws RepositoryException
Commit the current transaction. See session overview and POST commit for more details.

Specified by:
commit in interface RepositoryConnection
Throws:
RepositoryException

rollback

public void rollback()
              throws RepositoryException
Roll back the current transaction (discard all changes made since last commit). See session overview and POST rollback for more details.

Specified by:
rollback in interface RepositoryConnection
Throws:
RepositoryException

setStreamResults

public void setStreamResults(boolean streamResults)
Set to true to automatically use AGStreamTupleQuery for prepareTupleQuery(QueryLanguage, String, String).

See Also:
isStreamResults()

isStreamResults

public boolean isStreamResults()
If true, automatically use AGStreamTupleQuery. Default is false.

See Also:
setStreamResults(boolean)

clearNamespaces

public void clearNamespaces()
                     throws RepositoryException
Specified by:
clearNamespaces in interface RepositoryConnection
Throws:
RepositoryException

close

public void close()
           throws RepositoryException
Closes the session if there is one started. See session overview and POST close for more details.

Specified by:
close in interface Closeable
Specified by:
close in interface RepositoryConnection
Overrides:
close in class RepositoryConnectionBase
Throws:
RepositoryException
See Also:
Closeable.close()

exportStatements

public void exportStatements(Resource subj,
                             URI pred,
                             Value obj,
                             boolean includeInferred,
                             RDFHandler handler,
                             Resource... contexts)
                      throws RDFHandlerException,
                             RepositoryException
Specified by:
exportStatements in interface RepositoryConnection
Throws:
RDFHandlerException
RepositoryException

exportStatements

public void exportStatements(RDFHandler handler,
                             String... ids)
                      throws RDFHandlerException,
                             RepositoryException
Throws:
RDFHandlerException
RepositoryException

getContextIDs

public RepositoryResult<Resource> getContextIDs()
                                         throws RepositoryException
Specified by:
getContextIDs in interface RepositoryConnection
Throws:
RepositoryException

createRepositoryResult

public <E> RepositoryResult<E> createRepositoryResult(Iterable<? extends E> elements)
Creates a RepositoryResult for the supplied element set.


getNamespace

public String getNamespace(String prefix)
                    throws RepositoryException
Specified by:
getNamespace in interface RepositoryConnection
Throws:
RepositoryException

getNamespaces

public RepositoryResult<Namespace> getNamespaces()
                                          throws RepositoryException
Specified by:
getNamespaces in interface RepositoryConnection
Throws:
RepositoryException

getStatements

public RepositoryResult<Statement> getStatements(Resource subj,
                                                 URI pred,
                                                 Value obj,
                                                 boolean includeInferred,
                                                 Resource... contexts)
                                          throws RepositoryException
Specified by:
getStatements in interface RepositoryConnection
Throws:
RepositoryException

getStatements

public RepositoryResult<Statement> getStatements(String... ids)
                                          throws RepositoryException
Returns statements having the specified ids. This api is subject to change. There is currently no natural way to obtain a statement's triple id from the java client; when that is possible, this api may change.

Parameters:
ids - Strings representing statement ids.
Returns:
The statements having the specified ids. The result object is a RepositoryResult object, a lazy Iterator-like object containing Statements and optionally throwing a RepositoryException when an error when a problem occurs during retrieval.
Throws:
RepositoryException

prepareQuery

public AGQuery prepareQuery(QueryLanguage ql,
                            String queryString,
                            String baseURI)
Unsupported method, throws an UnsupportedOperationException.

Specified by:
prepareQuery in interface RepositoryConnection

prepareTupleQuery

public AGTupleQuery prepareTupleQuery(QueryLanguage ql,
                                      String queryString)
Specified by:
prepareTupleQuery in interface RepositoryConnection
Overrides:
prepareTupleQuery in class RepositoryConnectionBase

prepareTupleQuery

public AGTupleQuery prepareTupleQuery(QueryLanguage ql,
                                      String queryString,
                                      String baseURI)
Specified by:
prepareTupleQuery in interface RepositoryConnection

prepareGraphQuery

public AGGraphQuery prepareGraphQuery(QueryLanguage ql,
                                      String queryString)
Specified by:
prepareGraphQuery in interface RepositoryConnection
Overrides:
prepareGraphQuery in class RepositoryConnectionBase

prepareGraphQuery

public AGGraphQuery prepareGraphQuery(QueryLanguage ql,
                                      String queryString,
                                      String baseURI)
Specified by:
prepareGraphQuery in interface RepositoryConnection

prepareBooleanQuery

public AGBooleanQuery prepareBooleanQuery(QueryLanguage ql,
                                          String queryString)
Specified by:
prepareBooleanQuery in interface RepositoryConnection
Overrides:
prepareBooleanQuery in class RepositoryConnectionBase

prepareBooleanQuery

public AGBooleanQuery prepareBooleanQuery(QueryLanguage ql,
                                          String queryString,
                                          String baseURI)
Specified by:
prepareBooleanQuery in interface RepositoryConnection

removeNamespace

public void removeNamespace(String prefix)
                     throws RepositoryException
Specified by:
removeNamespace in interface RepositoryConnection
Throws:
RepositoryException

setNamespace

public void setNamespace(String prefix,
                         String name)
                  throws RepositoryException
Specified by:
setNamespace in interface RepositoryConnection
Throws:
RepositoryException

size

public long size(Resource... contexts)
          throws RepositoryException
Specified by:
size in interface RepositoryConnection
Throws:
RepositoryException

createFreetextIndex

public void createFreetextIndex(String name,
                                AGFreetextIndexConfig config)
                         throws RepositoryException
Creates a freetext index with the given name and configuration.

Throws:
RepositoryException

deleteFreetextIndex

public void deleteFreetextIndex(String name)
                         throws RepositoryException
Deletes the freetext index of the specified name.

Throws:
RepositoryException

createFreetextIndex

public void createFreetextIndex(String name,
                                URI[] predicates)
                         throws RepositoryException
Deprecated. 

Registers a predicate for free text indexing. Once registered, the objects of data added to the repository having this predicate will be text indexed and searchable.

Throws:
RepositoryException
See Also:
createFreetextIndex(String, AGFreetextIndexConfig)

getFreetextPredicates

public String[] getFreetextPredicates(String index)
                               throws RepositoryException
Deprecated. 

Gets the predicates that have been registered for text indexing.

Throws:
RepositoryException
See Also:
getFreetextIndexConfig(String)

getFreetextIndexConfig

public AGFreetextIndexConfig getFreetextIndexConfig(String index)
                                             throws RepositoryException
Gets the configuration of the specified free text index.

Throws:
RepositoryException

getFreetextIndices

public String[] getFreetextIndices()
                            throws RepositoryException
Deprecated. 

Gets freetext indexes that have been created

Throws:
RepositoryException
See Also:
listFreetextIndices()

listFreetextIndices

public List<String> listFreetextIndices()
                                 throws RepositoryException
Lists the freetext indices that have been defined for this repository.

Returns:
a list of freetext index names
Throws:
RepositoryException

registerPredicateMapping

public void registerPredicateMapping(URI predicate,
                                     URI primtype)
                              throws RepositoryException
Registers a predicate mapping from the predicate to a primitive datatype. This can be useful in speeding up query performance and enabling range queries over datatypes.

Once registered, the objects of any data added via this connection that have this predicate will be mapped to the primitive datatype.

For example, registering that predicate <http://example.org/age> is mapped to XMLSchema.INT and adding the triple: <http://example.org/Fred> <http://example.org/age> "24" will result in the object being treated as "24"^^xsd:int.

See mapping overview and POST predicate mapping.

Parameters:
predicate - the predicate URI
primtype - datatype URI
Throws:
RepositoryException
See Also:
getPredicateMappings()

deletePredicateMapping

public void deletePredicateMapping(URI predicate)
                            throws RepositoryException
Deletes any predicate mapping associated with the given predicate.

See mapping overview and DELETE predicate mapping.

Parameters:
predicate - the predicate
Throws:
RepositoryException
See Also:
getPredicateMappings()

getPredicateMappings

public String[] getPredicateMappings()
                              throws RepositoryException
Gets the predicate mappings defined for this connection.

See mapping overview and GET predicate mapping and the Lisp reference for the predicate-mapping function.

Throws:
RepositoryException
See Also:
registerPredicateMapping(URI, URI), deletePredicateMapping(URI), getDatatypeMappings()

registerDatatypeMapping

public void registerDatatypeMapping(URI datatype,
                                    URI primtype)
                             throws RepositoryException
Registers a datatype mapping from the datatype to a primitive datatype. This can be useful in speeding up query performance and enabling range queries over user datatypes.

Once registered, the objects of any data added via this connection that have this datatype will be mapped to the primitive datatype.

For example, registering that datatype <http://example.org/usertype> is mapped to XMLSchema.INT and adding the triple: <http://example.org/Fred> <http://example.org/age> "24"^^<http://example.org/usertype> will result in the object being treated as "24"^^xsd:int.

See mapping overview and POST type mapping.

Parameters:
datatype - the user datatype
primtype - the primitive type
Throws:
RepositoryException
See Also:
getDatatypeMappings()

deleteDatatypeMapping

public void deleteDatatypeMapping(URI datatype)
                           throws RepositoryException
Deletes any datatype mapping associated with the given datatype.

See mapping overview and DELETE type mapping.

Parameters:
datatype - the user datatype
Throws:
RepositoryException
See Also:
getDatatypeMappings(), clearMappings()

getDatatypeMappings

public String[] getDatatypeMappings()
                             throws RepositoryException
Gets the datatype mappings defined for this connection.

See mapping overview and GET type mapping and the Lisp reference for the datatype-mapping function.

Throws:
RepositoryException
See Also:
deleteDatatypeMapping(URI), clearMappings(), registerDatatypeMapping(URI, URI), getPredicateMappings()

clearMappings

public void clearMappings()
                   throws RepositoryException
Deletes all predicate and datatype mappings for this connection.

See mapping overview and DELETE all mapping for more details.

Throws:
RepositoryException
See Also:
getDatatypeMappings(), getPredicateMappings()

addRules

public void addRules(String rules)
              throws RepositoryException
Adds Prolog rules to be used on this connection. See Prolog Lisp documentation and Prolog functor registration.

Starts a session if one is not already started. See session overview for more details. Starting a session causes http requests to use a new port, which may cause an exception if the client can not access it. See Session Port Setup.

Parameters:
rules - a string of rule text
Throws:
RepositoryException
See Also:
addRules(InputStream)

addRules

public void addRules(InputStream rulestream)
              throws RepositoryException
Adds Prolog rules to be used on this connection. See Prolog Lisp documentation and Prolog functor registration.

Starts a session if one is not already started. See session overview for more details. Starting a session causes http requests to use a new port, which may cause an exception if the client can not access it. See Session Port Setup.

Parameters:
rulestream - a stream of rule text
Throws:
RepositoryException
See Also:
addRules(String)

evalInServer

public String evalInServer(String lispForm)
                    throws RepositoryException
Evaluates a Lisp form on the server, and returns the result as a String. See HTTP POST eval.

Parameters:
lispForm - the Lisp form to evaluate
Returns:
the result in a String
Throws:
RepositoryException
See Also:
evalInServer(String)

evalInServer

public String evalInServer(InputStream stream)
                    throws RepositoryException
Evaluates a Lisp form on the server, and returns the result as a String. See HTTP POST eval.

Parameters:
stream - the Lisp form to evaluate
Returns:
the result in a String
Throws:
RepositoryException
See Also:
evalInServer(String)

load

public void load(URI source,
                 String baseURI,
                 RDFFormat dataFormat,
                 Resource... contexts)
          throws RepositoryException
Instructs the server to fetch and load data from the specified URI.

Parameters:
source - the URI to fetch and load.
baseURI - the base URI for the source document.
dataFormat - the RDF data format for the source document.
contexts - zero or more contexts into which data will be loaded.
Throws:
RepositoryException

load

public void load(String absoluteServerPath,
                 String baseURI,
                 RDFFormat dataFormat,
                 Resource... contexts)
          throws RepositoryException
Instructs the server to load data from the specified server-side path.

Parameters:
absoluteServerPath - the path to the server-side source file.
baseURI - the base URI for the source document.
dataFormat - the RDF data format for the source document.
contexts - zero or more contexts into which data will be loaded.
Throws:
RepositoryException

ping

public void ping()
          throws RepositoryException
Instructs the server to extend the life of this connection's dedicated session, if it is using one. Such connections that are idle for 3600 seconds will be closed by the server.

See session overview and GET ping for more details.

Throws:
RepositoryException
See Also:
setSessionLifetime(int)

getGeoTypes

public String[] getGeoTypes()
                     throws RepositoryException
Gets the Geospatial types that have been registered.

Throws:
RepositoryException

registerCartesianType

public URI registerCartesianType(float stripWidth,
                                 float xmin,
                                 float xmax,
                                 float ymin,
                                 float ymax)
                          throws RepositoryException
Registers a cartesian type.

Throws:
RepositoryException

registerSphericalType

public URI registerSphericalType(float stripWidth,
                                 String unit,
                                 float latmin,
                                 float lonmin,
                                 float latmax,
                                 float lonmax)
                          throws RepositoryException
Registers a spherical type.

Throws:
RepositoryException

registerSphericalType

public URI registerSphericalType(float stripWidth,
                                 String unit)
                          throws RepositoryException
Throws:
RepositoryException

registerPolygon

public void registerPolygon(URI polygon,
                            List<Literal> points)
                     throws RepositoryException
Registers a polygon.

Throws:
RepositoryException

getStatementsInBox

public RepositoryResult<Statement> getStatementsInBox(URI type,
                                                      URI predicate,
                                                      float xmin,
                                                      float xmax,
                                                      float ymin,
                                                      float ymax,
                                                      int limit,
                                                      boolean infer)
                                               throws RepositoryException
Throws:
RepositoryException

getStatementsInCircle

public RepositoryResult<Statement> getStatementsInCircle(URI type,
                                                         URI predicate,
                                                         float x,
                                                         float y,
                                                         float radius,
                                                         int limit,
                                                         boolean infer)
                                                  throws RepositoryException
Throws:
RepositoryException

getGeoHaversine

public RepositoryResult<Statement> getGeoHaversine(URI type,
                                                   URI predicate,
                                                   float lat,
                                                   float lon,
                                                   float radius,
                                                   String unit,
                                                   int limit,
                                                   boolean infer)
                                            throws RepositoryException
Throws:
RepositoryException

getStatementsInPolygon

public RepositoryResult<Statement> getStatementsInPolygon(URI type,
                                                          URI predicate,
                                                          URI polygon,
                                                          int limit,
                                                          boolean infer)
                                                   throws RepositoryException
Throws:
RepositoryException

registerSNAGenerator

public void registerSNAGenerator(String generator,
                                 List<URI> objectOfs,
                                 List<URI> subjectOfs,
                                 List<URI> undirecteds,
                                 String query)
                          throws RepositoryException
See Social network analysis Lisp documentation and SNA generator registration.

Starts a session if one is not already started. See session overview for more details. Starting a session causes http requests to use a new port, which may cause an exception if the client can not access it. See Session Port Setup.

Parameters:
generator -
objectOfs -
subjectOfs -
undirecteds -
query -
Throws:
RepositoryException

registerSNANeighborMatrix

public void registerSNANeighborMatrix(String matrix,
                                      String generator,
                                      List<URI> group,
                                      int depth)
                               throws RepositoryException
Throws:
RepositoryException

listIndices

public List<String> listIndices()
                         throws OpenRDFException
Returns a list of actively managed indices for this repository.

Returns:
a list of actively managed indices for this repository.
Throws:
OpenRDFException

listValidIndices

public List<String> listValidIndices()
                              throws OpenRDFException
Returns a list of all possible index types for this repository.

Returns:
a list of valid index types
Throws:
OpenRDFException

addIndex

public void addIndex(String type)
              throws RepositoryException
Adds the given index to the list of actively managed indices. This will take affect on the next commit.

Parameters:
type - a valid index type
Throws:
RepositoryException
See Also:
listValidIndices()

dropIndex

public void dropIndex(String type)
               throws RepositoryException
Drops the given index from the list of actively managed indices. This will take affect on the next commit.

Parameters:
type - an actively managed index type.
Throws:
RepositoryException
See Also:
listValidIndices()

sendRDFTransaction

public void sendRDFTransaction(InputStream rdftransaction)
                        throws RepositoryException,
                               RDFParseException,
                               IOException
Executes an application/x-rdftransaction. This method is useful for bundling add/remove operations into a single request and minimizing round trips to the server. Changes are committed iff the connection is in autoCommit mode. For increased throughput when sending multiple rdftransaction requests, consider using autoCommit=false and committing less frequently .

Parameters:
rdftransaction - a stream in application/x-rdftransaction format
Throws:
RepositoryException
RDFParseException
IOException

registerEncodableNamespace

public void registerEncodableNamespace(String namespace,
                                       String format)
                                throws RepositoryException
Registers an encodable namespace having the specified format.

Registering an encodable namespace enables a more efficient encoding of URIs in a namespace, and generation of unique URIs for that namespace, because its URIs are declared to conform to a specified format; the namespace is thereby bounded in size, and encodable.

The namespace is any valid URIref, e.g.: http://franz.com/ns0

The format is a string using a simplified regular expression syntax supporting character ranges and counts specifying the suffix portion of the URIs in the namespace, e.g: [a-z][0-9]-[a-f]{3}

Generation of unique URIs AGValueFactory.generateURI(String) for the above namespace and format might yield an ID such as: http://franz.com/ns0@@a0-aaa

Note: "@@" is used to concatenate the namespace and id suffix to facilitate efficient recognition/encoding during parsing.

The format can be ambiguous (e.g., "[A-Z]{1,2}[B-C}{0,1}"). We will not check for ambiguity in this first version but can add this checking at a later time.

If the format corresponds to a namespace that is not encodable (it may be malformed, or perhaps it's too large to encode), an exception is thrown.

For more details, see Encoded IDs.

Parameters:
namespace - a valid namespace, a URI ref
format - a valid format for an encodable namespace
Throws:
RepositoryException
See Also:
registerEncodableNamespaces(Iterable), listEncodableNamespaces(), unregisterEncodableNamespace(String), AGValueFactory.generateURI(String), AGValueFactory.generateURIs(String, int)

registerEncodableNamespaces

public void registerEncodableNamespaces(Iterable<? extends AGFormattedNamespace> formattedNamespaces)
                                 throws RepositoryException
Registers multiple formatted namespaces in a single request.

Throws:
RepositoryException
See Also:
registerEncodableNamespace(String, String)

listEncodableNamespaces

public List<AGFormattedNamespace> listEncodableNamespaces()
                                                   throws OpenRDFException
Returns a list of the registered encodable namespaces.

Returns:
a list of the registered encodable namespaces
Throws:
OpenRDFException
See Also:
registerEncodableNamespace(String, String)

unregisterEncodableNamespace

public void unregisterEncodableNamespace(String namespace)
                                  throws RepositoryException
Unregisters the specified encodable namespace.

Parameters:
namespace - the namespace to unregister
Throws:
RepositoryException
See Also:
registerEncodableNamespace(String, String)

callStoredProc

public Object callStoredProc(String functionName,
                             String moduleName,
                             Object... args)
                      throws RepositoryException
Deprecated. The stored proc feature and API are experimental, and subject to change in a future release.

Invoke a stored procedure on the AllegroGraph server.

The input arguments and the return value can be: String, Integer, null, byte[], or Object[] or List of these (can be nested).

See also getHttpRepoClient().callStoredProc(functionName, moduleName, args)

Parameters:
functionName - stored proc lisp function, for example "addTwo"
moduleName - lisp FASL file name, for example "example.fasl"
args - arguments to the stored proc
Returns:
return value of stored proc
Throws:
AGCustomStoredProcException - for errors from stored proc
RepositoryException
Since:
v4.2

setSessionLifetime

public void setSessionLifetime(int lifetimeInSeconds)
Sets the 'lifetime' for a dedicated session spawned by this connection. Seconds a session can be idle before being collected. This method does not create a session.

See session overview and POST session for more details.

Parameters:
lifetimeInSeconds - the session lifetime, in seconds.
See Also:
getSessionLifetime(), ping()

getSessionLifetime

public int getSessionLifetime()
Returns the lifetime for a dedicated session spawned by this connection.

See also: Session overview.

Returns:
the session lifetime, in seconds.
See Also:
setSessionLifetime(int), ping()

setSessionLoadInitFile

public void setSessionLoadInitFile(boolean loadInitFile)
Sets the 'loadInitFile' for a dedicated session spawned by this connection. This method does not create a session.

loadInitFile is a boolean, defaulting to false, which determines whether the initfile is loaded into this session.

See also: Session overview.

See Also:
addSessionLoadScript(String)

addSessionLoadScript

public void addSessionLoadScript(String scriptName)
Adds a 'script' for a dedicated session spawned by this connection. This method does not create a session. May be called multiple times for different scripts. The script text must already be uploaded to the user.

Scripts are server code that may be loaded during a session.

See also: Session overview.

See Also:
setSessionLoadInitFile(boolean)

enableTripleCache

public void enableTripleCache(long size)
                       throws RepositoryException
Enables the spogi cache in this repository. Takes a size argument to set the size of the cache.

Parameters:
size - the size of the cache, in triples.
Throws:
RepositoryException

getTripleCacheSize

public long getTripleCacheSize()
                        throws RepositoryException
Returns the size of the spogi cache.

Returns:
the size of the spogi cache, in triples.
Throws:
RepositoryException

disableTripleCache

public void disableTripleCache()
                        throws RepositoryException
Disables the spogi triple cache.

Throws:
RepositoryException

setUploadCommitPeriod

public void setUploadCommitPeriod(int period)
                           throws RepositoryException
Sets the commit period to use within large add/load operations.

Parameters:
period - commit after this many statements
Throws:
RepositoryException
See Also:
AGHttpRepoClient.setUploadCommitPeriod(int)

getUploadCommitPeriod

public int getUploadCommitPeriod()
                          throws RepositoryException
Gets the commit period used within large add/load operations.

Throws:
RepositoryException
See Also:
AGHttpRepoClient.getUploadCommitPeriod()

optimizeIndices

public void optimizeIndices(Boolean wait,
                            int level)
                     throws RepositoryException
tells the server to try and optimize the indices for this store.

Parameters:
wait - is a boolean, false for request to return immediately
level - determines the work to be done. See the index documentation for an explanation of the different levels.
Throws:
RepositoryException

optimizeIndices

public void optimizeIndices(Boolean wait)
                     throws RepositoryException
Throws:
RepositoryException

Copyright © 2008-2011 Franz Inc.