# 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.