Skip to content

Releases: ruby-rdf/json-ld

Release 3.1.8

02 Feb 22:02
Compare
Choose a tag to compare
  • Don't use native types for invalid literals.
  • Disallow @reverse within an embedded node (flattening can't handle it).
  • Update flatten algorithm to handle embedded nodes and annotation objects.
    • Perform bnode renaming before creating the node map to handle embedded nodes. Adds test option to do result comparison by remapping bnode labels based on dataset bijection.
  • Make renaming bnodes default to false for Reader and to_rdf_spec.
  • Fix expansion bug where a property is @reverse and the same subject has an explicit @reverse.
  • Don't compact an @id or @value to a string if it contains an annotation.
  • Make sure list members don't have annotations.

Release 3.1.7

25 Dec 00:37
Compare
Choose a tag to compare
  • JSON-LD* compaction. Also fixes writer error where prefixes are supplied.
  • Fix bug where container could be returned as an Array and not a Set.

Release 3.1.6

24 Dec 00:10
Compare
Choose a tag to compare
  • Preliminary support for RDF* parsing using the embedded triple mode overloading @id (JSON-LD*).
    • Add --rdfstar option to script/parse.

Release 3.1.5

16 Nov 00:05
Compare
Choose a tag to compare
  • Improve documentation.
  • When expanding, check that value objects have at most a single string value for @type, unless framing.
  • Use unlicense for doap:license.
  • Fix option handling in jsonld CLI.
  • Update CLI options with base coming from base_uri, and local frame/context files opened.
    • For arguments which are URLs, if it is not an absolute URI, read it into a StringIO.

Release 3.1.4

28 Apr 21:52
Compare
Choose a tag to compare
  • Performance Improvement
    • Reduce object duplication in context processing.
    • Keep document base out of context, and pass in through other algorithms. This allows for improved caching of initial contexts.
  • Streaming RDF reader
    • Non-event based, but conforms to the JSON-LD 1.1 Streaming note.
    • Invoke using JSON::LD::Reader with the :stream option set to true.

Release 3.1.3

01 Apr 20:01
Compare
Choose a tag to compare
  • Don't overload context PRELOADED with local cache.
  • Parse contexts without scope, and merge into active context.
  • Improve context merging to look for term protection overrides.
  • Use nil for default value of @protected rather than false, which makes merge logic work better so that protected:true does not override protected:false.
  • Don't cache base from remote context.

Release 3.1.2

18 Mar 18:01
Compare
Choose a tag to compare
  • Remove support for empty terms, as they must not be an empty string in 1.1 (1.0, too really).
  • Add tests for keyword redefinition of @type has an empty map as a value.
  • Allow aliases of @nest to be expanded term definitions, as well as simple.
  • Missing script element should be LoadingDocumentFailed not InvalidScriptElement.
  • Loading an HTML with no script element should be an error, not an empty document.
  • Fix HTML libraries to deal with loading when both have been required by being explicit about which library to use.
  • Use validate_scoped option to context and term creation.
  • Fix bug in merge_node_map_graphs for @type.
  • Update message text for "context overflow" exception.

Release 3.1.1

19 Feb 20:56
Compare
Choose a tag to compare
  • Accept application/xhtml+xml.
  • Pass option to expand_iri to return non-nil results as string, rather than just doing #to_s.
  • Make sure Datatype API is valid, not just absolute.
  • Default for requireAll is false, not true.
  • Normalize language tags to lower case when creating an i18n datatype or compound literal.
  • Resolve expandContext in test suite relative to the manifest location.
  • Fix some CLI option descriptions. Specifically, --[no-]requireAll is changed to --[no-]require-all.
  • Fix bug loading a default script tag if a profile tag is missing.
  • Attempt to load json-ld-preloaded gem with silent fallback.

Release 3.1.0

16 Dec 22:54
Compare
Choose a tag to compare

Release 3.0.0

18 Aug 00:41
Compare
Choose a tag to compare

Sync with updates from JSON-LD 1.1 Working Group

  • Updates maps and term assignment to use @none.
  • Improve inverse context creation and compact_iri to use concatenated containers.
  • Change prioritization for values not matching a container to be after @none.
  • Don't force contents of @graph into an array.
  • Added support for omitGraph for framing, defaulting to true if processingMode is json-ld-1.1
  • The omitDefault flag now defaults to false, and is indepdendent of processing mode.
  • Change to use "@vocab": "" semantics, and vocabulary expansion/compaction just as if the effective document base was specified as @vocab.
  • Sort @type when looking for scoped contexts.
  • Make sure multiple objects with @container: @graph are maintained as multiple graphs.
  • Simplify processing mode conflicts to allow mixing different types of contexts.
  • Support for lists of lists.
  • Raise error if too many recursive contexts loaded.
  • Have toRdf emit only valid triples, excluding anything invalid. Literal validity is based on the value being a string, language having the proper form, and datatype IRI being valid.