@rdfjs/serializer-turtle
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/rdfjs__serializer-turtle package

1.1.2 • Public • Published

@rdfjs/serializer-turtle

build status npm version

A Turtle serializer that implements the RDF/JS Sink interface. It serializes the given quads to a pretty-printed Turtle string.

All quads need to be kept in memory for pretty-printing. The quads of the stream are collected and serialized after the last quad is written.

Install

npm install --save @rdfjs/serializer-turtle

Usage

The package exports the serializer as a class, so an instance must be created before it can be used. The .import method, as defined in the RDF/JS specification, must be called to do the actual serialization. It expects a Stream of Quads as an argument. The method will return a Stream that emits the Turtle as a string.

Example

This example shows how to create a serializer instance and feed it with a stream of quads. The Turtle emitted by the serializer will be written to stdout.

import { Readable } from 'stream'
import rdf from '@rdfjs/data-model'
import Serializer from '@rdfjs/serializer-turtle'

const serializer = new Serializer()
const input = Readable.from([
  rdf.quad(
    rdf.namedNode('https://housemd.rdf-ext.org/person/gregory-house'),
    rdf.namedNode('http://schema.org/givenName'),
    rdf.literal('Gregory')),
  rdf.quad(
    rdf.namedNode('https://housemd.rdf-ext.org/person/gregory-house'),
    rdf.namedNode('http://schema.org/familyName'),
    rdf.literal('House')),
  rdf.quad(
    rdf.namedNode('https://housemd.rdf-ext.org/person/gregory-house'),
    rdf.namedNode('http://schema.org/knows'),
    rdf.namedNode('https://housemd.rdf-ext.org/person/james-wilson'))
])

const output = serializer.import(input)
output.pipe(process.stdout)

transform(quads)

The serializer code runs sync, and the RDF/JS Sink interface is just a wrapper. If your use case is very specific, with a low chance of using other formats, it can be used directly. The .transform method accepts Quads provided as an object that implements the Symbol.iterator method. It returns the generated Turtle code as a string.

Example

This example shows how to create a serializer instance and feed it with quads. The returned Turtle will be written to the console.

import rdf from '@rdfjs/data-model'
import Serializer from '@rdfjs/serializer-turtle'

const serializer = new Serializer()
const input = [
  rdf.quad(
    rdf.namedNode('https://housemd.rdf-ext.org/person/gregory-house'),
    rdf.namedNode('http://schema.org/givenName'),
    rdf.literal('Gregory')),
  rdf.quad(
    rdf.namedNode('https://housemd.rdf-ext.org/person/gregory-house'),
    rdf.namedNode('http://schema.org/familyName'),
    rdf.literal('House')),
  rdf.quad(
    rdf.namedNode('https://housemd.rdf-ext.org/person/gregory-house'),
    rdf.namedNode('http://schema.org/knows'),
    rdf.namedNode('https://housemd.rdf-ext.org/person/james-wilson'))
]

const output = serializer.transform(input)
process.stdout.write(output)

Readme

Keywords

Package Sidebar

Install

npm i @rdfjs/serializer-turtle

Weekly Downloads

6,426

Version

1.1.2

License

MIT

Unpacked Size

32.9 kB

Total Files

56

Last publish

Collaborators

  • bergos