Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/SDM-TIB/EABlock

A computational block to solve entity alignment over textual attributes in a knowledge graph creation pipeline.
https://github.com/SDM-TIB/EABlock

Last synced: about 1 month ago
JSON representation

A computational block to solve entity alignment over textual attributes in a knowledge graph creation pipeline.

Awesome Lists containing this project

README

        

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4965732.svg)](https://doi.org/10.5281/zenodo.5779773)

# ![EABlock](https://github.com/SDM-TIB/EABlock/blob/main/eablock_logo.png "EABlock")
EABlock is an engine-agnostic computational block to solve the problem of entity alignment as part of a declarative knowledge graph creation pipeline. EABlock is composed of a set of functions defined using function ontology and can be called from RML mapping rules and an efficient strategy to evaluate them. The functions in EABlock rely on another engine for solving the tasks of named entity recognition (NER) and entity linking (EL) that are required for entity alignment. For instance Falcon2.0 which performs both NER and EL. The interpreter of the EABLock follows eager evaluation strategy which enables the execution of EABLock functions prior to the execution of the RML mapping rules.

![pipeline](https://github.com/SDM-TIB/EABlock/blob/main/presentation_interpretation.png "pipeline")

## Publication:
EABlock research paper titled: "EABlock: A Declarative Entity Alignment Block for Knowledge Graph Creation Pipelines" is published at the proceedings of SAC 2022, acm sigapp conference.
- Paper : https://dl.acm.org/doi/abs/10.1145/3477314.3507132?casa_token=BsK5AdHTJ6kAAAAA:PWO0UWqLVHlIjdX8s0rFLrAWWxaCv3TXjjXXZIahDDEQX6dvpyW3cW9LuPpklh0L-4ksxWHht37C3WQ
- The slides of the presentation at SAC 2022: https://drive.google.com/file/d/1LF_w27Ukr8f6YxWkInD6cBmeK3g4ugda/view?usp=sharing
- The video of the presentation at SAC 2022: https://drive.google.com/file/d/1VihARqa0IuT8w_90FWgFECdPFwS9Ndb7/view?usp=sharing

## How to apply?
1. Create your config.ini file following the example provided in [config.ini](https://github.com/SDM-TIB/EABlock/blob/main/example/config-test.ini)
2. Choose one of the options below to run:

### Run with Python3
```
pip install -r requirements.txt
python3 /PATH_TO_EABlock/Functions_Interpreter/run_translator.py /PATH_TO_YOUR_CONFIG_FILE/YOUR_CONFIG_FILE.ini
```

## Directly use the docker image:

```
# move to docker-compose directory
cd docker

# run the docker instance
docker-compose up -d

# execution
docker exec -it EABlock python3 /EABlock/run_translator.py /source/config-test.ini

```

## Build the docker image locally:

```
cd Functions_Interpreter

docker build -t sdmtib/EABlock:1.0 .

```

## Reproducibility:

We have empirically studied the performance of knowledge graph pipelines using EABlock and the result knowledge graphs generated by such pipelines. All the results of the three categories of the experimental studies that are performed in the paper to evaluate the performance of EABlock can be reproduced. The setup codes are available [here](https://github.com/SDM-TIB/EABlock/tree/main/experiments) and all data and intermediate datasets (outcome of codes) are accessible [here](https://tib.eu/cloud/s/XJiqDDAHqM8Fw5K). The details of the path to the datasets related to each experiment category is also provided in a seperated DATASETS txt files ([example](https://github.com/SDM-TIB/EABlock/blob/main/experiments/precision_recall_experiments/DATASET.txt) ).

## Authors

- Samaneh Jozashoori ([email protected])
- Ahmad Sakor ([email protected])
- Enrique Iglesias ( [email protected])
- Maria-Esther Vidal ([email protected])