JSON FORMAT

RDF/JSON

RDF/JSON, formally titled "RDF 1.1 JSON Alternate Serialization," is a concrete syntax for encoding RDF graphs in plain JSON. It was published on 7 November 2013 as a W3C Working Group Note (not a Recommendation) by the RDF Working Group, edited by Ian Davis (Talis), Thomas Steiner (Google), and Arnaud Le Hors (IBM). The specification is candid about its own standing: the Working Group deliberately chose JSON-LD for the Recommendation track and advises using RDF/JSON only when a specific reason justifies it.

The data model is a direct, mechanical projection of the RDF triple set into nested JSON. The top-level object is keyed by subject: each key is a subject IRI (or a blank-node label such as "_:anna"), and its value is a "predicate object" whose keys are predicate IRIs. Each predicate maps to an array of "value objects," one per triple sharing that subject and predicate. A value object carries a required "type" of "uri", "literal", or "bnode", a required "value" holding the IRI, lexical form, or blank-node label, and, for literals, optional "lang" and "datatype" keys (a language tag must not be empty). Because subject and predicate are used as JSON object keys, each subject-predicate pair appears once with its objects grouped together, giving a compact, deduplicated representation of the same graph expressible in Turtle, N-Triples, or RDF/XML.

In the graph-data and conversion landscape, RDF/JSON is a lossless serialization of standard RDF: any RDF graph round-trips through it, and it is trivially machine-parseable by generic JSON tooling without a JSON-LD processor. It is handled by RDF libraries and converters such as RDFLib (Python), Jena/RIOT, EasyRdf Converter, and rdf2rdf, making it interchangeable with TriG, N3, and N-Quads.

Its limitations are real and openly acknowledged. Unlike JSON-LD, RDF/JSON produces JSON that is not idiomatic to application developers—the structure mirrors triples, not domain objects, and cannot be consumed naturally without RDF awareness. It also cannot express named graphs or datasets (only a single graph), lacks context/prefix compaction, and predicates must be IRIs. Consequently it has seen limited adoption and is effectively superseded by JSON-LD for most web and data-integration use, remaining useful mainly as a straightforward triple dump.

Alternative Names: RDF 1.1 JSON Alternate Serialization

File Extensions: .rj Mimetype: application/rdf+json vW3C Working Group Note
FeatureRDF/JSON
Multiple Graphs per Document not supported
Nodes supported
Undirected Edges not supported
Directed Edges supported
Hyperedges not supported
Mixed-directionality Edges not supported
Parallel Edges supported
Self-loops supported
Edges on Edges partial
Nested Graphs in Nodes not supported
Nested Graphs in Edges not supported
Nested Graphs in Graphs not supported
Node Labels not supported
Edge Labels supported
Attributes on Nodes supported
Attributes on Edges not supported
Attributes on Graphs not supported
Typed Edges supported

Tools(Read & Write)

Read-only Tools

Frequently Asked Questions

What is a RDF/JSON file?

A RDF/JSON file stores a graph — its nodes, edges and attributes — in the RDF/JSON format (also: RDF 1.1 JSON Alternate Serialization). See the feature table above for what it supports.

How do I open a RDF/JSON file?

Open it in a graph tool that supports RDF/JSON, or convert it to a format your tool reads. With GraphInOut you can convert RDF/JSON to GraphML, DOT, Connected JSON and more, right in your browser.

How do I convert a RDF/JSON file to another format?

Use the Convert from RDF/JSON link above: upload or paste your RDF/JSON file (input preset to RDF/JSON), choose a target format and download the result — free, no install.