@rdfjs/parser-n3
Version:
N3 parser that implements the RDF/JS Sink interface
25 lines (19 loc) • 704 B
JavaScript
import rdf from '@rdfjs/data-model'
import toReadable from 'duplex-to/readable.js'
import { StreamParser } from 'n3'
class ParserStream {
constructor (input, { baseIRI = '', factory = rdf, ...rest } = {}) {
const boundFactory = {
blankNode: factory.blankNode.bind(factory),
defaultGraph: factory.defaultGraph.bind(factory),
literal: factory.literal.bind(factory),
namedNode: factory.namedNode.bind(factory),
quad: factory.quad.bind(factory),
variable: factory.variable.bind(factory)
}
const parser = new StreamParser({ baseIRI, factory: boundFactory, ...rest })
input.pipe(parser)
return toReadable(parser)
}
}
export default ParserStream