@rdfjs/traverser
v0.1.4
Published
Generic traverser for RDF/JS datasets
Readme
@rdfjs/traverser
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 theTraversershould 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, theinitialValueis 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.
