JSPM

  • Created
  • Published
  • Downloads 21649
  • Score
    100M100P100Q145416F
  • License MIT

Zazuko's RDF/JS Environment

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 the @zazuko/env/web.js instead.

Additional features

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.