Package org.eclipse.rdf4j.spring.support
Class RDF4JTemplate
- java.lang.Object
-
- org.eclipse.rdf4j.spring.support.RDF4JTemplate
-
@Experimental public class RDF4JTemplate extends Object
- Since:
- 4.0.0
- Author:
- Florian Kleedorfer, Gabriel Pickl
-
-
Constructor Summary
Constructors Constructor Description RDF4JTemplate(RepositoryConnectionFactory repositoryConnectionFactory, OperationInstantiator operationInstantiator, org.springframework.core.io.ResourceLoader resourceLoader, UUIDSource uuidSource)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> TapplyToConnection(Function<RepositoryConnection,T> fun)voidassociate(IRI fromResource, IRI property, Collection<IRI> toResources, boolean deleteOtherOutgoing, boolean deleteOtherIcoming)voidconsumeConnection(Consumer<RepositoryConnection> fun)voiddelete(IRI id)Deletes the specified resource: all triples are deleted in whichidis the subject or the object.voiddelete(IRI start, List<PropertyPath> propertyPaths)Deletes the specified resource and all resourcesRreached via any of the specified property paths.voiddeleteTriplesWithSubject(IRI id)IRIgetNewUUID()Returns a UUID IRI (schema: 'urn:uuid').Supplier<String>getStringSupplierFromResourceContent(String resourceName)GraphQueryEvaluationBuildergraphQuery(Class<?> owner, String operationName, Supplier<String> queryStringSupplier)Uses a cachedGraphQueryif one is available under the specifiedoperationNamefor theRepositoryConnectionthat is used, otherwise the query string is obtained from the specified supplier, a new GraphQuery is instantiated and cached for future calls to this method.GraphQueryEvaluationBuildergraphQuery(Class<?> owner, NamedSparqlSupplier namedSparqlSupplier)Uses the providedNamedSparqlSupplierfor callinggraphQuery(Class, String, Supplier).GraphQueryEvaluationBuildergraphQuery(String graphQueryString)Bypassing any caches, generates a new GraphQuery from the specified SPARQL string and returns a Builder for its evaluation.GraphQueryEvaluationBuildergraphQueryFromResource(Class<?> owner, String resourceName)Reads the query from the specified resource and provides it through aingraphQuery(Class, String, Supplier), using theresourceNameas theoperationName.TupleQueryEvaluationBuildertupleQuery(Class<?> owner, String operationName, Supplier<String> queryStringSupplier)Uses a cachedTupleQueryif one is available under the specifiedoperationNamefor theRepositoryConnectionthat is used, otherwise the query string is obtained from the specified supplier, a new TupleQuery is instantiated and cached for future calls to this method.TupleQueryEvaluationBuildertupleQuery(Class<?> owner, NamedSparqlSupplier namedSparqlSupplier)Uses the providedNamedSparqlSupplierfor callingtupleQuery(Class, String, Supplier).TupleQueryEvaluationBuildertupleQuery(String queryString)Bypassing any caches, generates a new TupleQuery from the specified SPARQL string and returns a Builder for its evaluation.TupleQueryEvaluationBuildertupleQueryFromResource(Class<?> owner, String resourceName)Reads the query from the specified resource and provides it through aintupleQuery(Class, String, Supplier), using theresourceNameas theoperationName.UpdateExecutionBuilderupdate(Class<?> owner, String operationName, Supplier<String> updateStringSupplier)Uses a cachedUpdateif one is available under the specifiedoperationNamefor theRepositoryConnectionthat is used, otherwise the query string is obtained from the specified supplier, a new Update is instantiated and cached for future calls to this method.UpdateExecutionBuilderupdate(Class<?> owner, NamedSparqlSupplier namedSparqlSupplier)Uses the providedNamedSparqlSupplierfor callingupdate(Class, String, Supplier).UpdateExecutionBuilderupdate(String updateString)Bypassing any caches, generates a new Update from the specified SPARQL string and returns a Builder for its execution.UpdateExecutionBuilderupdateFromResource(Class<?> owner, String resourceName)Reads the update from the specified resource and provides it through ainupdate(Class, String, Supplier), using theresourceNameas theoperationName.UpdateWithModelBuilderupdateWithBuilder()UpdateExecutionBuilderupdateWithoutCachingStatement(String updateString)
-
-
-
Constructor Detail
-
RDF4JTemplate
public RDF4JTemplate(@Autowired RepositoryConnectionFactory repositoryConnectionFactory, @Autowired OperationInstantiator operationInstantiator, @Autowired org.springframework.core.io.ResourceLoader resourceLoader, @Autowired(required=false) UUIDSource uuidSource)
-
-
Method Detail
-
consumeConnection
public void consumeConnection(Consumer<RepositoryConnection> fun)
-
applyToConnection
public <T> T applyToConnection(Function<RepositoryConnection,T> fun)
-
update
public UpdateExecutionBuilder update(String updateString)
Bypassing any caches, generates a new Update from the specified SPARQL string and returns a Builder for its execution. Should be avoided in favor of one of the methods that apply caching unless the update is not reusable.
-
update
public UpdateExecutionBuilder update(Class<?> owner, String operationName, Supplier<String> updateStringSupplier)
Uses a cachedUpdateif one is available under the specifiedoperationNamefor theRepositoryConnectionthat is used, otherwise the query string is obtained from the specified supplier, a new Update is instantiated and cached for future calls to this method.Note: this call is equivalent to
update(String)if operation caching is disabled.- Parameters:
owner- the class of the client requesting the update, used to generate a cache key in combination with the operation nameoperationName- name of the operation that, within the scope of the client, identifies the updateupdateStringSupplier- supplies the sparql of the update if needed
-
updateFromResource
public UpdateExecutionBuilder updateFromResource(Class<?> owner, String resourceName)
Reads the update from the specified resource and provides it through ainupdate(Class, String, Supplier), using theresourceNameas theoperationName.
-
update
public UpdateExecutionBuilder update(Class<?> owner, NamedSparqlSupplier namedSparqlSupplier)
Uses the providedNamedSparqlSupplierfor callingupdate(Class, String, Supplier).
-
updateWithoutCachingStatement
public UpdateExecutionBuilder updateWithoutCachingStatement(String updateString)
-
updateWithBuilder
public UpdateWithModelBuilder updateWithBuilder()
-
tupleQuery
public TupleQueryEvaluationBuilder tupleQuery(String queryString)
Bypassing any caches, generates a new TupleQuery from the specified SPARQL string and returns a Builder for its evaluation. Should be avoided in favor of one of the methods that apply caching unless the query is not reusable.
-
tupleQuery
public TupleQueryEvaluationBuilder tupleQuery(Class<?> owner, String operationName, Supplier<String> queryStringSupplier)
Uses a cachedTupleQueryif one is available under the specifiedoperationNamefor theRepositoryConnectionthat is used, otherwise the query string is obtained from the specified supplier, a new TupleQuery is instantiated and cached for future calls to this method.
-
tupleQueryFromResource
public TupleQueryEvaluationBuilder tupleQueryFromResource(Class<?> owner, String resourceName)
Reads the query from the specified resource and provides it through aintupleQuery(Class, String, Supplier), using theresourceNameas theoperationName.
-
tupleQuery
public TupleQueryEvaluationBuilder tupleQuery(Class<?> owner, NamedSparqlSupplier namedSparqlSupplier)
Uses the providedNamedSparqlSupplierfor callingtupleQuery(Class, String, Supplier).
-
graphQuery
public GraphQueryEvaluationBuilder graphQuery(String graphQueryString)
Bypassing any caches, generates a new GraphQuery from the specified SPARQL string and returns a Builder for its evaluation. Should be avoided in favor of one of the methods that apply caching unless the query is not reusable.
-
graphQuery
public GraphQueryEvaluationBuilder graphQuery(Class<?> owner, String operationName, Supplier<String> queryStringSupplier)
Uses a cachedGraphQueryif one is available under the specifiedoperationNamefor theRepositoryConnectionthat is used, otherwise the query string is obtained from the specified supplier, a new GraphQuery is instantiated and cached for future calls to this method.
-
graphQueryFromResource
public GraphQueryEvaluationBuilder graphQueryFromResource(Class<?> owner, String resourceName)
Reads the query from the specified resource and provides it through aingraphQuery(Class, String, Supplier), using theresourceNameas theoperationName.
-
graphQuery
public GraphQueryEvaluationBuilder graphQuery(Class<?> owner, NamedSparqlSupplier namedSparqlSupplier)
Uses the providedNamedSparqlSupplierfor callinggraphQuery(Class, String, Supplier).
-
deleteTriplesWithSubject
public void deleteTriplesWithSubject(IRI id)
-
delete
public void delete(IRI id)
Deletes the specified resource: all triples are deleted in whichidis the subject or the object.- Parameters:
id-
-
delete
public void delete(IRI start, List<PropertyPath> propertyPaths)
Deletes the specified resource and all resourcesRreached via any of the specified property paths.Deletion means that all triples are removed in which
startor any resource inRare the subject or the object.- Parameters:
start- the initial resource to be deletedpropertyPaths- paths by which to reach more resources to be deleted.
-
associate
public void associate(IRI fromResource, IRI property, Collection<IRI> toResources, boolean deleteOtherOutgoing, boolean deleteOtherIcoming)
-
getStringSupplierFromResourceContent
public Supplier<String> getStringSupplierFromResourceContent(String resourceName)
-
getNewUUID
public IRI getNewUUID()
Returns a UUID IRI (schema: 'urn:uuid'). Actual implementation depends on theuuidSourcethat has been configured. SeeUUIDSourceandorg.eclipse.rdf4j.spring.uuidsourcefor details.
-
-