Athena: An efficient in-memory data structure supporting arbitrary boolean queries See README file below for more information

Athena is an in-memory datastructure which allows you to store objects, associating each with a set of Strings, known as tags. You can then retrieve these objects by specifying a boolean query on the tags. The prototype implementation is written in Java.

While in the worst case Athena must do an exhaustive search of all objects to find those that match the query, over time it learns to do these queries more efficiently by figuring out which objects it can safely skip over.

The project is just a few days old but there is already a working open source prototype implemented in Java. The project is actively looking for contributors, you can learn more on the project's Github page.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Is this more efficient than

Is this more efficient than the obvious way of maintaining a set for each tag?