Class MemoryStore

java.lang.Object
All Implemented Interfaces:
FederatedServiceResolverClient, NotifyingSail, Sail

public class MemoryStore extends AbstractNotifyingSail implements FederatedServiceResolverClient
An implementation of the Sail interface that stores its data in main memory and that can use a file for persistent storage. This Sail implementation supports single, isolated transactions. This means that changes to the data are not visible until a transaction is committed and that concurrent transactions are not possible. When another transaction is active, calls to startTransaction() will block until the active transaction is committed or rolled back.

The MemoryStore is designed for datasets with fewer than 100,000 triples. The MemoryStore uses hash tables, and when these hash tables fill up it copies the values to larger hash tables. This can cause strain on the garbage collector due to lots of memory being allocated and freed.

Author:
Arjohn Kampman, jeen