Skip to content

Handle graph-definition syntax for edges#11

Merged
rskew merged 1 commit into
masterfrom
rs/edge-definitions
Feb 23, 2025
Merged

Handle graph-definition syntax for edges#11
rskew merged 1 commit into
masterfrom
rs/edge-definitions

Conversation

@rskew
Copy link
Copy Markdown
Collaborator

@rskew rskew commented Feb 3, 2025

Upstream PR: geekscape#27

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.

@rskew rskew self-assigned this Feb 3, 2025
@rskew rskew force-pushed the rs/edge-definitions branch from a9df6e8 to 4a0f6d5 Compare February 9, 2025 23:56
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.
@rskew rskew force-pushed the rs/edge-definitions branch from 4a0f6d5 to 43a282a Compare February 18, 2025 01:43
@rskew rskew changed the base branch from upstream-master to master February 18, 2025 01:43
@rskew rskew requested a review from tall-josh February 18, 2025 01:46
@tall-josh
Copy link
Copy Markdown
Collaborator

Nice, I was also hitting up against the issue of input/output name mismatches.

Another thing to consider (out of scope of this PR) is the ability to access items from an output object. For example, if a Capability outputs a DataFile with image .content then it cannot be used by a PipelineElement that acceps image input. At the moment we'd need to put a shim between the Capability and PipelineElement that does the unpacking. If we could move that to the framework maybe that's a good thing

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.

3 participants