Nincompoops Producing Methane

    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

    Install

    npm i rdfprefix

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • jponchon