eta.core.planning.expand_plan_steps

expand_plan_steps(plan, ds)[source]
Attempt to expand the surface steps in the plan using one of:
  1. A keyword step, which have special expansion behavior

  2. A schema whose header matches the step WFF (unifying any schema args)

  3. A “primitive” type of plan step whose expansion is directly supported

  4. A pattern transduction tree mapping the step WFF to substep WFF(s)

Parameters:
Returns:

The updated plan, if successful.

Return type:

PlanNode or None

Notes

TODO: some possible future improvements:
  1. currently, this only attempts to expand the currently due step; however, it may be possible to expand certain other steps in the plan as well.