@rdfjs/traverser
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/rdfjs__traverser package

0.1.2 • Public • Published

@rdfjs/traverser

build status

npm version

This package provides a generic traverser for RDF/JS Datasets.

Usage

The main export of the package is the Traverser class. It can be imported like this:

import Traverser from '@rdfjs/traverser'

The package also provides a factory that can be used with @rdfjs/environment:

import Environment from '@rdfjs/environment'
import TraverserFactory from '@rdfjs/traverser/Factory.js'

const env = new Environment([DataFactory, DatasetFactory, TraverserFactory])

Traverser(filter, { backward, factory, forward })

Creates a new Traverser instance. A Traverser contains only the rules for traversing. The dataset and the starting point must be given to the methods.

  • filter: A filter function that returns a truthy value if the Traverser should traverse the given quad.
  • backward: If true, traverse from object to subject. (default: false)
  • factory: A RDF/JS factory that supports RDF/JS Datasets. The function will be called like this: filter({ dataset, level, quad }).
    • dataset: The RDF/JS Dataset that is traversed.
    • level: The number of quads followed until the filter was called.
    • quad: The current quad to process.
  • forward: (default: true)

forEach ({ term, dataset }, callback)

Calls the given callback function for each quad matching the rules of the Traverser, starting from the given term and dataset. The callback function is called like this: callback({ dataset, level, quad }).

  • dataset: The RDF/JS Dataset that is traversed.
  • level: The number of quads followed until the callback was called.
  • quad: The current quad to process.

match ({ term, dataset })

Returns a RDF/JS Dataset that contains all quads matching the rules of the Traverser, starting from the given term and dataset.

reduce ({ term, dataset }, callback, initialValue)

Calls the given callback function for each quad matching the rules of the Traverser, starting from the given term and dataset. The callback function is called like this: callback({ dataset, level, quad }, result).

  • dataset: The RDF/JS Dataset that is traversed.
  • level: The number of quads followed until the callback was called.
  • quad: The current quad to process.
  • result: The return value of the previous call of the callback function. If it's called the first time, the initialValue is used.

Factory

The constructor is called by the @rdfjs/environment. The environment must support the RDF/JS DatasetFactory interface.

traverser(filter, { backward = false, forward = true } = {})

Creates a new Traverser instance and returns it.

For more details, see the Traverser constructor section.

Dependencies (1)

Dev Dependencies (6)

Package Sidebar

Install

npm i @rdfjs/traverser

Weekly Downloads

7,370

Version

0.1.2

License

MIT

Unpacked Size

21.8 kB

Total Files

10

Last publish

Collaborators

  • bergos