npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

jena-tdb

v0.1.0

Published

Wrapper for Jena TDB command line tools

Downloads

93

Readme

jena-tdb

Wrapper for Jena TDB command line tools with RDF/JS compatible interface.

Usage

This package provides a ParsingClient and a StreamClient for read and write access to Jena TDB datasets. Both classes use an instance of the Endpoint class for raw access.

ParsingClient ({ bin, db, factory })

The ParsingClient provides an interface that uses arrays to read and write Quad objects and rows. The constructor accepts the following options:

  • bin: Path to the bin folder of Jena as a string. Not required if the bin folder is listed in $PATH.
  • db: Path of the database directory as a string. If it's not given a temporary folder is created which can be deleted with .destroy().
  • factory: Factory that is used to create the RDF/JS objects. By default, @rdfjs/data-model is used.

destroy()

Deletes the folder of the database if a temporary folder was used.

endpoint

Endpoint instance used by the client.

query.construct (query)

Runs a construct query and returns the result async as an array of RDF/JS Quad objects.

  • query: The construct query as a string.

query.select (query)

Runs a select query and returns the result async as an array of rows. Each row is an object with the variable as key and the value as an RDF/JS Term.

  • query: The select query as a string.

query.update (query)

Runs async an update query.

  • query: The update query as a string.

store.import(quads)

Imports async RDF/JS Quad objects from an array or any other object with an iterator interface. The quads will be written to a temporary file.

  • quads: The quads to import provided as an object with an iterator interface.

store.dump()

Returns async the complete dataset as an array of RDF/JS Quad objects.

StreamClient ({ bin, db, factory })

The StreamClient provides an interface that uses Node.js Streams to read and write Quad objects and rows. The constructor accepts the following options:

  • bin: Path to the bin folder of Jena as a string. Not required if the bin folder is listed in $PATH.
  • db: Path of the database directory as a string. If it's not given a temporary folder is created which can be deleted with .destroy().
  • factory: Factory that is used to create the RDF/JS objects. By default, @rdfjs/data-model is used.

destroy()

Deletes the folder of the database if a temporary folder was used.

endpoint

Endpoint instance used by the client.

query.construct (query)

Runs a construct query and returns async a Readable stream of RDF/JS Quad objects.

  • query: The construct query as a string.

query.select (query)

Runs a select query and returns async a Readable stream of the result rows. Each row is an object with the variable as key and the value as an RDF/JS Term.

  • query: The select query as a string.

query.update (query)

Runs async an update query.

  • query: The update query as a string.

store.import(quadStream)

Imports async RDF/JS Quad objects from an array or any other object with an iterator interface. The quads will be written to a temporary file.

  • quadStream: The quads to import provided as a Readable stream of RDF/JS Quad objects.

store.dump()

Returns async the complete dataset as a Readable stream of RDF/JS Quad objects.

Endpoint ({ bin, db })

Class for raw access to a TDB instance.

async .importFiles(files)

Imports triples and quads from the file system.

  • files: Array of file paths to import.

Examples

The examples folder contains an example that shows how to import an N-Triples file into a DB and run a SELECT query on the imported triples.