OntoExpand is a lightweight, scalable toolkit for reasoning and knowledge enrichment in OWL ontologies using SPARQL. Designed for Semantic Web applications, OntoExpand avoids the high computational costs of traditional OWL reasoners by leveraging SPARQL CONSTRUCT and INSERT queries to perform efficient, incremental inference.
This app is built with Next.js and includes a GraphDB container (via Docker Compose) to get started quickly with a local ontology repository.
- π SPARQL-Driven Inference: Translates OWL axioms into SPARQL CONSTRUCT queries to generate inferred triples.
- β»οΈ Ontology Expansion: Automatically reinserts inferred triples using SPARQL INSERT for incremental enrichment.
- β‘ High Performance: Avoids the overhead of traditional ontology reasoners, making it suitable for large-scale datasets.
- π GraphDB Integration: Works seamlessly with Ontotext GraphDB via SPARQL endpoint.
- π³ One-Command Dev Setup: Launch GraphDB and the Next.js app together using Docker Compose.
git clone https://github.com/VitorLelis/OntoExpand
cd OntoExpandThe project includes a Docker Compose file that launches both the Next.js app and GraphDB together:
docker compose up --build
# or
docker compose up --build -d # run detached- OntoExpand (Next.js) β http://localhost:3000
- GraphDB Workbench β http://localhost:7200
Changes to your local code are reflected automatically in the running container (hot reload).
Before using OntoExpand, you must create a repository in GraphDB. Follow the instructions here:
π GraphDB Documentation β Creating a Repository
If youβre running inside Docker (recommended):
docker compose up --build
# or
docker compose up --build -d # run detachedIf you prefer running locally (don't forget the GraphDB instance):
npm install
npm run devThe app will be available at http://localhost:3000.
Traditional OWL reasoners are powerful but computationally expensive, often limiting their use in large-scale or dynamic environments. OntoExpand provides a more efficient alternative by translating OWL axioms into SPARQL CONSTRUCT queries and reinserting inferred triples using INSERT operations. This approach enables scalable, incremental reasoning directly over SPARQL endpoints like GraphDB.
- Node.js 18+
- Docker & Docker Compose
- A running GraphDB repository