My Javacization of Tripoli proceeds apace. A snapshot of the source, including JUnit tests, can be grabbed from http://codepoetics.com/code/tripoli.tar.gz
Tripoli is an attempt to implement a “triple space” - basically a triple store with tuple space semantics. Browsing the tests is probably the quickest way to find out what it’s meant to do, but the general idea is that it provides some primitives for co-ordinating concurrent processes, based on a sort of shared “whiteboard” plus a notification mechanism that allows processes to wait for triples that match a particular pattern to be added to the triple space.
By restricting the tuples that can be added to the shared space to triples, we can introduce some extra semantics in the form of the collectGraph and copyCollectGraph operations, which treat each triple (V,E,V) as a description of an edge between two vertices of a directed, labelled graph and retrieve all of the vertices that are reachable from a given starting point. This enables the representation and querying of RDF-like data structures.