Certvas
Open schema · CC0

The open schema for African & emerging-market company data.

Certvas Ontology v0.1.0 is a public-domain LinkML schema covering company identity, fundamentals, procurement and macro observations — including the point-in-time fields most company-data schemas leave out. One YAML file generates the Pydantic models, SQL DDL, JSON Schema and JSON-LD context.

Why publish a schema at all

Emerging-market company data has no shared vocabulary. Every provider invents its own field names, so a buyer integrating two sources spends the first month writing a crosswalk instead of doing analysis. That cost falls hardest on the markets that can least afford it.

A schema is the cheapest thing to make open. It costs nothing to give away, it makes the data easier to buy, and it is the part a buyer most needs to inspect before trusting anything.

The part most schemas leave out

Every Fundamentals record carries two dates, because they answer different questions:

fieldquestion it answers
period_endWhat period does this number describe?
available_atFrom when could someone have acted on it?

A backtest has to filter on both. Filtering on period_end alone hands you months of information nobody had — results for a December year-end are typically not public for 60 to 120 days.

available_at is coalesce(announcement_date, observed_at) and is never null. The fallback direction is deliberate: the capture date is always later than true publication for a backfilled filing, so it can only ever exclude a row from an as-of window, never admit one early. Weak announcement-date coverage costs recall, never correctness.

announcement_date is sourced as a fact and left null where unevidenced — never inferred. The evidence tier travels with the value in announcement_source, so you can weight or exclude the weaker tiers yourself rather than take a date on faith.

Restatements arrive as new rows. Nothing is overwritten, every vintage is addressable, and fundamentals_as_reported returns what was originally filed — the correct base for a factor study.

What it models

objectwhat it covers
EntityLegal entities — the spine everything joins to
EntityIdentifierLEI, ISIN, FIGI, CIK, ticker, registry numbers
EntityRelationshipGLEIF Level-2 ownership links
FundamentalsFiled line items, with point-in-time and restatement fields
DerivedMetricComputed metrics, with the formula version and inputs that reproduce them
Tender · TenderAward · TenderPartyPublic procurement, OCDS-aligned
MacroObservationCountry indicators, with required source attribution
UniverseMembershipDated membership including delisted issuers

Every class and every field carries a description. Those descriptions are the documentation — there is no second place where the prose lives, so the docs cannot drift from the schema.

Classes carry crosswalks to schema.org, GLEIF and OCDS, so the schema is mappable rather than merely readable. Where a mapping is approximate it says close, not exact — claiming an exact match tells an integrator two things are interchangeable when they are not.

The schema is open. The data is not.

This is the whole position, stated plainly:

  • The schema is CC0. Public domain. Model against it, map to it, implement it — no permission, no account, no fee.
  • The datasets it describes are licensed separately, per source, recorded in license_class on every row.

Publishing the vocabulary openly and licensing the data separately is a deliberate choice, not an oversight.

Scope, honestly

v0.1.0 models what Certvas holds today and nothing speculative. Valuation points, corporate actions and the computed reporting surfaces are not yet modelled — the version number says so. A schema describing data nobody holds is a wish list, and the gap is invisible to a reader while being obvious to anyone who joins the two.

Cite: Mandase, R.T. (2026). Certvas Ontology v0.1.0. Zenodo. https://doi.org/10.5281/zenodo.21986492