JSPM

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

N3 parser that implements the RDF/JS Sink interface

Package Exports

  • @rdfjs/parser-n3
  • @rdfjs/parser-n3/index.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/parser-n3) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@rdfjs/parser-n3

build status npm version

N3 parser which implements the RDF/JS Sink interface using the N3.js library.

Usage

The package exports the parser as a class, so an instance must be created before it can be used. The .import method, as defined in the RDFJS specification, must be called to do the actual parsing. It expects a Turtle, Trig, N-Triples or N-Quads string stream. The method will return a stream which emits the parsed quads. It also emits prefix events as defined in the RDF/JS specification.

The constructor accepts an options object with the following optional keys:

  • baseIRI: Allows passing the base IRI manually to the N3.js library.
  • factory: Use an alternative RDF/JS data factory. By default the reference implementation is used.

It's also possible to pass options as second argument to the .import method. The options from the constructor and the .import method will be merged together.

Example

This example shows how to create a parser instance and how to feed it with a stream from a string. The parsed quads and the prefixes are written to the console.

import ParserN3 from '@rdfjs/parser-n3'
import { Readable } from 'readable-stream'

const parserN3 = new ParserN3()

const input = Readable.from(`
PREFIX s: <http://schema.org/>

[] a s:Person ;
  s:jobTitle "Professor" ;
  s:name "Jane Doe" ;
  s:telephone "(425) 123-4567" ;
  s:url <http://www.janedoe.com> .
`)

const output = parserN3.import(input)

output.on('data', quad => {
  console.log(`quad: ${quad.subject.value} - ${quad.predicate.value} - ${quad.object.value}`)
})

output.on('prefix', (prefix, ns) => {
  console.log(`prefix: ${prefix} ${ns.value}`)
})