OSDU — Wells, Wellbores & Schema Usage

Read a Well Known Schema, decode the kind identifier, and link records the OSDU way.

0/4 done

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. The kind is 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.

Analogy

An OSDU kind is a Docker image tag. osdu:wks:master-data--Well:1.0.0 reads just like registry/library/well:1.0.0: an authority, a repository, a name and a pinned version. You pull exactly the version you tested against, and a new :2.0.0 can ship without breaking everyone still on :1.0.0. Records are versioned artefacts, governed like code.

The id graph

Click a node to focus its neighbourhood · drag to pan · scroll to zoom

Records linked by id

A wellbore references its well; a log references the wellbore; domain fields reference governed reference-data — all by id.

Reflect

OSDU shows that a 'standard' can be JSON Schemas and an API contract rather than an OWL file — yet the ontological ideas (stable identity, typed links, governed reference data, master-vs-artefact) are exactly the ones you learned abstractly. The kind is just a versioned class IRI wearing a different hat.

  • Where do your records embed free-text where a governed reference-data link belongs?
  • Would a versioned 'kind' on your payloads make schema evolution safer than an unversioned type field?

Reading in progress · 0 of 4 activities done