Matching EvaLuation Toolkit (MELT)
User Guide

A powerful framework for ontology, instance, and knowledge graph matching.

Get started now View it on GitHub


Overview

MELT is a powerful maven framework for developing, tuning, evaluating, and packaging ontology matching systems. It is optimized to be used in OAEI campaigns and allows to submit matchers to the SEALS and HOBBIT evaluation platform easily. MELT can also be used for non OAEI-related matching tasks and evaluation.

Found a bug? Don’t hesitate to open an issue.

Code Examples

The examples folder contains reference examples that you can use to better understand how MELT can be used for different tasks and that can be used as barebone project for specific applications. The examples are also referenced in the user guide here.

Code Documentation / JavaDoc

The MELT code is extensively documented using JavaDoc which is also published online:

About this User Guide

This guide is written for newcomers and practitioners in the matching domain. You can read this guide like a book chapter by chapter using the navigation pane on the left or by jumping directly to the section of your interest.

Note that you can also easily search the entire user guide:

image

You can use the search below to search the complete code base of MELT.

Installation

MELT is distributed through maven central. You can directly include MELT dependencies in your maven project from there. If you want to use the latest MELT development version (e.g. to try out new features or to contribute to the MELT project), clone the github repository and install it locally (mvn clean install).

Special Installation Instructions for Module matching-ml

The ML module of MELT executes python code in the background. Before installing/using the dependency locally, you need to prepare your machine (once):

Modules Overview

MELT is grouped into multiple maven modules which are described below.

matching-assembly

Utility to automatically package matching systems.

matching-base

Contains the basic interfaces to implement a matcher e.g. MatcherURL.

matching-data

Contains the MELT track repository implementation and data structures such as Track, or TestCase.

matching-eval

Contains various tools to evaluate the performance of matchers and to analyze their result.

matching-eval-client

Contains the code for the JAR that can be used to evaluate matchers in the command line.

matching-jena-matchers

Contains modularized matchers that can be used to quickly assemble matching systems. Note that it is possible to easily chain those matchers building a matching pipeline.

matching-jena

Contains Jena-based classes related to matcher development as well as additional services such as caching of source and target ontologies.

matching-maven-plugin

Maven plugin for creating a container for the HOBBIT platform.

matching-ml

The machine learning extension for MELT. The ML extension allows communicating with a Python backend. Currently, gensim is supported. The module also contains a client to consume KGvec2go vectors.

matching-owlapi

Contains OWL-API-based classes related to matcher development as well as additional services such as caching of source and target ontologies.

matching-validation

Contains various validation services to validate new tracks and test cases. Validation includes parseability by multiple libraries using different releases and further checks.

receivers (receiver-hobbit, receiver-cli, receiver-http)

Contains utilities to wrap a matcher to a specific interface such as HTTP, SEALS, HOBBIT etc.

yet-another-alignment-api

MELT’s alignment API containing the Alignment data structure and related functionality such as parsing or serializing of alignments.