Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

Pool Class Reference

A Pool is mutable set of Triples. More...

#include <Pool.h>

Inheritance diagram for Pool::

TripleSource TripleSink CachingPool FilePool InMemoryPool NTriplesFilePool OnDiskPool QueryablePool WatchablePool DeductivePool XSBPool Collaboration diagram for Pool:

Collaboration graph
List of all members.

Public Methods

Static Public Methods

Detailed Description

A Pool is mutable set of Triples.

You can add them (it's a TripleSink), remove them, and see what's inside (it's a TripleSource). You can also replace the Symbols used to identify particular objects. You can search a Pool with a Pattern (and sometimes use a Pool as a Pattern).

Like a database table, a Pool is a general way to store information with arbitrary structure. Some implementations of this abstract interface can be combined with each other to provide a wide variety of features.

Pools may be tempory (in-memory), long-lived, or even archival; they may dynamic or static; they may be private to this process or shared across a network.

Definition at line 31 of file Pool.h.

Member Function Documentation

Pool* Pool::open std::string    address,
Pool *    configuration = 0,
std::string    override = ""

Instantiate a local pool object for interaction with the pool identified by the given address.

A suitable class is used, with a language and protocol selected according to various configuration logic, which should rarely need to be modified.

In general, addresses are interpreted as URIs relative to a file: URL for the current working directory, so unless the address contains a colon, it behaves very much like a file name.

virtual void Pool::replace Symbol    old,
Symbol    replacement
[pure virtual]

Replace any occurances of 'old' with 'replacement'.

Caller should treat 'old' as if it had been released.

See also:
Symbol::release Symbol.release release

Reimplemented in NTriplesFilePool, InMemoryPool, and XSBPool.

virtual void Pool::remove Triple    t [pure virtual]

Remove the given triple, if it happens to be present.

No operation otherwise.

Reimplemented in InMemoryPool, and XSBPool.

Home to blindfold. This page generated via doxygen Wed Oct 10 16:40:36 2001.