GithubHelp home page GithubHelp logo

riccardotommasini / jsonld-rapper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kba/jsonld-rapper

0.0 2.0 0.0 39 KB

Create RDF from JSON-LD with rapper

License: MIT License

CoffeeScript 100.00%

jsonld-rapper's Introduction

jsonld-rapper

Convert between RDF and JSON-LD using rapper

Build Status

Installation

This module requires the rapper utility, version >=2.0.14 to be in $PATH.

If it isn't in the $PATH, override rapperBinary.

Based on https://github.com/ruby-rdf/rdf-raptor:

% [sudo] port install raptor             # Mac OS X with MacPorts
% [sudo] fink install raptor-bin         # Mac OS X with Fink
% brew install raptor                    # Mac OS X with Homebrew
% [sudo] apt-get install raptor2-utils   # Ubuntu / Debian with apt-get
% [sudo] yum install raptor2             # Fedora / CentOS / RHEL
% [sudo] zypper install raptor           # openSUSE
% [sudo] emerge raptor                   # Gentoo Linux
% [sudo] pacman -S raptor                # Arch Linux
% [sudo] pkg_add -r raptor               # FreeBSD
% [sudo] pkg_add raptor                  # OpenBSD / NetBSD

Install dependencies: npm install

Test: npm test

Generate docs in apidocs: npm run docs

Example

var JsonLD2RDF = require('jsonld-rapper')

var j2r = new JsonLD2RDF();

var jsonld1 = {'@id': 'http://example.org/foo', 'http://example.org/prop1': 'bar'};
var turtle1 = {'@prefix ex: <http://example.org/> .\n ex:foo ex:prop1 "bar" .'

j2r.convert(turtle1, 'turtle', 'jsonld', function (err, asJsonLD) {
  // do something with asJsonLD, an object
});

j2r.convert(jsonld1, 'jsonld', 'rdfxml', function (err, asRdfxml) {
  // do something with asRdfxml, a string
});

API

Exports

  • JsonLD2RDF: Class with the convert method

Options

  • rapperBinary: Absolute path or $PATH-relative path to the rapper(1) binary
  • baseURI: TODO
  • expandContext: TODO
  • profile: JSON-LD profile to use when outputting JSON-LD
  • jsonldToRDF: Options passed to jsonld.toRDF. Defaults:
    • baseURI: Instance's baseURI
    • expandContext: Instance's expandContext
    • format: 'application/nquads'. Since the jsonld module supports only nquads, don't change this.
  • jsonldFromRDF: Options passed to jsonld.fromRDF. Defaults
    • format: 'application/nquads'. Since the jsonld module supports only nquads, don't change this.
    • useRdfType: false
    • useNativeTypes: false
  • jsonldCompact, jsonldExpand, jsonldFlatten: Options passed to jsonld's resp. function

Convert

var JsonLD2RDF = require('jsonld-rapper');
var j2r = new JsonLD2RDF();
j2r.convert(input, from, to, methodOpts, callback)
  • input: string of RDF/JSON-LD or JSON-LD object
  • from: One of the supported input media types or short names
  • to: One of the supported output media types or short names
  • methodOpts (OPTIONAL): Options to override the instance-wide options
  • callback: Callback, gets passed (err, converted) where err is an error object (including a cause field for errors from rapper) and converted is the converted RDF/JSON-LD string/object.

Constants

Properties of the JsonLD2RDF instance

  • SUPPORTED_INPUT_TYPE: Supported input types used as the from argument
  • SUPPORTED_OUTPUT_TYPE: Supported output types used as the from argument
  • JSONLD_PROFILE: Supported JSON-LD profiles
var JsonLD2RDF = require('jsonld-rapper');
var j2r = new JsonLD2RDF();
for (profile in j2r.JSONLD_PROFILE) {
  console.log profile
}
// COMPACTED =>    'http://www.w3.org/ns/json-ld#compacted'
// FLATTENED =>    'http://www.w3.org/ns/json-ld#flattened'
// FLATTENED_EXPANDED =>   'http://www.w3.org/ns/json-ld#flattened+expanded'
// EXPANDED =>     'http://www.w3.org/ns/json-ld#expanded'

Rights

This library is licensed under the terms of the MIT license.

Library License
async MIT
colors MIT
merge MIT
jsonld BSD 3-Clause
n3 MIT
which ISC
which MIT

jsonld-rapper's People

Contributors

kba avatar letschm avatar

Watchers

James Cloos avatar Riccardo Tommasini avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.