1.7.0 • Published 5 months ago

@jeswr/pretty-turtle v1.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Pretty Turtle

A pretty turtle syntax writer (including support for RDF-star)

GitHub license npm version Dependabot semantic-release

Usage

import { write } from '@jeswr/pretty-turtle';

// Convert RDF/JS quads into a pretty turtle string
const str = await write(quads);

Options

The write function accepts an optional second parameter with configuration options:

interface Options {
  prefixes?: Record<string, string>;
  format?: string;
  compact?: boolean;
  isImpliedBy?: boolean;
  baseIri?: string;
  explicitBaseIRI?: boolean;
}

format

Specifies the output format. Supported values:

  • 'text/turtle' (default) - Standard Turtle format
  • 'text/n3' - Notation3 format
// Convert RDF/JS quads into a Notation3 string
const str = await write(quads, {
  format: 'text/n3'
});

prefixes

A map of prefix names to their corresponding namespace URIs for compacting URIs in the output.

const str = await write(quads, {
  prefixes: {
    ex: "http://example.org/",
    foaf: "http://xmlns.com/foaf/0.1/",
    schema: "https://schema.org/"
  }
});

compact

When set to true, produces a more compact output by removing unnecessary whitespace and line breaks.

// Compact output
const str = await write(quads, {
  compact: true
});

baseIri

Sets the base IRI for the document, which can be used to resolve relative IRIs.

const str = await write(quads, {
  baseIri: "http://example.org/base/"
});

explicitBaseIRI

When set to true, explicitly writes the @base directive in the output even if a base IRI is provided.

const str = await write(quads, {
  baseIri: "http://example.org/base/",
  explicitBaseIRI: true
});
// Output will include: @base <http://example.org/base/> .

isImpliedBy

Used to opt in to using isImpliedBy syntax (<=) when in N3 mode.

const str = await write(quads, {
  format: 'text/n3',
  isImpliedBy: true
});

Complete Example

import { write } from '@jeswr/pretty-turtle';

const str = await write(quads, {
  format: 'text/turtle',
  prefixes: {
    ex: "http://example.org/",
    foaf: "http://xmlns.com/foaf/0.1/"
  },
  baseIri: "http://example.org/base/",
  explicitBaseIRI: true,
  compact: false
});

License

©2023–present Jesse Wright, MIT License.

1.6.2

6 months ago

1.7.0

5 months ago

1.6.1

6 months ago

1.6.0

6 months ago

1.5.1

6 months ago

1.5.0

2 years ago

1.4.0

3 years ago

1.2.0

3 years ago

1.3.0

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago