Interfaces are in the beta phase of development as we continue to add features; existing features are relatively stable and can be integrated into workflows. Review the current levels of support for interfaces across the Palantir platform for more details.
An interface is an Ontology type that describes the shape of an object type and its capabilities. Interfaces allow for consistent modeling of and interaction with object types that share a common shape. For example, a Facility
interface may include Facility Name
and Location
properties. Facility
could be implemented by object types such as Airport
, Manufacturing Plant
, or Maintenance Hangar
, which could each contain additional type-specific properties.
By using the Facility
interface, workflows can interact with Airport
, Manufacturing Plant
, and Maintenance Hangar
object types, either in aggregate or independently, without needing to know specific details about those object types. Additionally, if new object types that implement the Facility
interface are introduced, the workflow will be immediately compatible with the new object types without additional refactors.
An interface is composed of shared properties, link type constraints, and metadata about the interface. An interface can be implemented by multiple object types.
Much like interfaces in programming languages, you can extend an interface to create a child interface that inherits the properties of the original interface, then add new, more specific properties to the child interface. Object types can then implement the interface to indicate that they conform to the interface definition. Object types can implement multiple interfaces, for use in different workflows. Interfaces can also extend multiple other interfaces, including interfaces that themselves extend other interfaces, resulting in properties that are inherited through layers of interfaces.
There are both functional and stylistic differences between interfaces and object types within the Ontology.
Object types are concrete; they have schemas defined by shared or local properties, are backed by datasets containing property values, and can be instantiated as objects.
By contrast, interfaces are abstract; they have schemas defined by only shared properties, are not backed by datasets, and cannot be instantiated directly, they must be instantiated as a specific object type.
Stylistically, interfaces are visually distinguished from object types in the platform by having dashed lines around their icons.
Interfaces are permissioned through Ontology roles.
As support for interface Ontology types expands, availability will vary across the Palantir platform.
Interfaces are currently supported in the following applications and services:
Interfaces are partially supported in the following applications and services:
Interfaces are under active development, but not yet supported in the following:
To add interfaces to your Ontology, you can create new interfaces or extend existing ones. Once you have an interface, you can then implement that interface with an object type of the appropriate shape or edit it to better fit your Organization as your Ontology evolves.