@rdfjs/serializer-rdfjs
Version:
RDF/JS JavaScript code serializer that implements the RDF/JS Sink interface
49 lines (42 loc) • 1.21 kB
JavaScript
import { readFile } from 'node:fs/promises'
import rdf from '@rdfjs/data-model'
import { Readable } from 'readable-stream'
async function build ({ name, quads }) {
return {
codeCommonJs: (await readFile(`test/support/example.${name}.cjs`)).toString(),
codeEsm: (await readFile(`test/support/example.${name}.mjs`)).toString(),
codeTs: (await readFile(`test/support/example.${name}.ts`)).toString(),
quads,
stream: Readable.from(quads)
}
}
async function empty () {
return build({ name: 'empty', quads: [] })
}
async function simple () {
const blankNode0 = rdf.blankNode()
const blankNode1 = rdf.blankNode()
const quads = [
rdf.quad(
blankNode0,
rdf.namedNode('http://example.org/predicate1'),
rdf.literal('object')
),
rdf.quad(
blankNode0,
rdf.namedNode('http://example.org/predicate2'),
rdf.literal('text', 'en')
),
rdf.quad(
blankNode1,
rdf.namedNode('http://example.org/predicate3'),
rdf.literal('123.0', rdf.namedNode('http://www.w3.org/2001/XMLSchema#double')),
rdf.namedNode('http://example.org/graph')
)
]
return build({ name: 'simple', quads })
}
export {
empty,
simple
}