Skip to main content

Knowledge Graph Autoencoder Training Environment, bridging PyG encoders and TorchKGE decoders.

Project description

Knowledge Graph Autoencoder Training Environment (KGATE)

KGATE is a knowledge graph embedding library bridging the encoders from Pytorch Geometric and the decoders from TorchKGE.

This tool relies heavily on the performances of TorchKGE and its numerous implemented modules for link prediction, negative sampling and model evaluation. The main goal here is to address the lack of encoders in the original library, who is unfortunately not maintained anymore.

Installation

It is recommended to download the configuration template alongside your installation (see Usage below).

With pip

pip install kgate

From source

Clone this repository and install it in a virtual environment like so:

git clone git@github.com:BAUDOTlab/KGATE.git
python -m venv kge_env
source kge_env/bin/activate

Join the development

KGATE is developed using Poetry. If you want to contribute to KGATE or make your own modifications, follow these steps:

1. Install Poetry

pip install poetry

2. Clone the repository

git clone git@github.com:BAUDOTlab/KGATE.git

3. Install dependencies

cd KGATE
poetry install

Usage

KGATE is meant to be a self-sufficient training environment for knowledge graph embedding that requires very little code to work but can easily be expanded or modified. Everything stems from the Architect class, which holds all the necessary attributes and methods to fully train and test a KGE model following the autoencoder architecture, as well as run inference.

The configuration file lets you iterate quickly without changing your code. See the template to learn what the different options do.

At the very least, KGATE expects the Knowledge Graph to be given as a pandas dataframe or a CSV file with the columns "from", "to" and "rel", corresponding respectively to the head nodes, tail nodes and relation typesof the triplets, with one triplet per row. Any extra columns are ignored. In addition, a metadata dataframe can be submitted (can also be a CSV) to map each node with their type, requiring the columns "id" and "type". Extra columns are likewise ignored.

from kgate import Architect

config_path = "/path/to/your/config.toml"

architect = Architect(config_path = config_path)

# Train the model using KG and hyperparameters specified in the configuration
architect.train_model()

# Test the trained model, using the best checkpoint
architect.test()

# Run KG completion task, the empty list is the element that will be predicted
known_heads = []
known_relations = []
known_tails = []
architect.infer(known_heads, known_relations, known_tails)

For a more detailed example and specific methods that are available in the package, see the upcoming readthedocs documentation.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kgate-0.2.16.tar.gz (49.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kgate-0.2.16-py3-none-any.whl (56.6 kB view details)

Uploaded Python 3

File details

Details for the file kgate-0.2.16.tar.gz.

File metadata

  • Download URL: kgate-0.2.16.tar.gz
  • Upload date:
  • Size: 49.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Linux/6.10.7-arch1-1

File hashes

Hashes for kgate-0.2.16.tar.gz
Algorithm Hash digest
SHA256 98e0297af45d73c6f7383e7b59d963c5e66b60800f0e920ce9177baf20f5b4a8
MD5 ca53138415ceca9047aa110eeb575e2d
BLAKE2b-256 48dc37b6426958409a69b9bec57fdce31de9aa5b02890c1598594dfd55ed141f

See more details on using hashes here.

File details

Details for the file kgate-0.2.16-py3-none-any.whl.

File metadata

  • Download URL: kgate-0.2.16-py3-none-any.whl
  • Upload date:
  • Size: 56.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.2 Linux/6.10.7-arch1-1

File hashes

Hashes for kgate-0.2.16-py3-none-any.whl
Algorithm Hash digest
SHA256 07d2c5861f2ee931bab16cff5c96fec063b6d4a9dc6bfbaf3f96a41bae0f95a7
MD5 1761e75fd2ad10cf1cfefc2c7e749356
BLAKE2b-256 74b509d74d20e07449e2a8d75cff196c05e0ac96fa74e10ceee5740f38038ee8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page