Linked Description
A linked description describes one resource and names the rest. Ask for an Instance and you get that Instance: its own properties, and a bare URI wherever it points at another resource. Send one when whoever reads it can follow those URIs, or has no need to, which covers a record on its way to an editor, a feed of what changed, or a resource moving between two systems that already hold the rest.
When the reader cannot follow them, send a bounded
description instead, which embeds the Work the Instance
instantiates so that nothing needs fetching. linked.json checks a linked
description and bounded.json checks a bounded one, and the only structural
difference between them is whether instanceOf holds a URI or the Work
itself.
The JSON
Section titled “The JSON”As a quick illustration here is an abridged JSON Instance:
{ "@context": "https://bibframe-json.org/v0.1/context/bibframe.jsonld", "@id": "http://id.loc.gov/resources/instances/23867197", "@type": ["Instance"], "instanceOf": ["http://id.loc.gov/resources/works/23867197"], "title": [ { "@type": ["Title"], "mainTitle": ["Minority voices from the academic superstructure"] } ], "identifiedBy": [ { "@type": ["Lccn"], "rdf:value": [" 2024038899"] }, { "@type": ["Isbn"], "qualifier": ["hardcover"], "rdf:value": ["9781668499092"] } ], "provisionActivity": [ { "@type": ["Publication"], "bflc:simplePlace": ["Hershey, PA"], "bflc:simpleDate": ["[2025]"] } ]}Note that instanceOf has a bare URI, because the context declares it @type: @id.
Seven properties are written that way: instanceOf, hasInstance, itemOf,
hasItem, electronicLocator, generationProcess, descriptionLevel.
The context
Section titled “The context”The schema requires @context on the document. Carry it as a URL or carry it
inlined; the URI below is provisional while this proposal is worked out.
"@context": "https://bibframe-json.org/v0.1/context/bibframe.jsonld"The requirement reaches the document and nothing else. A nested node carries no context of its own, and neither does the Work a bounded description embeds.
Without a context the document is JSON that happens to match this shape. With
one it is also JSON-LD, and instanceOf means BIBFRAME’s instanceOf property
rather than the string “instanceOf”. Reading it as plain JSON works the same
either way.
A literal keeps its language or its datatype when it has one:
"title": [ { "@type": ["Title"], "mainTitle": ["Trudy Instituta Obshchcei Fiziki"] }, { "@type": ["Title"], "mainTitle": [ { "@value": "Труды Института Общц̳еи Физики", "@language": "ru-cyrl" } ] }],"date": [ { "@value": "199X", "@type": "http://id.loc.gov/datatypes/edtf" }]Those two titles are one title in two scripts, and the language tag is all
that tells them apart. date carries three datatypes in real records:
xsd:date, xsd:dateTime, and EDTF. EDTF encodes uncertainty, so nothing
parses 199X as a date.
The JSON Schema
Section titled “The JSON Schema”A resource is checked by linked.json, which comes in two forms from one
build: a single bundled file, and one file per definition. The split files are
the source. Each has a page of its own, listing the properties it names and
what BIBFRAME says each of them is.
| Definition | What it is | In the model |
|---|---|---|
| Work | The thing itself, apart from any published edition of it. | primer |
| Instance | One published edition of a Work. | primer |
| Hub | The record gathering everything said about a single work. | primer |
| Item | One physical or electronic copy of an Instance. | primer |
| AdminMetadata | How the record itself came to be, rather than what it describes. | primer |
| Classification | A call number, and who assigned it. | |
| Contribution | An agent's part in making the resource, and what that part was. | primer |
| Identifier | A number that names the resource, and the scheme it belongs to. | primer |
| ProvisionActivity | A publication, distribution or manufacture: who, where and when. | primer |
| Ref | ||
| Relation | How one resource points at another, and what the pointing means. | primer |
| Resource | What a Work, Instance, Hub and Item have in common. | |
| Text | ||
| Title | A title, or one of the variant forms of it a record carries. | primer |
Start at https://bibframe-json.org/v0.1/schema/linked/main.json. It
dispatches on @type with if/then, so a failure is reported against the
resource type the record claims rather than as “the document matched none of
four types”.