LaMa4J (“Lattice Manipulation for Java”) is a set of Java classes that implement a number of lattices and lattice operations. It is free software distributed under the GNU General Public License.

History and Motivation

MG4J uses minimal-interval semantics to express the semantics of a query. A single-index query is turned into an element of a interval-antichain lattice; the element expresses the regions of the documents that satisfy the query. Queries involving more than one index are turned into elements of a sum of such lattices.

Manipulating the above lattices is not always trivial, so we decided to write a full Java package that could manipulate easily any kind of lattice. Marco Rosa wrote the first implementation, under Sebastiano Vigna's supervision, as part of his degree thesis.


You can grab LaMa4J from Maven Central.

Otherwise, you have to install the .jar file coming with the distribution and the dependencies, which are gathered for your convenience in a tarball.