6 #ifndef KNOWROB_STORAGE_INTERFACE_H
7 #define KNOWROB_STORAGE_INTERFACE_H
9 #include "knowrob/storage/QueryableStorage.h"
18 class StorageInterface {
58 const std::vector<std::shared_ptr<NamedBackend>> &backends = {});
static void batch(const QueryableBackendPtr &backend, const TripleHandler &callback)
TokenBufferPtr getAnswerCursor(const QueryableBackendPtr &backend, const GraphPathQueryPtr &query)
void query(const QueryableBackendPtr &backend, const GraphQueryPtr &q, const BindingsHandler &callback) const
std::shared_ptr< transaction::Transaction > createTransaction(const QueryableBackendPtr &queryable, TransactionType type, BackendSelection mode=Excluding, const std::vector< std::shared_ptr< NamedBackend >> &backends={})
StorageInterface(const std::shared_ptr< StorageManager > &backendManager)
bool removeAllWithOrigin(std::string_view origin)
auto & vocabulary() const
void match(const QueryableBackendPtr &backend, const TriplePattern &query, const TripleVisitor &visitor) const
std::shared_ptr< StorageManager > backendManager_
void pushIntoCursor(const QueryableBackendPtr &backend, const GraphPathQueryPtr &query, const TokenBufferPtr &resultStream) const
auto & backendManager() const
void query(const QueryableBackendPtr &backend, const GraphQueryPtr &q, const BindingsHandler &callback) const
bool mergeInsert(const QueryableBackendPtr &backend, const Triple &triple)
bool contains(const QueryableBackendPtr &backend, const Triple &triple) const
std::function< void(const TriplePtr &)> TripleVisitor
std::shared_ptr< TokenBuffer > TokenBufferPtr
std::function< void(const BindingsPtr &)> BindingsHandler
std::function< void(const TripleContainerPtr &)> TripleHandler
std::shared_ptr< GraphQuery > GraphQueryPtr
std::shared_ptr< QueryableStorage > QueryableBackendPtr
std::shared_ptr< GraphPathQuery > GraphPathQueryPtr