DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/rdfjs__formats package

4.0.0 • Public • Published


build status npm version

This module bundles parsers and serializers for the most common RDF formats. Instances of SinkMap are used to handle different media types.


The formats object has a parsers and serializers property. Each is an instance of SinkMap with the most common RDF media types as key. The formats object is exported as default and can be imported like this:

import formats from '@rdfjs/formats'

Pretty-Print Serializers

The default bundle of serializers is optimized for streaming. The pretty-print formats bundle can be used if a more human-readable output is required. It can be imported like this:


A factory that takes care of parsers and serializers. An additional .formats object will be attached to the environment. That object is compatible with the data structure of @rdfjs/formats-common. The .formats object has an additional .import() function to import other format bundles. The following code shows how to import the @rdfjs/formats-common bundle:

import formats from '@rdfjs/formats/pretty.js'


The following example uses the parser for the media type text/turtle to parse the given string. The quads emitted by the data event are written to the console:

import formats from '@rdfjs/formats'
import { Readable } from 'readable-stream'

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 = formats.parsers.import('text/turtle', 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}`)

Package Sidebar


npm i @rdfjs/formats

Weekly Downloads






Unpacked Size

18.8 kB

Total Files


Last publish


  • bergos