# Installation

The Gno Hex package (opens new window) can be installed as usual, by adding gno to your list of dependencies in mix.exs:

def deps do
  [
    {:gno, "~> 0.1"}
  ]
end

Gno uses SPARQL.Client under the hood for communication with SPARQL stores, so you should also configure an HTTP adapter. See the SPARQL.Client configuration page for details. For example, to use Hackney:

# mix.exs
def deps do
  [
    {:gno, "~> 0.1"},
    {:hackney, "~> 1.6"}
  ]
end
# config/config.exs
config :tesla, adapter: Tesla.Adapter.Hackney

# Backend Setup

You need a running SPARQL triple store to use Gno. Here is how to set up the most common backends for development:

# Fuseki

Apache Jena Fuseki (opens new window) can be started with fuseki-server. After starting, create a dataset:

curl -X POST http://localhost:3030/$/datasets \
  -d "dbType=mem&dbName=gno-dev-dataset" \
  -H "Content-Type: application/x-www-form-urlencoded"

# Oxigraph

Oxigraph (opens new window) can be started with:

oxigraph serve --location /tmp/oxigraph-data

It listens on port 7878 by default and requires no additional setup.

# QLever

QLever (opens new window) requires building an index before starting the server. Install the qlever CLI tool, then:

# Create a Qleverfile (or configure manually)
qlever setup-config default

# Add your data files and build the index
qlever index

# Start the server with update support
qlever start --persist-updates

QLever listens on the port configured in the Qleverfile and requires an access token for write operations.

# GraphDB

Install Ontotext GraphDB (opens new window) following the official installation guide (opens new window). It listens on port 7200 by default.

# Next Steps

With the dependencies installed and a store backend running, you need to configure your service, repository, and store connection through Gno's manifest system. Continue with the Configuration guide.

Last Updated: 3/19/2026, 10:44:02 PM