| Agent | An Agent is something which can do something interesting with triples |
| ByteFIFO | A ByteFIFO is a simple ByteSink and ByteSource in which the bytes can be read once in the order they were written (First-In First-Out order) |
| ByteSink | A ByteSink is an abstract base class for thing you can send bytes to |
| ByteSource | A ByteSource is a (documentation goes here) |
| ByteWriter | A ByteWriter is a (documentation goes here) |
| CachingPool | A CachingPool is an intermediate Pool providing caching for another (presumably slow) Pool |
| DeductivePool | A DeductivePool is an inference layer on top of another triple store |
| FilePool | A FilePool is a (documentation goes here) |
| FlowManager | The FlowManager coordinates asynchronous I/O and in-process time-slicing |
| ForeignVariableScope | A ForeignVariableScope is a VariableScope which wraps another one and makes sure no variable in this getScope() matches a variable in the other getScope() |
| Generator | A Generator turns a stream of Triples into a stream of Bytes, using some encoding language |
| GrammarManager | A GrammarManager is a (documentation goes here) |
| RDF::Graph | A Graph is a (documentation goes here) |
| hashmap_entry | This is really a variable-size structure |
| InMemoryPool | An InMemoryPool is a plain and simple hash-table based triple store |
| LoggingTripleSink | A LoggingTripleSink is a (documentation goes here) |
| LoopState | A LoopState is a way for one module to easily provide a sequence of items to another |
| NTriplesFilePool | A NTriplesFilePool is a rudimentary Pool, keeping its data in a local file in plain old N-Triples format |
| NTriplesGenerator | A NTriplesGenerator is a (documentation goes here) |
| NTriplesParser | A NTriplesParser is a (documentation goes here) |
| OnDiskPool | A OnDiskPool is a (documentation goes here) |
| Parser | A Parser is a (documentation goes here) |
| ParseType | A ParseType is a (documentation goes here) |
| Pool | A Pool is mutable set of Triples |
| Query | A Query manages the task of determining whether a particular knowledge base already contains the knowledge in some other knowledge base, possibly in several different ways |
| QueryablePool | A QueryablePool is a pool which goes beyond TripleSource.fetch to actually do full query matching |
| ReferenceCountedObject | A ReferenceCountedObject is a (documentation goes here) |
| Rule | A Rule is a (documentation goes here) |
| SimpleVariableScope | A SimpleVariableScope is an implementation of VariableScope using SymbolTable |
| SplittingTripleSink | A SplittingTripleSink is a (documentation goes here) |
| Symbol | A Symbol is a name for some arbitrary abstract thing about which knowledge is being exchanged |
| SymbolMap | A SymbolMap is a map from Symbols in one SymbolTable to other Symbols |
| SymbolTable | A SymbolTable keeps a numbered list of records, which each have a unique (type, text) |
| Trace | A Trace is a (documentation goes here) |
| Triple | A Triple is a collection of three Symbols in distinct roles |
| TripleAdder | A TripleAdder is a (documentation goes here) |
| TripleSink | A TripleSink is a something to which you can add a Triple |
| TripleSinkReifier | A TripleSinkReifier combines multiple sink streams of triples, each identified by a symbol, into one sink stream which describes what's in the other streams using an appropriate vocabulary/ontology |
| TripleSource | A TripleSource is a something which can provide triples upon request |
| UnitTest | Deprecated! Nice, but shell scripts really are much simpler in general, and allow us to use the same code for examples |
| VariableScope | A VariableScope is a (documentation goes here) |
| WatchablePool | A WatchablePool is a (documentation goes here) |
| XSBAgent | A XSBAgent is a (documentation goes here) |
| XSBPool | An XSBPool is a Pool with various XSB-enabled tricks |
| XSBQuery | XSBQuery is an implementation of Query for XSBPool::query() |