Package Exports
- @zazuko/env
- @zazuko/env/Environment.js
- @zazuko/env/index.js
- @zazuko/env/lib/DatasetFactory.js
- @zazuko/env/web.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 (@zazuko/env) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Zazuko's RDF/JS Environment
Like rdf-ext, with some additional features.
import env from '@zazuko/env'
// bind namespace to create named nodes
const tbbt = env.namespace('https://tbbt.tv/')
// use clownface for easy graph manipulation
const sheldonCooper = env.clownface()
.namedNode(tbbt.sheldon)
// use common vocabularies out-of-the box
.addOut(env.ns.rdf.type, env.ns.schema.Person)
.addOut(env.ns.schema.knows, tbbt.leonard)Browser usage
The main export includes rdf-dataset-ext package to extend the dataset's functionality.
This package may cause issues in the browser, so you can import @zazuko/env/web.js instead.
Additional features
Dataset
Static util functions
The dataset factory implemented by the main module environment provides some static utility functions from the rdf-dataset-ext package.
import { Stream, DatasetCore } from '@rdfjs/types'
import env from '@zazuko/env'
let stream: Stream
// shorthand for creating a dataset from a stream
const dataset: DatasetCore = await env.dataset.fromStream(stream)
// stream any DatasetCore
const streamFromCoreDataset: Stream = env.dataset.toStream(dataset)
// convert any DatasetCore to a canonical form
const canonicalQuads = env.dataset.toCanonical(dataset)rdf-ext functionality
The provided DatasetCore implementation provides additional methods, matching the rdf-ext interface.
Serializing
It also includes a serialize method to easily get a string representation for supported formats.
Serializers are not added out of the box and the need to be imported first
import rdf from '@zazuko/env'
import formats from '@rdfjs/formats'
rdf.formats.import(formats)
const dataset = rdf.dataset()
// create some data
const turtle = await dataset.serialize({ format: 'text/turtle' })Extending environments
This package adds the ability to create environments on top of existing ones. To do that, pass the parent environment to the constructor options.
import env from '@zazuko/env';
import Environment from '@zazuko/env/Environment.js';
import MyFactory from './my-factory.js';
const myEnv = new Environment([MyFactory], { parent: env });The myEnv will have all the factories from env and MyFactory.