Theory
How OSDU records actually look
Lesson 1 framed OSDU as a platform + data model. Now we open the hood: the Well Known Schemas (WKS) are JSON Schemas, and every stored object is a JSON record with a strict envelope. Reading and linking these is the literal day job on an OSDU programme.
The kind identifier — a versioned type
Every record declares a kind in a four-part, colon-delimited format:
<authority>:<source>:<entityType>:<version>
osdu:wks:master-data--Well:1.0.0
- authority (
osdu) — who governs the schema. - source (
wks) — the Well Known Schema set. - entityType (
master-data--Well) — the group (master-data,work-product-component,reference-data) and the type (Well). - version (
1.0.0) — semantic version, so producers and consumers agree on shape. Thekindis how you query 'give me every Well of this version'.
The record envelope
Beyond kind, every record carries governance metadata — id (stable identity), acl (access-control groups), legal (legal tags / compliance), and the domain payload under data. Identity and compliance travel with the data, not in a side system.
Linking records
OSDU is a graph expressed in JSON: a Wellbore record points at its parent Well through a relationship field in data (e.g. WellID) whose value is the parent record's id. Work-product components (a WellLog) point at the wellbore the same way, and domain fields point at reference-data records (unit of measure, coordinate reference system) rather than free-text — so 'feet vs metres' is a governed reference, never a typo.
Use Case Example: An analytics job needs every log curve for a field. It queries kind = osdu:wks:master-data--Wellbore:* filtered to the field, follows each wellbore's id to the WellLog work-products that reference it, and resolves each curve's unit through a reference-data record — all by walking id links, no bespoke joins.