Different modules treat inputs and outputs in different ways and this is a non-exhaustive list of some processing patterns that might help you understand the way modules work.

Some modules just "pass-through" the documents that are input, some transform them in some way and output the results, and some exhibit more complex behavior. Some modules even exhibit different behavior depending on how the module was configured. The behavior can get especially confusing when considering some modules evaluate child modules which also output documents. In these cases, there are different behaviors for how the input documents and the result documents from the child modules are combined. The way inputs, outputs, and child module results are related can generally be described as a few different patterns and even though these probably don’t cover the way every module or combination of modules works, they should help you understand the concepts involved.

Pass-Through

These modules just take the input documents and pass them on as the outputs:

I1
Module
I2
I1
I2

Transformation

These modules apply some sort of transformation to the input documents and output one result for each input:

I1
Module
I2
O1 (from I1)
O2 (from I2)

Aggregation

These modules take multiple input documents and combine them into a single output document:

I1
Module
I2
O1 (from I1 + I2)

Splitting

This is the opposite behavior of aggregation. These modules split each input document into multiple output documents:

I1
Module
I2
O1A (from I1)
O1B (from I1)
O2A (from I2)
O2B (from I2)

Concatenation

In this case, output documents that are independent from the input documents are output, but instead of replacing the input document they are concatenated with them:

I1
Module
I2
I1
I2
O1
O2

Note that the new documents may come from a sequence of child modules:

Child Modules
C1
Module(s)
C2
I1
Module
I2
I1
I2
C1
C2

Replacement

These modules just replace the entire input set of documents with a different output set:

I1
Module
I2
O1
O2

Note that the new documents may come from a sequence of child modules:

Child Modules
C1
Module(s)
C2
I1
Module
I2
C1
C2

Combination

This pattern describes the combination of one or more input documents with the outputs from child modules:

Child Modules
C1
Module(s)
C2
I1
Module
I2
O1 (from I1 + C1)
O2 (from I1 + C2)
O3 (from I2 + C1)
O4 (from I2 + C2)