Search code examples
rdfjenajson-ld

JSON-LD in Jena RIOT?


I got Jena 2.12.1 (2014-10-02) from the Apache Jena Releases page. It's supposed to have JSON-LD support, according to Reading and Writing RDF in Apache Jena. But when I try to use riot with an output format of JSON-LD, I get an error (and the same happens for variants in capitalization, hyphenation, etc.):

riot --out=JSON-LD NIF-example2.ttl

   Turtle
   N-Quads
   N-Triples
   TriG
   RDF_THRIFT
Not recognized as an streaming RDF language : 'JSON-LD'

How can I write in JSON-LD?


Solution

  • It has correctly identified JSON-LD. JSON-LD is not a streaming output language (the writer needs all the data available before calling the jsonld-java code) and riot is a streaming parser (it can cope with files of any size) and needs to write in a streaming fashion.

    The tool to read in the data into memory and write it out is rdfcat.

    rdfcat -out JSONLD NIF-example2.ttl