Gno Logo

Gno

Hex.pmHex DocsLicense

ExUnit TestsDialyzerQuality Checks

gnō-, Proto-Indo-European root meaning "to know."

-- Etymonline

Gno is an Elixir library that abstracts RDF dataset persistence across different storage backends, providing a single API for querying, updating, and managing RDF data regardless of the underlying SPARQL triple store. It uses DCAT-R for its structural model and RDF-based configuration.

Features

Getting Started

Installation

For complete setup instructions including HTTP adapter configuration, store backend setup, and manifest configuration, see the Installation guide.

Quick Example

# Query data
{:ok, result} = Gno.select("SELECT ?s ?p ?o WHERE { ?s ?p ?o }")

# Insert data
:ok = Gno.insert_data(EX.S |> EX.p(EX.O))

# Commit structured changes transactionally
{:ok, commit} = Gno.commit(
  add: EX.S1 |> EX.p(EX.O1),
  update: EX.S2 |> EX.p(EX.O2),
  remove: EX.S3 |> EX.p(EX.O3)
)

Further Reading

For a comprehensive guide covering installation, configuration, querying, and data management, see the User Guide.

For detailed API documentation, see the HexDocs documentation.

Consulting

If you need help with your Elixir and Linked Data projects, just contact NinjaConcept via contact@ninjaconcept.com.

Acknowledgements

NLnet Foundation LogoNGI Zero Core LogoJetBrains Logo

This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program.

JetBrains supports the project with complimentary access to its development environments.

License and Copyright

(c) 2026 Marcel Otto. MIT Licensed, see LICENSE for details.