RDF · Schema

RDF Graph

Schema describing an RDF graph as defined by the RDF/JSON serialization format (application/rdf+json). An RDF graph is a set of triples organized by subject, where each subject maps to an array of predicate-object pairs.

JSON-LDKnowledge GraphLinked DataOntologyRDFSemantic WebSPARQLW3C
View JSON Schema on GitHub

JSON Schema

rdf-graph.json Raw ↑
{
  "$id": "rdf-graph.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "RDF Graph",
  "description": "Schema describing an RDF graph as defined by the RDF/JSON serialization format (application/rdf+json). An RDF graph is a set of triples organized by subject, where each subject maps to an array of predicate-object pairs.",
  "type": "object",
  "additionalProperties": {
    "type": "object",
    "description": "A subject resource identified by its IRI or blank node identifier, mapping predicates to arrays of object values.",
    "additionalProperties": {
      "type": "array",
      "description": "An array of object values associated with a given predicate for this subject.",
      "items": {
        "$ref": "#/$defs/objectValue"
      }
    }
  },
  "$defs": {
    "objectValue": {
      "type": "object",
      "description": "An RDF object value in the RDF/JSON serialization format.",
      "required": [
        "type",
        "value"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "The type of the object value: uri for IRI references, literal for literal values, or bnode for blank nodes.",
          "enum": [
            "uri",
            "literal",
            "bnode"
          ]
        },
        "value": {
          "type": "string",
          "description": "The value of the object: an IRI string for uri type, lexical form for literal type, or blank node identifier for bnode type."
        },
        "lang": {
          "type": "string",
          "description": "A BCP47 language tag, present only when the object is a language-tagged literal.",
          "pattern": "^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$"
        },
        "datatype": {
          "type": "string",
          "description": "The datatype IRI for typed literals. Defaults to xsd:string when not specified.",
          "format": "uri"
        }
      },
      "additionalProperties": false
    }
  }
}