Interface Connection
- All Superinterfaces:
AutoCloseable
- All Known Subinterfaces:
GraphQLConnection,ICVConnection,ReasoningConnection,SearchConnection
- All Known Implementing Classes:
AbstractICVConnection,AbstractReasoningConnection,com.complexible.stardog.api.impl.DelegatingConnection
Interface for a connection to a Stardog database. Connections should be obtained via a
LoginConnectionConfiguration which 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
Adder or IO which 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:
-
Method Summary
Modifier and TypeMethodDescriptionadd()Create an Adder for adding statements to the databaseadmin()Returns an instance of theAdminConnectionclass that can be used to perform administrative functions.<T extends Connection>
TReturn this connection viewed as a different type of connection.Create a SPARQL ask query against the databaseCreate a SPARQL ask query against the databasebegin()Start a new transaction.voidclose()Close this connection.commit()Commit the current transaction.Return the current status of the databaseexport()Create anExporterto export RDF from the databasecom.stardog.model.DataModelgenerateModel(com.stardog.model.DataModelFormat theInputFormat, Options theOptions) Generates ndata modelfrom the database.get()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.Returns the schema name that will be used if reasoning is enabled ornullif reasoning is not enabled.Create a SPARQL graph query against the databaseCreate a SPARQL graph query against the databasecom.complexible.stardog.query.GraphAliasesGet graph aliases for this database.booleanisOpen()Return whether or not this connection is open.booleanReturn whether reasoning is enabled for this connection.name()Return the name of the database this object is connected toCreate a path query against the databaseCreate a path query against the databaseremove()Create a Remover for removing statements from the databasevoidrollback()Rollback the current transaction.Create a SPARQL select query against the databaseCreate a SPARQL select query against the databaseselectPlan(String theQuery) Create a plan query against the databaseselectPlan(String theQuery, String theBase) Create a plan query against the databaselongsize()Return size of the database.Returns an immutable collection of info objects for the open transactions in this database on the server-side.Create a SPARQL update query against the databaseCreate a SPARQL update query against the database
-
Method Details
-
as
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
Create an Adder for adding statements to the database- Returns:
- an adder object
- Throws:
StardogException- if there is an error obtaining the adder
-
remove
Create a Remover for removing statements from the database- Returns:
- a remover object
- Throws:
StardogException- if there is an error obtaining the remover
-
get
Create a Getter for retrieving statements from the database- Returns:
- a Getter object
- Throws:
StardogException- if there is an error obtaining the getter
-
select
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
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
Create a plan query against the database- Parameters:
theQuery- the plan string- Throws:
StardogException- if there was an error while creating the query
-
selectPlan
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
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
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
Create a path query against the database- Parameters:
theQuery- the query string- Throws:
StardogException- if there was an error while creating the query
-
paths
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
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
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
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
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
Start 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
Rollback the current transaction.- Throws:
StardogException- if there was an error while rolling back the transaction or if a transaction is not active.
-
commit
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
Close this connection. If a transaction is active when the Connection is closed, it is automatically rolled back.- Specified by:
closein interfaceAutoCloseable- Throws:
StardogException- if there was an error while closing
-
isOpen
Return whether or not this connection is open.- Returns:
- true if it is open, false otherwise
- Throws:
IllegalStateException- if there was an error with the connection
-
namespaces
- 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
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
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
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
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
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 StardogException Generates 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
Return whether reasoning is enabled for this connection.- Returns:
- the reasoning flag
- Throws:
StardogException- if the reasoning flag could not be obtained
-
getSchema
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
Return the current status of the database- Returns:
- the status
- Throws:
StardogException- if the status information could not be retrieved
-
name
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
-