rdfprefix

1.0.0 • Public • Published

rdfprefix

js-standard-style travis npm downloads

RDF Prefix helper to expand and compact iri (compatible with json-ld context)

Features

  • Expand prefixed iri to iri
  • Compact iri to prefixed iri
  • Support JSON-LD context as prefix definition

Installation

npm install --save rdfprefix

Usage

var rdfprefix = require('rdfprefix')
 
// Basic initialization
var prefixes = rdfprefix()
 
// Initialize with prefixes
var prefixes = rdfprefix({schema: 'http://schema.org'})
 
// Initialize with an array of prefixes
var prefixes = rdfprefix([
  {owl: 'http://www.w3.org/2002/07/owl#'},
  {schema: 'http://schema.org/'}
])
 
// Supports Json-ld @context
var prefixes = rdfprefix({
  '@vocab': 'http://purl.org/dc/terms/',
  'schema': 'http://schema.org/',
  'displayName': 'schema:name',
  'alias': {
    '@id': 'schema:alternateName',
    '@container': '@set'
  },
  'schema:sameAs': {
    '@type': 'schema:URL',
    '@container': '@set'
  }
})
 
// Add prefixes...
prefixes('owl', 'http://www.w3.org/2002/07/owl#')
prefixes({
  'cc': 'http://creativecommons.org/ns#',
  'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',
  'Class': 'rdfs:Class'
})
 
// Use prefixes
var schema = prefixes('schema')
schema('name') // -> 'http://schema.org/name'
 
// Expand prefixed iri
prefixes.expand('schema:name') // -> 'http://schema.org/name'
prefixes.expand('abstract') // -> 'http://purl.org/dc/terms/abstract' (see '@vocab')
prefixes.expand('http://www.exemple.org/play') // -> 'http://www.exemple.org/play'
prefixes.expand('undefinedprefix:foo') // -> throw Error()
prefixes.expand('undefinedprefix:foo', true) // -> 'undefinedprefix:foo' (tolerant = true)
 
// Compact iri
prefix.compact('http://schema.org/name') // -> 'schema:name'
prefix.compact('http://purl.org/dc/terms/abstract') // -> 'abstract' (see '@vocab')
prefix.compact('http://www.exemple.org/play') // -> 'http://www.exemple.org/play'
 
// Get a serializable copy of prefixes
prefix.toJSON() // -> { schema: 'http://schema.org/', ... } (without '@vocab')
 
// Like toJSON but with the '@vocab' prefix if any
prefix.toContext() // -> { '@vocab': 'http://purl.org/dc/terms/abstract', schema: ... }
 

Test coverage

Statements 100% ( 76/76 )
Branches 100% ( 52/52 )
Functions 100% ( 14/14 )
Lines 100% ( 76/76 )

Credit & great tools

  • See the fabulous N3 library by @RubenVerborgh
  • The must have jsonld.js library

The MIT License • By Novadiscovery

Package Sidebar

Install

npm i rdfprefix

Weekly Downloads

4

Version

1.0.0

License

MIT

Last publish

Collaborators

  • jponchon