JSPM

@rdfjs/traverser

0.1.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10362
  • Score
    100M100P100Q138930F
  • License MIT

Generic traverser for RDF/JS datasets

Package Exports

  • @rdfjs/traverser
  • @rdfjs/traverser/Factory.js
  • @rdfjs/traverser/Traverser.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rdfjs/traverser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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