Interface Connection
-
- All Superinterfaces:
java.lang.AutoCloseable
- All Known Subinterfaces:
BitesConnection,GraphQLConnection,ICVConnection,ReasoningConnection,SearchConnection,StardocsConnection
- All Known Implementing Classes:
AbstractICVConnection,AbstractReasoningConnection,com.complexible.stardog.api.impl.DelegatingConnection
public interface Connection extends java.lang.AutoCloseableInterface for a connection to a Stardog database. Connections should be obtained via a
LoginConnectionConfigurationwhich is used to build the appropriate connection string to the database.Connection objects are not meant to be shared between threads and simple synchronization on the object itself is usually insufficient due to the possible use of ancillary objects such as
AdderorIOwhich can change the state of the Connection, possibly outside the bounds of the synchronization.However, concurrent reads from different threads is safe when there is no open transaction.
- Since:
- 0.3
- Version:
- 6.0
- Author:
- Michael Grove
- See Also:
Adder,Remover,IO,LoginConnectionConfiguration,Namespaces
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Adderadd()Create an Adder for adding statements to the databaseAdminConnectionadmin()Returns an instance of theAdminConnectionclass that can be used to perform administrative functions.<T extends Connection>
Tas(java.lang.Class<T> theView)Return this connection viewed as a different type of connection.BooleanQueryask(java.lang.String theQuery)Create a SPARQL ask query against the databaseBooleanQueryask(java.lang.String theQuery, java.lang.String theBase)Create a SPARQL ask query against the databasejava.util.UUIDbegin()Start a new transaction.voidclose()Close this connection.CommitResultcommit()Commit the current transaction.java.util.Map<java.lang.String,java.lang.Object>currentStatus()Return the current status of the databaseExporterexport()Create anExporterto export RDF from the databasecom.stardog.model.DataModelgenerateModel(com.stardog.model.DataModelFormat theInputFormat, Options theOptions)Generates ndata modelfrom the database.Getterget()Create a Getter for retrieving statements from the databasedefault <T> TgetOption(MetaProperty<T> theOption)Gets the value of the specified option for the current database.java.lang.StringgetSchema()Returns the schema name that will be used if reasoning is enabled ornullif reasoning is not enabled.GraphQuerygraph(java.lang.String theQuery)Create a SPARQL graph query against the databaseGraphQuerygraph(java.lang.String theQuery, java.lang.String theBase)Create a SPARQL graph query against the databasecom.complexible.stardog.query.GraphAliasesgraphAliases()Get graph aliases for this database.booleanisOpen()Return whether or not this connection is open.booleanisReasoningEnabled()Return whether reasoning is enabled for this connection.java.lang.Stringname()Return the name of the database this object is connected toNamespacesInfonamespaces()PathQuerypaths(java.lang.String theQuery)Create a path query against the databasePathQuerypaths(java.lang.String theQuery, java.lang.String theBase)Create a path query against the databaseRemoverremove()Create a Remover for removing statements from the databasevoidrollback()Rollback the current transaction.SelectQueryselect(java.lang.String theQuery)Create a SPARQL select query against the databaseSelectQueryselect(java.lang.String theQuery, java.lang.String theBase)Create a SPARQL select query against the databaseSelectPlanQueryselectPlan(java.lang.String theQuery)Create a plan query against the databaseSelectPlanQueryselectPlan(java.lang.String theQuery, java.lang.String theBase)Create a plan query against the databaselongsize()Return size of the database.java.util.Collection<TxInfo>transactions()Returns an immutable collection of info objects for the open transactions in this database on the server-side.UpdateQueryupdate(java.lang.String theQuery)Create a SPARQL update query against the databaseUpdateQueryupdate(java.lang.String theQuery, java.lang.String theBase)Create a SPARQL update query against the database
-
-
-
Method Detail
-
as
<T extends Connection> T as(java.lang.Class<T> theView) throws StardogException
Return this connection viewed as a different type of connection.- Type Parameters:
T- the connection view to return- Parameters:
theView- the type of connection to view this object as- Returns:
- the new view of the connection.
- Throws:
StardogException- if the connection cannot be viewed as the provided type. This could be from the parent connection having been closed or it does not support the provided view.
-
add
Adder add() throws StardogException
Create an Adder for adding statements to the database- Returns:
- an adder object
- Throws:
StardogException- if there is an error obtaining the adder
-
remove
Remover remove() throws StardogException
Create a Remover for removing statements from the database- Returns:
- a remover object
- Throws:
StardogException- if there is an error obtaining the remover
-
get
Getter get() throws StardogException
Create a Getter for retrieving statements from the database- Returns:
- a Getter object
- Throws:
StardogException- if there is an error obtaining the getter
-
select
SelectQuery select(java.lang.String theQuery) throws StardogException
Create a SPARQL select query against the database- Parameters:
theQuery- the query string- Throws:
StardogException- if there was an error while creating the query
-
select
SelectQuery select(java.lang.String theQuery, java.lang.String theBase) throws StardogException
Create a SPARQL select query against the database- Parameters:
theQuery- the query stringtheBase- the base URI to use when parsing the query- Throws:
StardogException- if there was an error while creating the query
-
selectPlan
SelectPlanQuery selectPlan(java.lang.String theQuery) throws StardogException
Create a plan query against the database- Parameters:
theQuery- the plan string- Throws:
StardogException- if there was an error while creating the query
-
selectPlan
SelectPlanQuery selectPlan(java.lang.String theQuery, java.lang.String theBase) throws StardogException
Create a plan query against the database- Parameters:
theQuery- the plan stringtheBase- the base URI to use when parsing the query- Throws:
StardogException- if there was an error while creating the query
-
graph
GraphQuery graph(java.lang.String theQuery) throws StardogException
Create a SPARQL graph query against the database- Parameters:
theQuery- the query string- Throws:
StardogException- if there was an error while creating the query
-
graph
GraphQuery graph(java.lang.String theQuery, java.lang.String theBase) throws StardogException
Create a SPARQL graph query against the database- Parameters:
theQuery- the query stringtheBase- the base URI to use when parsing the query- Throws:
StardogException- if there was an error while creating the query
-
paths
PathQuery paths(java.lang.String theQuery) throws StardogException
Create a path query against the database- Parameters:
theQuery- the query string- Throws:
StardogException- if there was an error while creating the query
-
paths
PathQuery paths(java.lang.String theQuery, java.lang.String theBase) throws StardogException
Create a path query against the database- Parameters:
theQuery- the query stringtheBase- the base URI to use when parsing the query- Throws:
StardogException- if there was an error while creating the query
-
ask
BooleanQuery ask(java.lang.String theQuery) throws StardogException
Create a SPARQL ask query against the database- Parameters:
theQuery- the query string- Throws:
StardogException- if there was an error while creating the query
-
ask
BooleanQuery ask(java.lang.String theQuery, java.lang.String theBase) throws StardogException
Create a SPARQL ask query against the database- Parameters:
theQuery- the query stringtheBase- the base URI to use when parsing the query- Throws:
StardogException- if there was an error while creating the query
-
update
UpdateQuery update(java.lang.String theQuery) throws StardogException
Create a SPARQL update query against the database- Parameters:
theQuery- the query string- Throws:
StardogException- if there was an error while creating the query
-
update
UpdateQuery update(java.lang.String theQuery, java.lang.String theBase) throws StardogException
Create a SPARQL update query against the database- Parameters:
theQuery- the query stringtheBase- the base URI to use when parsing the query- Throws:
StardogException- if there was an error while creating the query
-
begin
java.util.UUID begin() throws StardogExceptionStart a new transaction. This is the required step before making any updates through this connection.
Note that, the transaction on the server might not be started immediately when this function is called. The client connection may delay beginning the actual transaction on the server until a later time when a read or write operation is done.
- Throws:
StardogException- if there was an error while creating the transaction or if there is already an active transaction for this connection.
-
rollback
void rollback() throws StardogExceptionRollback the current transaction.- Throws:
StardogException- if there was an error while rolling back the transaction or if a transaction is not active.
-
commit
CommitResult commit() throws StardogException
Commit the current transaction.- Returns:
- the result of the commit showing number of triples added and removed
- Throws:
StardogException- the transaction failed to commit. In this case, it is automatically rolled back and the error merely indicates the cause, no additional cleanup action is required.
-
close
void close() throws StardogExceptionClose this connection. If a transaction is active when the Connection is closed, it is automatically rolled back.- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
StardogException- if there was an error while closing
-
isOpen
boolean isOpen() throws java.lang.IllegalStateExceptionReturn whether or not this connection is open.- Returns:
- true if it is open, false otherwise
- Throws:
java.lang.IllegalStateException- if there was an error with the connection
-
namespaces
NamespacesInfo namespaces() throws StardogException
- Throws:
StardogException- if there was an error with the connection- Since:
- 1.0.1
- Implementation Notes:
The logged in user should have read access to database metadata for this function to return successfully.
-
transactions
java.util.Collection<TxInfo> transactions() throws StardogException
Returns an immutable collection of info objects for the open transactions in this database on the server-side. The transactions open on the client-side but not yet sent to the server will not be included in the results even if the transaction is started by this connection.
The logged in user can see only the transactions he/she started. The superusers can see all open transactions.
- Returns:
- an immutable collection of info objects for the open transactions in this database
- Throws:
StardogException- if there was an error with the connection- Since:
- 5.1
-
admin
AdminConnection admin() throws StardogException
Returns an instance of theAdminConnectionclass that can be used to perform administrative functions. The server URL and the credentials used for the current connection will be used to login to the server. TheAdminConnectionwill be active unless the userAdminConnection.close()logs out} explicitly or closes this connection. The sameAdminConnectionwill be returned by this function as long as it stays active.- Throws:
StardogException- if there was an error creating theAdminConnectioninstance
-
getOption
default <T> T getOption(MetaProperty<T> theOption) throws StardogException
Gets the value of the specified option for the current database. Shortcut forAdminConnection.get(String, MetaProperty)- Type Parameters:
T- type of the option value- Parameters:
theOption- the option to get- Returns:
- current value of the option in the database or
null - Throws:
StardogException- if there was an error while getting the value
-
size
long size() throws StardogException
Return size of the database. Behavior of this call depends on whether the connection was created withConnectionConfiguration.EXACT_SIZEparameter or not. By default it is not and then the result will be an approximation of the current number of statements in the database. Quality of that approximation is generally not guaranteed and it depends on past transactional history such as adding statements which already existed at that point or removing statements which did not. IfConnectionConfiguration.EXACT_SIZEis enabled for the connection, the result of this method will be equal to the result of a query which would count all statements in all named graphs of the database (in particular, it will also account for uncommitted changes made through this connection). Warning: this could be expensive for large databases which is the main reason why this is not the default behavior.- Returns:
- the size
- Throws:
StardogException- if there is an error returning the size of the db.
-
export
Exporter export() throws StardogException
Create anExporterto export RDF from the database- Returns:
- an
Exporter - Throws:
StardogException- if theExportercould not be created.
-
generateModel
com.stardog.model.DataModel generateModel(com.stardog.model.DataModelFormat theInputFormat, Options theOptions) throws StardogExceptionGenerates ndata modelfrom the database. The model can be generated from a variety of different input sources and the resulting model can be significantly different based on the input source used.OWL: The RDFS and OWL definitions in the database are used to generate the model. Requires reasoning to be enabled. A reasoning schema name can be specified in the reasoning connection. Every class in the schema becomes aClassand every property with a domain becomes aProperty.SHACL: The SHACL constraints in the database are used to generate the model. Every shape with atargetClassbecomes aClassand the property shapes defined on those shapes are turned into aProperty.
- Parameters:
theInputFormat-theOptions-- Returns:
- the data model
- Throws:
StardogException- if the model could not be created.
-
isReasoningEnabled
boolean isReasoningEnabled() throws StardogExceptionReturn whether reasoning is enabled for this connection.- Returns:
- the reasoning flag
- Throws:
StardogException- if the reasoning flag could not be obtained
-
getSchema
java.lang.String getSchema()
Returns the schema name that will be used if reasoning is enabled ornullif reasoning is not enabled.- Returns:
- the schema name that will be used if reasoning is enabled or
nullif reasoning is not enabled
-
currentStatus
java.util.Map<java.lang.String,java.lang.Object> currentStatus() throws StardogExceptionReturn the current status of the database- Returns:
- the status
- Throws:
StardogException- if the status information could not be retrieved
-
name
java.lang.String name()
Return the name of the database this object is connected to- Returns:
- the name of the database
-
graphAliases
com.complexible.stardog.query.GraphAliases graphAliases()
Get graph aliases for this database. Queries executed through this connection are only guaranteed to see graph alias changes if those are made through theGraphAliasesobject returned from this method. Uncommitted changes made through the same connection but directly in the data (e.g. using theAdderobject) may not be visible.- Returns:
- graph aliases
-
-