Skip to content

internetofwater/nabu

Repository files navigation

Nabu

codecov goreportcard status

Nabu is a CLI program for:

  • crawling remote JSON-LD documents from a remote sitemap and storing them into an S3 bucket
  • synchronizing JSON-LD documents from the S3 bucket into a triplestore by:
    1. removing old triples from the triplestore that are no longer present in S3
    2. inserting triples into the triplestore which are present in S3 but not in the triplestore

See the examples directory for example CLI usage.

Installation

Docker

docker run internetofwater/nabu:latest

Native Binary

git clone https://github.com/internetofwater/nabu
cd nabu
go build ./cmd/nabu
./nabu --help

Technical Details

For technical details and design rationale see the docs folder.

Fork Details

This repo is a heavily modified fork of the gleanerio Nabu repo:

It was edited to:

  • add unit tests, integration tests, code coverage, and linting to the entire project
  • add crawl support from Gleaner into the Nabu binary
  • add shacl validation
  • refactor code to make it easier to maintain and extend
  • improve concurrency
  • add observability and tracing output using OpenTelemetry

About

Synchronize S3 RDF graph objects with a triplestore

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6