Skip to content

MaastrichtU-IDS/RDFCraft

Repository files navigation

RDFCraft

RDFCraft is a tool for mapping csv/json data to RDF with an easy to use GUI. It uses FastAPI for the backend, React for the frontend and everything packed in a single executable using Nuitka.

RDFCraft Mapping Interface

Features 🌟

  • Easy to use GUI: Just upload your csv/json file and start mapping your data to RDF.

  • Ontology Indexing: It indexes all the classes and properties from the provided ontology and provides recommendations while mapping.

  • Source Indexing: It indexes all the columns from the provided csv/json file and provides recommendations while mapping.

  • Auto Completion: It provides auto completion while creating URIs for entities.

  • Multiple file formats: Supports both csv and json file formats.

  • Multiple RML formats: It generates both YARRRML and RML mappings.

Requirements 📦

  • Latest Java Runtime Environment (JRE) or Java Development Kit (JDK) to use the RMLMapper
    • This is required to generate RML mappings.

Installation 🚀

From Releases page, download the latest release for your OS and extract the contents if it is compressed. Run the executable and you are good to go.

Warning

On macOS, because app is not notarized by Apple, you need to run following command to bypass the gatekeeper:

xattr -rd com.apple.quarantine </path/to/RDFCraft.app>

More information about gatekeeper can be found here.

Getting Started 🚦

You can find a detailed guide on how to use RDFCraft in the Guide section.

Development 🛠

With Devcontainer 🐳

You can either use Codespaces or a local devcontainer to start developing.

For Codespaces, just open the repository in Codespaces and you are good to go.

For local devcontainer, you need to have Docker installed on your machine. Then clone the repository and run the following command and open the repository in VSCode. It should prompt you to open the repository in a devcontainer.

Or you can use Command Palette (Ctrl/Command+Shift+P) and search for Dev Container: Reopen in Container.

Manual Installation

1- Clone the repository:

git clone [email protected]:MaastrichtU-IDS/RDFCraft.git

2- Install the dependencies for the backend:

  • If you have just installed:
just install-dev
  • Otherwise:
uv sync --all-extras --dev

3- Install the dependencies for the frontend:

cd app
npm install

4- Create .env file in the root directory and add the following:

DEBUG=1

5- Start the backend

6- Start the frontend

cd app
npm run dev