+str #16038 Create Source/Flow/Sink from partial flow graphs

Fixes #16038
Please add a test case that verifies that MaterializedMap remains correct. I.e. if I have a tap -> flow -> graph -> flow -> drain sequence, and I materialize it I want to get the tap and drain back. Any intermediate materialization step will break this.