Nephosthe weather behind the paintings

Method · Machine-readable records

One JSON-LD graph per record, in vocabularies museums already use.

Written for collection-systems and IIIF developers. Documents: context · Yale record · Courtauld record · Ashmolean record · Yale IIIF annotation page.

Nephos publishes one canonical JSON-LD graph for each public research record. The graph is intended for museum collection systems, research aggregators, and annotation clients. It does not replace the museum catalogue record. It keeps the museum statement, historical evidence, and Nephos assessment as separately attributed resources.

How the graph is organised

The stable record IRI identifies a Linked Art HumanMadeObject. identified_by supplies its title and accession number, produced_by records the maker and date span, and equivalent links the museum object page. The AttributeAssignment entries in attributed_by name each assigned property and value, and say that these catalogue fields come from the museum. The model does not infer legal ownership from the source data's museum field.

The full catalogue inscription is a LinguisticObject. Its content is copied from the public Nephos source record with only the surrounding quotation marks removed. Each claim shown on the record page is another LinguisticObject with the public #claim-... IRI. Catalogue transcriptions and catalogue corrections are attributed to the museum. Exact historical table strings such as NE and Fine. are separate entities attributed to Luke Howard and linked to their page images. The Courtauld same-day comparison is attributed to Nephos.

Every verdict is the TextualBody of a W3C Web Annotation. Its value and nephos:verdict retain one of the four display labels exactly: Agrees, Partially agrees, Contradicts, or Unknown. They are categories, not numbers or truth values. The annotation targets the claim IRI, has the assessing motivation, names Nephos as creator, and repeats that responsibility through prov:wasAttributedTo. Catalogue fields use Linked Art attributed_by, while statement and inference entities use PROV-O attribution.

prov:wasDerivedFrom lists the actual inputs to each assessment. Museum pages, Howard page images, solar calculations, weather reconstructions, and the verified Nephos machine record remain distinct entities or IRIs. The Yale graph also records the 18 August 2026 page-image check as a prov:Activity. The activity used Howard's scanned page and the pre-verification JSON. It generated the verified JSON, which is explicitly prov:wasRevisionOf the OCR-based document.

IIIF attachment

The Yale AnnotationPage can be consumed independently by an IIIF-aware system. Each annotation has two targets: the stable Nephos claim and a Web Annotation SpecificResource whose source is Yale's resolved Presentation 3 Canvas for the cropped recto. The target also carries the Nephos capture identifier and SHA-256 digest. This ties the assessment to the exact analysed capture without claiming that a selected image region is the historical sky.

Museums can store the JSON-LD record, link to a claim or annotation IRI, or ingest the Yale page into an annotation workflow. Consumers should treat source attribution and PROV relations as part of the statement, not optional metadata.

Context and coined terms

The shared context loads the official Linked Art 1.0 context, Web Annotation context, and IIIF Presentation 3 context. It aliases PROV-O to prov: because W3C does not publish a directly fetchable PROV JSON-LD context at a stable 200 response. Terms and modelling were checked against the current Linked Art API, Web Annotation Data Model, PROV-O, and IIIF Presentation API 3.0.

The nephos: namespace is https://nephos-mocha.vercel.app/ns/. These are all coined terms used by the documents:

TermDefinition
nephos:verdictThe unchanged categorical verdict label displayed by Nephos for a claim.
nephos:captureIdThe capture identifier in the verified Nephos analysis record.
nephos:sourceSha256The lowercase hexadecimal SHA-256 digest of the analysed capture source.

Run python3 site/scripts/check_jsonld.py from the repository root to parse the four documents, resolve and structurally expand their contexts, and check claims, inscriptions, attribution, provenance, and IIIF targeting.