LIMES implements novel time-efficient approaches for link discovery in metric spaces. Our approaches different approximation techniques to compute estimates of the similarity between instances. These estimates are then used to filter out a large amount of those instance pairs that do not suffice the mapping conditions. By these means, LIMES can reduce the number of comparisons needed during the mapping process by several orders of magnitude. The approaches implemented in LIMES include the original LIMES algorithm for edit distances, REEDED for weighted edit distances, HR3, HYPPO, and ORCHID. Moreover, LIMES implements supervised and unsupervised machine-learning algorithms for finding accurate link specifications. The algorithms implemented here include the supervised, active and unsupervised versions of EAGLE, COALA and EUCLID.
The LIMES framework consists of seven main modules of which each can be extended to accommodate new or improved functionality. The central modules of LIMES are the controller module, which coordinates the matching process and the data module, which contains all the classes necessary to store data. The matching process is carried out as follows: First, the controller calls the I/O-module, which reads the configuration file and extracts all the information necessary to carry out the comparison of instances, including the URL of the SPARQL-endpoints of the knowledge bases, the restrictions on the instances to map (e.g., their type), the expression of the metric to be used and the threshold to be used. Examples of configuration files can be found in the distribution.
Given that the configuration file is valid w.r.t. the LIMES Specification Language (LSL), the query module is called. This module uses the configuration for the target and source knowledge bases to retrieve instances and properties from the SPARQL-endpoints of the source and target knowledge bases that adhere to the restrictions specified in the configuration file. The query module writes its output into a cache, which can be a file (for large number of instances, not implemented yet) or main memory. Once all instances have been stored in the cache, the controller calls the LIMES engine which runs through the specification and computes the results. The results are finally returned as RDF or TSV files.
Running LIMES can be carried in one of three ways.
- You can use our hosted Linking Service,
- Download the LIMES package (includes a user manual) and run it locally on your server or
- Use the LIMES webservice programmatically at the LIMES Linking Server. A client for tests be found here. The short description (the manual will be out soon) can be found here.