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
[legend]
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 = ""
[static]
 

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 1.2.11.1 Wed Oct 10 16:40:36 2001.