Getting started as a contributor

HeFQUIN is an open-source project focused on enabling efficient querying over heterogeneous data sources. Developers and users are encouraged to contribute to the project, whether by adding creating new extensions, suggesting new features, fixing bugs, or improving documentation.

Please read on if you're interested in contributing!

Set up your programming environment

Here's what you have to do to set up your programming environment to work on HeFQUIN.

Start by creating a local clone of the HeFQUIN repo using SSH:

git clone git@github.com:LiUSemWeb/HeFQUIN.git
or using HTTPS:
git clone https://github.com/LiUSemWeb/HeFQUIN.git

Import the project into your favorite IDE

Build HeFQUIN using Maven

The HeFQUIN source code is a Maven project. Hence, instead of using Eclipse (or any other IDE for Java), you can also compile and build the project using Maven on the command line. To do this, enter the directory into which you have cloned the HeFQUIN git repo. Next, build the project using the following command:

mvn package

Assuming the build process completes without errors, you can now directly run the scripts in the bin/ directory:

  1. hefquin - Run a single query via the engine. E.g.:
    
        ./bin/hefquin \
            --query ../ExampleQuery.rq \
            --federationDescription ../ExampleFederation.ttl 
  2. hefquin-server - Start the engine as a service in an embedded web server (http://localhost:8080/). E.g.:
    ./bin/hefquin-server
  3. hefquin-pg - Run a SPARQL query over a PG store. E.g.:
    
        ./bin/hefquin-pg \
            --query ExampleBGP.rq \
            --lpg2rdfconf ExampleLPG2RDF.ttl \
            --endpoint http://localhost:7474/db/neo4j/tx \
            --username neo4j-username \
            --password neo4j-password
                            
  4. hefquin-pg - Materialize an RDF view of a PG store. E.g.:
    
        ./bin/hefquin-pgmat \
            --endpoint http://localhost:7474/db/neo4j/tx \
            --username neo4j-username \
            --password neo4j-password
                            

To see the list of other possible arguments for the command line tools, you may execute the script using the --help argument. E.g.:

./bin/hefquin --help