Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle graph-definition syntax for edges #27

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rskew
Copy link

@rskew rskew commented Jan 21, 2025

Enable optional specification of edges between pipeline-element outputs and pipeline-element inputs.

Example graph:

   __________
  /   \      \
 A     B ---- C --->
  \___/______/

has pipeline definition graph syntax:

  "graph": [
    "(A B (A.a_out_1: b_in_1 A.a_out_2: b_in_2) C (A.a_out_1: c_in_1 B.b_out_1: c_in_2 A.a_out_2: c_in_3))"
  ],

Note that output names must be fully-qualified, e.g. "B.b_out_1" instead
of "b_out_1". This is due to the graph traversal not yet handling edges
defined between B and C in the example graph, only between A and B, and
between A and C.

Use of map_out_nodes in _process_map_out and map_in_nodes in _process_map_in are commented out because of this issue with the traversal. Rather than completely change the structure of map_in_nodes and map_out_nodes, I've left them and added a new structure edge_definitions, with the aim of making this easier to review.

@rskew rskew force-pushed the rs/edge-definitions branch 3 times, most recently from 9d9c20e to 3b15f3d Compare January 21, 2025 08:23
Example graph:
   __________
  /   \      \
 A     B ---- C --->
  \___/______/
has syntax in a pipeline definition:
  "graph": [
    "(A B (A.a_out_1: b_in_1 A.a_out_2: b_in_2) C (A.a_out_1: c_in_1 B.b_out_1: c_in_2 A.a_out_2: c_in_3))"
  ],
Note that output names must be fully-qualified, e.g. "B.b_out_1" instead
of "b_out_1". This is due to the graph traversal not yet handling edges
defined between B and C in the example graph, only between A and B, and
between A and C.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant