JSON-LD Preloaded

JSON-LD with preloaded contexts.

Gem Version Build Status


This gem uses the preloading capabilities in JSON::LD::Context to create ruby context definitions for common JSON-LD contexts to dramatically reduce processing time when any preloaded context is used in a JSON-LD document. As a consequence, changes made to these contexts after the gem release will not be loaded.

Contexts are taken from https://github.com/json-ld/json-ld.org/wiki/existing-contexts:


require 'rubygems'
require 'json/ld/preloaded'
require 'rdf/turtle'
require 'rdf/vocab'

input = JSON.parse %({
  "@context": "http://schema.org/",
  "@id": "https://github.com/ruby-rdf/json-ld-preloaded",
  "@type": "SoftwareApplication",
  "name": "JSON-LD Preloaded",
  "description": "A meta-release of the json-ld gem including preloaded vocabularies.",
  "author": {
    "@id": "http://greggkellogg.net/foaf#me",
    "@type": "Person",
    "name": "Gregg Kellogg"

RDF::Turtle::Writer.new(STDOUT, standard_prefixes: true) do |w|
  w << JSON::LD::API.toRdf(input)


Mailing List



  • Do your best to adhere to the existing coding conventions and idioms.
  • Don't use hard tabs, and don't leave trailing whitespace on any line.
  • Do document every method you add using YARD annotations. Read the tutorial or just look at the existing code for examples.
  • Don't touch the json-ld.gemspec, VERSION or AUTHORS files. If you need to change them, do so on your private branch only.
  • Do feel free to add yourself to the CREDITS file and the corresponding list in the the README. Alphabetical order applies.
  • Do note that in order for us to merge any non-trivial changes (as a rule of thumb, additions larger than about 15 lines of code), we need an explicit public domain dedication on record from you.


This is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying UNLICENSE file.