The Smart 3D Web API is fully compliant with the Smart API Object Hierarchies Protocol that can be used to discover Smart 3D object hierarchies. Information about the exposed hierarchies exist within the annotation document under the term "Com.Ingr.Core.V1.ObjectHierarchies". This annotation contains one record for each object hierarchy in the following format:
Property |
Type |
Description |
---|---|---|
Name |
Edm.String |
The object hierarchy name. |
Description |
Edm.String |
The object hierarchy description. |
Root |
Edm.NavigationPropertyPath |
The navigation path to the root of the object hierarchy. |
Descendants |
Collection(Edm.NavigationPropertyPath) |
The collection of qualified navigation property names for traversing the object hierarchy from the root to leaf nodes. |
Parents |
Collection(Edm.NavigationPropertyPath) |
The collection of qualified navigation property names for traversing the object hierarchy from leaf nodes to the root. |
-
The type Edm.NavigationPropertyPath can be thought of like a string with two parts, the fully qualified type name and the navigation property name, separated by a forward slash. To see if an entity type supports hierarchy traversal look for the entity type name using the first part of this string. If it is the same or if it inherits from this type, then the navigation property on that entity that is listed after the forward slash can be used to traverse the hierarchy. Alternatively, if you know an entity supports a hierarchy and want to formulate an URL to get a related object you can append this string to the request for an entity to get its related entity or entities. In this case the first part of the string will act as a cast segment before making navigation property request.
-
Some entity types may have multiple descendant navigations for the same hierarchy.