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
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 theTraverser
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, theinitialValue
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.