Multi-datasource object types (MDOs) are only available in Object Storage V2.
A multi-datasource object type (MDO) is backed by multiple datasources in the Ontology. At this time, datasources can be a Foundry dataset or a restricted view.
There are two distinct categories of MDOs:
Foundry only supports column-wise MDOs and does not support row-wise MDOs. Most row-wise MDO use cases can be accomplished with restricted views. If you have a use case for row-wise MDOs that cannot be enabled via restricted views, contact your Palantir representative for assistance.
After creating an object type in Ontology Manager using Object Storage V2, navigate to the Datasource metadata section of the object type from the left sidebar. Then, select Add new backing datasource to choose a dataset.
The Map primary key helper will appear and prompt you for a column with values matching the primary key of the object type. Once you choose a column, multiple backing datasets will appear under the Backing datasource section.
Navigate to the Properties metadata section from the left sidebar to add new fields to the newly added dataset.
No. MDOs are only supported in Object Storage V2 and are not available for Object Storage V1 (Phonograph).
Only column-wise MDOs are currently available. If you have a use case for row-wise MDOs that cannot be enabled via restricted views, contact your Palantir representative for assistance.
Yes, user edits and materializations are supported for MDO.
If a user lacks Viewer
permission on some of the input datasources, the properties mapped from those datasources will appear as null
when displaying an object instance to the user. However, the user will still be able to view the schema of that object type (such as seeing property names), since metadata access is controlled separately from the input datasource.
Learn more about ontology metadata permissions.
Property multiplicity refers to multiple input datasources feeding overlapping columns/properties of an object type in the column-wise MDO case. Property multiplicity is currently not supported. This means that a specific property of an object type must come from one—and only one—of the input datasources (except for the primary key property, which must exist in every input datasource to join all datasources).
No, this is not supported; each restricted view datasource should have a separate policy property on the object type. Some of these properties can be marked as hidden in the Ontology Manager to avoid cluttering front-end applications.
MDOs are intended to provide a user-friendly way to configure the same setup as a single object type to build an organization's digital twin. Multiple object types with links between them can also be used for cases in which that is how users understand and interact with their data. Note that querying and traversing links between multiple object types is a more expensive operation than filtering on a property on the same object type.
If two column-wise datasources for an object have different sets of primary keys, the behavior will be similar to the case in which some users do not have access to some input datasources. In these cases, primary keys that do not exist in a datasource will have the properties that are mapped from that particular input datasource displayed as null
.
Object types are limited to a maximum of 70 datasources. Only datasources that are synced to object storage count towards this limit, so it does not include media sets or time series syncs.