What is a schema?
Schemas are descriptions of things: agents in simulations, and the actions they take.
Schemas consist of two things:
- Properties – which may have expected types, expected values, and human-readable descriptions.
- Relationships – information that can be plotted on a graph showing the child/parent, sameAs, and other relationships between different schemas.
A property is an attribute, characteristic, or other value that may be ascribed to a thing.
For example, the person schema contains:
birthDateproperty expressed as a date;
heightproperty given as a quantitative value; and
worksForproperty which expects an organization (or to be blank).
The person schema also has dozens of other properties.
Entities described by schemas may have their relationships captured as properties (e.g. the person schema contains a parent property, so any entity’s parents may be stored as values).
But schemas themselves may also have relationships, which describe how they relate to other schemas.
If a sub-type or top-level schema you require doesn’t exist, you can create one with HASH from scratch, or by forking an existing one.
What are schemas for?
There are over 1300 schemas on HASH, and schemas are a major part of the platform.
Schemas exist on HASH to make simulations and other models interoperable. By mapping data to common descriptive formats, tests and checks can be automated, additional information inferred, and both human/machine readability improved.
Other platforms have their own names for schemas. Users of Palantir Gotham may, for example, be familiar with “dynamic ontologies”, whose data structures and relationships can be re-modeled over time.
Dynamic ontologies work identically to schemas in HASH, in that both are descriptions of the underlying objects or concepts that data or models refer to (such as people, companies, products, events, or documents), and their connecting relationships (e.g.
document pertaining to