Welcome to the Torus2 project pages, here you will find all information concerning the Index Data's Torus distributed knowledge-base, including conceptual and end-user documentation, configuration examples, and programmer's documentation (eg JavaDoc APIs).

What is Torus?

Torus is an amplified acronym for a “Translucent Record Store”.

Briefly speaking, Torus is a distributed knowledge-base that enables maintenance of key-value pair records within hierarchically organized containers called realms. Each realm may consume records from zero or more (remote or local) parent realms, possibly apply locally defined changes to the records (override specific fields within them), and finally expose some of its records for consumption by “child” realms and/or by other systems (e.g. computer programs that can be driven by key-value pair settings).

Technically, each Torus realm is an independent Web resource (RESTful Web Service endpoint) that can be interfaced with through standard HTTP operations (GET, PUT, POST, DELETE). Realms can reside in diverse locations, in which case caching schemes are employed (hence the Torus' distributed nature). Additionally, each realm's output can be filtered using industry-standard CQL (Contextual Query Language) search queries; each realm also supports generation of facets on user-specified fields.

We call the record store translucent because, while the realms are transparent in the sense that inherited records shine through them (to be visible in “child” realms), they can also superimpose opaque data over the top of what is inherited (to the point of hiding it entirely), both on a field-by-field basis and by adding completely new records.

The Torus was designed as a solution to the problem of maintaining a registry of meta-search targets so as to avoid duplication of work, and to facilitate sharing of target profiles, while at the same time retaining autonomy at any given level of the hierarchy. Still, the Torus is neither limited nor specific to the problem of target registries, and may be utilized in any setting where hierarchical (or relational) key-value pair data is applicable.

With its flexible architecture, Torus can model complex and multi-tiered hierarchies - enabling it to express, for example, common in the library environment relationships among consortia, member institutions, institutional departments and even individuals.