Skip to content

MKMaS-GUET/APEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APEX: daptive Variable-wise Parallel Execution for Worst-Case Optimal Joins on Graph Queries

APEX is a graph query engine for RDF data based on worst-case optimal joins (WCOJ). It supports variable-wise parallel execution and dynamic variable ordering, and is designed to efficiently process complex graph queries on large-scale knowledge graphs.


Features

  • Build RDF databases with trie-based indexes
  • Execute graph queries using worst-case optimal joins
  • Train and test variable ordering models
  • Multi-threaded query execution

Build

  1. Clone this project
git clone git@github.com:MKMaS-GUET/APEX.git
git submodule update --init
  1. Build this project
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

Or use the build.sh script to build this project directly

./scripts/build.sh

Usage

Build Database

./apex build -d <DATABASE_PATH> -f <RDF_DATA_FILE>

Query Database

./apex query -d <DATABASE_PATH> -f <QUERY_FILE> -t <NUM_THREADS>

Train Model

./apex train -d <DATABASE_NAME> -f <QUERY_FILE> -t <NUM_THREADS>

Test Model

./apex test -d <DATABASE_NAME> -f <QUERY_FILE> -t <NUM_THREADS>

Options

Option Description
-d, --database Database path or name
-f, --file RDF data file or query file
-t, --threads Number of threads

Example

./apex build -d mydb -f data.nt
./apex query -d mydb -f queries.txt -t 16

Notes

  • If the database path does not contain /, it will be stored under DB_DATA_ARCHIVE/ by default.
  • The default number of threads is 32.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published