When set implementation cannot be resolved by ID, we try to avoid failing graph building for now instead, we will leave this loose end unresolved. There are a few different cases where this could happen:

  1. In Pure, we used to let users define property mappings with source/target set implementation pointing at another class mapping from a different mapping, which might not be available in the included mapping hierarchy and it would still work, see the following issues for more details: See https://github.com/finos/legend-studio/issues/880 See https://github.com/finos/legend-studio/issues/941
  2. When we handle unknown mapping include, since the mapping include is unknown, we might not be able to resolve the underlying mapping and its children class mappings, so like case (1), some source/target set implementation might not be resolvable. See https://github.com/finos/legend-studio/pull/2242

While (1) is definitely an anti-pattern, (2) is a fairly valid use case in order for us to properly support unsupported See https://github.com/finos/legend-studio/issues/315

graph-building

Hierarchy

  • SetImplementation
    • INTERNAL__UnresolvedSetImplementation