Organization Hierarchy Node Relationship

Palantir Defense OSDK

[Palantir Defense Ontology] Serves as an intermediary relationship object type to traverse different hierarchies for the same organization. This flexibility is required as there is not a single hierarchy within the DoD. For example, an organization has one hierarchy when at rest, but when deployed that hierarchy can be modified. Organizations won't necessarily be deployed together or have the same parent/child organizations when deployed. Links are constrained to Organizations (parent/child). This relationship is intentionally not a generic hierarchy relationship; it re-declares organization-scoped links rather than inheriting generic ones so the hierarchy cannot contain non-organization nodes.

Properties

Valid Fromdateoptional

[Palantir Defense Ontology] Used to capture the start date of when an organization relationship is valid.

Valid Todateoptional

[Palantir Defense Ontology] Used to capture the end date of when an organization relationship is valid.

One To Oneoptional

[Palantir Defense Ontology] An organization hierarchy relationship can link to one organization hierarchy relationship type.

One To Oneoptional

[Palantir Defense Ontology] An organization hierarchy node relationship links to one child organization.

One To Oneoptional

[Palantir Defense Ontology] An organization hierarchy node relationship links to one parent organization.

One To Oneoptional

[Palantir Defense Ontology] An organization hierarchy node relationship belongs to one organization hierarchy.

OSDK Examples

TypeScript

Load all Organization Hierarchy Node Relationship

Copied!
1 2 3 4 5 6 7 8 9 10 11 import { com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship } from "@defense-ontology/sdk"; // Edit this import if your client location differs import { client } from "./client"; import type { Osdk } from "@osdk/client"; const interfaces: Osdk<com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship>[] = []; for await(const int of client(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship).asyncIter()) { interfaces.push(int); } const interface1 = interfaces[0];

Filtering

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import { com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship } from "@defense-ontology/sdk"; // Edit this import if your client location differs import { client } from "./client"; import { isOk, type Osdk, type PageResult, type Result } from "@osdk/client"; const page: Result<PageResult<Osdk<com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship>>> = await client(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship) .where({ $and:[ { $not: { someProperty: { $isNull: true }}}, { someProperty: { $eq: "foo" }} ] }) .fetchPageWithErrors({ $pageSize: 30 }); if (isOk(page)) { const interfaces = page.value.data; const interface1 = interfaces[0]; }

Load Organization Hierarchy Node Relationship metadata

Copied!
1 2 3 4 5 6 7 8 import { com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship } from "@defense-ontology/sdk"; // Edit this import if your client location differs import { client } from "./client"; const interfaceTypeMetadata = await client.fetchMetadata(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship); const implementingObjectTypes = interfaceTypeMetadata.implementedBy; const interfaceRid = interfaceTypeMetadata.rid;

Subscribe to object sets

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 import { com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship } from "@defense-ontology/sdk"; // Edit this import if your client location differs import { client } from "./client"; // A map of primary keys to objects loaded through the SDK const objects: { [key: string]: com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship.OsdkInstance } = ... const subscription = client(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship).subscribe( { onChange(update) { if (update.state === "ADDED_OR_UPDATED") { // An object has received an update or an object was added to the object set const currentObject = objects[update.object.$primaryKey]; if (currentObject !== undefined) { currentObject["<propertyName>"] = update.object["<propertyName>"] ?? currentObject["<propertyName>"]; } } else if (update.state === "REMOVED") { // The object was removed from the object set, which could mean it was deleted or no longer meets the filter criteria delete objects[update.object.$primaryKey]; } }, onSuccessfulSubscription() { // The subscription was successful and you can expect to receive updates }, onError(err) { // There was an error with the subscription and you will not receive any more updates console.error(err); }, onOutOfDate() { // We could not keep track of all changes. Please reload the objects in your set. }, }, { properties: [ "validFrom", "validTo", ]} ); subscription.unsubscribe();

Load ordered Organization Hierarchy Node Relationship

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import { com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship } from "@defense-ontology/sdk"; // Edit this import if your client location differs import { client } from "./client"; import { isOk, type Osdk, type PageResult, type Result } from "@osdk/client"; const page: Result<PageResult<Osdk<com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship>>> = await client(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship) .fetchPageWithErrors({ $orderBy: {"someProperty": "asc"}, $pageSize: 30 }); if (isOk(page)) { const interfaces = page.value.data; const interface1 = interfaces[0]; }

Load pages of Organization Hierarchy Node Relationship

Copied!
1 2 3 4 5 6 7 8 9 10 11 import { com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship } from "@defense-ontology/sdk"; // Edit this import if your client location differs import { client } from "./client"; import { type Osdk, type PageResult, type Result } from "@osdk/client"; const response: Result<PageResult<Osdk<com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship>>> = await client(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship).fetchPageWithErrors({ $pageSize: 30 }); // To fetch a page without a result wrapper, use fetchPage instead const responseNoErrorWrapper: PageResult<Osdk<com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship>> = await client(com.palantir.ontology.defense-types.organizationHierarchyNodeRelationship).fetchPage({ $pageSize: 30 });