Skip to content

BIBFRAME JSON

bibframe-json is a JSON Schema that provides a consistently shaped JSON representation for BIBFRAME data, in the spirit of Linked Open and Usable Data (LOUD). It is not a finished thing, and is mostly a provocation at this stage. If you are interested please consider contributing.

Just as the International Standard for Book Description (ISBD) provides a standard, human-readable form for bibliographic information on catalog cards, bibframe-json prescribes a consistent JSON serialization for BIBFRAME data, for building tools and workflows that don’t necessarily require RDF parsing and processing.

Below is the same record as bibframe-json. If you understand JSON but are new to JSON-LD you may be surprised by a few keys that are specific to the JSON-LD syntax:

  • @context names the bibframe-json JSON-LD context which defines the vocabulary the other keys that are present in the document
  • @id identifies the resource being described, in this case the Instance
  • @type lists the classes the identified resource belongs to

You will notice that this is a linked description, so instanceOf holds the Work’s URI and stops there. A bounded description of the same Instance embeds that Work instead, and is what you would send someone who doesn’t want to (or is unable to) fetch it.

The record below is cut to the areas ISBD covers. The whole of it is served at https://blue-core-lod.github.io/bibframe-json/example/instance.json.

{
  "@context": "https://blue-core-lod.github.io/bibframe-json/context/bibframe.jsonld",
  "@id": "https://bibframe.example/instances/fb857a3a-f454-4392-ba6d-a3653c12be47",
  "@type": ["Instance"],
  "instanceOf": ["https://bibframe.example/works/9937996a-1083-4357-b05f-4be85f7b7354"],
  "title": [
    {
      "@type": ["Title"],
      "bflc:nonSortNum": ["2"],
      "mainTitle": ["A short history of Sanskrit literature"]
    }
  ],
  "responsibilityStatement": ["by Madhavadas Chakravorti ; foreward by Prof. Penna Madhusudan."],
  "editionStatement": ["2nd revised edition"],
  "provisionActivity": [
    {
      "@type": ["Publication"],
      "bflc:simpleAgent": ["New Bharatiya Book Corporation"],
      "bflc:simpleDate": ["2026"],
      "bflc:simplePlace": ["Delhi, India"]
    }
  ],
  "extent": [
    {
      "@type": ["Extent"],
      "rdfs:label": ["lxii, 355 pages"]
    }
  ],
  "dimensions": ["23 cm"],
  "note": [
    {
      "@type": ["Note"],
      "rdfs:label": ["Includes bibliographical references."]
    }
  ],
  "identifiedBy": [
    {
      "@type": ["Isbn"],
      "qualifier": ["hardback"],
      "rdf:value": ["9788183155984"]
    }
  ]
}
  • a JSON object framed for a particular BIBFRAME resource (not a JSON-LD @graph of triples)
  • predictable vocabulary terms (e.g. “title” instead of “bf:title” or “http://id.loc.gov/ontologies/bibframe/title”)
  • every property value is an array, even when it’s one value
  • references are plain URI strings, not {"@id": ...} wrappers
  • no blank node carries an @id
  • a value object has @value and at most one of @type or @language
  • @type is always a list of classes on a node, and a datatype string on a value object.

Plain JSON, served from this site, with no dependency on the Python that maintains it.

https://blue-core-lod.github.io/bibframe-json/context/bibframe.jsonld the JSON-LD context that produces the shape, 251 terms
https://blue-core-lod.github.io/bibframe-json/schema/dialect.json a linked description of a Work, Instance, Hub or Item
https://blue-core-lod.github.io/bibframe-json/schema/cbd.json a bounded description
https://blue-core-lod.github.io/bibframe-json/schema/ontology.json BIBFRAME’s own domains and ranges

The schemas reference each other relatively, {"$ref": "Ref.json"} and {"$ref": "dialect.json"}, so they resolve against wherever you serve them from, this site or a copy on your disk.