Get Started

Documentation for developers adopting SemType


What is SemType?

SemType is an open standard for describing the entities and "things" that matter to you, in a way that other people, AI agents, and software can all understand and use. It's developed by HASH and published as a free, open-source specification at semtype.org.

The type system at the heart of SemType has been in active use inside HASH for more than five years — underpinning every entity, link, dashboard, and AI workflow our users have built — and is now extracted into a formal, standalone spec that can be adopted independently by other applications, ecosystems, and graphs.

What are semantic types?

Data has a shape, and some of it has a schema — but almost none of it carries meaning that travels with it beyond the application that created it. When a "Person" in one piece of software meets a "Customer" in another, there's usually no reliable way to tell, ahead of time, whether the two map cleanly onto one another. AI agents asked to reason across these systems hit the same wall, just faster and more expensively.

SemType addresses these mismatches at their source: by giving definitions themselves — not the data — first-class identity, structure, and reuse. A SemType is a versioned, structured definition of a kind of thing, an attribute of a thing, or a relationship between things. The specification describes four kinds of type:

  1. Data types constrain the values a property can take (text, numbers, dates, URIs, units of measure, and so on), with constraints attached.
  2. Property types describe semantic attributes of entities, backed by data types, and are reusable across many entity types.
  3. Entity types describe what something is — a Person, a Building, a Company — by specifying the properties it can or must have.
  4. Link types make relationships first-class, carrying their own properties and pointing between typed endpoints.

About these docs

These developer-facing docs cover:

  • Adopting SemType — the layers you can build on, from the open standard to the embeddable editors and the full HASH platform.
  • Using SemType — the type system in more detail, how types compose and evolve, and how they're published to and discovered through the registry.

Where to start

For the canonical specification, the type registry, and the rationale behind the design, visit semtype.org — or head to Adopting SemType to pick the layer that fits your stack.

Join our community of HASH developers