<?xml version="1.0" encoding="UTF-8"?><process version="8.2.000"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="8.2.000" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="generate_data_user_specification" compatibility="8.2.000" expanded="true" height="68" name="Generate Data by User Specification (5)" width="90" x="45" y="238"> <list key="attribute_values"> <parameter key="1" value="("1")"/> <parameter key="2" value="("2")"/> <parameter key="3" value="("3")"/> <parameter key="4" value="("4")"/> <parameter key="5" value="("5")"/> <parameter key="6" value="("6")"/> <parameter key="7" value="("7")"/> <parameter key="8" value="("8")"/> <parameter key="9" value="("9")"/> <parameter key="a" value="("a")"/> <parameter key="b" value="("b")"/> <parameter key="c" value="("c")"/> <parameter key="d" value="("d")"/> <parameter key="e" value="("e")"/> <parameter key="f" value="("f")"/> </list> <list key="set_additional_roles"/> <description align="center" color="transparent" colored="false" width="126">Generate the prefixes that will be used in the loop operator</description> </operator> <operator activated="true" class="transpose" compatibility="8.2.000" expanded="true" height="82" name="Transpose (5)" width="90" x="179" y="238"/> <operator activated="true" class="loop_examples" compatibility="8.2.000" expanded="true" height="82" name="Loop Examples (5)" width="90" x="313" y="238"> <process expanded="true"> <operator activated="true" class="extract_macro" compatibility="8.2.000" expanded="true" height="68" name="Extract Macro (7)" width="90" x="112" y="34"> <parameter key="macro" value="prefix"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att_1"/> <parameter key="example_index" value="%{example}"/> <list key="additional_macros"/> </operator> <operator activated="true" class="generate_data_user_specification" compatibility="8.2.000" expanded="true" height="68" name="Generate Data by User Specification" width="90" x="112" y="289"> <list key="attribute_values"> <parameter key="2" value=""a""/> <parameter key="2" value=""b""/> <parameter key="2" value=""c""/> </list> <list key="set_additional_roles"/> </operator> <operator activated="true" class="filter_examples" compatibility="8.2.000" expanded="true" height="103" name="Filter Examples" width="90" x="246" y="289"> <list key="filters_list"> <parameter key="filters_entry_key" value="2.does_not_contain.%{prefix}"/> </list> <parameter key="filters_logic_and" value="false"/> </operator> <operator activated="true" class="generate_data_user_specification" compatibility="8.2.000" expanded="true" height="68" name="Generate Data by User Specification (2)" width="90" x="112" y="136"> <list key="attribute_values"> <parameter key="1" value=""a""/> <parameter key="1" value=""b""/> <parameter key="1" value=""c""/> <parameter key="1" value=""d""/> <parameter key="1" value=""e""/> </list> <list key="set_additional_roles"/> </operator> <operator activated="true" class="filter_examples" compatibility="8.2.000" expanded="true" height="103" name="Filter Examples (2)" width="90" x="246" y="136"> <list key="filters_list"> <parameter key="filters_entry_key" value="1.does_not_contain.%{prefix}"/> </list> <parameter key="filters_logic_and" value="false"/> </operator> <operator activated="true" class="concurrency:join" compatibility="8.2.000" expanded="true" height="82" name="Join (31)" width="90" x="447" y="136"> <parameter key="join_type" value="outer"/> <parameter key="use_id_attribute_as_key" value="false"/> <list key="key_attributes"> <parameter key="1" value="2"/> </list> <parameter key="keep_both_join_attributes" value="true"/> </operator> <operator activated="true" class="generate_data_user_specification" compatibility="8.2.000" expanded="true" height="68" name="Generate Data by User Specification (3)" width="90" x="112" y="748"> <list key="attribute_values"> <parameter key="1" value=""e""/> <parameter key="1" value=""f""/> <parameter key="1" value=""g""/> </list> <list key="set_additional_roles"/> </operator> <operator activated="true" class="filter_examples" compatibility="8.2.000" expanded="true" height="103" name="Filter Examples (3)" width="90" x="246" y="748"> <list key="filters_list"> <parameter key="filters_entry_key" value="1.does_not_contain.%{prefix}"/> </list> <parameter key="filters_logic_and" value="false"/> </operator> <operator activated="true" class="remember" compatibility="8.2.000" expanded="true" height="68" name="Remember" width="90" x="581" y="136"> <parameter key="name" value="data"/> </operator> <operator activated="true" class="free_memory" compatibility="8.2.000" expanded="true" height="82" name="Free Memory (32)" width="90" x="715" y="136"/> <operator activated="true" class="recall" compatibility="8.2.000" expanded="true" height="68" name="Recall" width="90" x="112" y="595"> <parameter key="name" value="data"/> </operator> <operator activated="true" class="filter_examples" compatibility="8.2.000" expanded="true" height="103" name="Filter Examples (4)" width="90" x="246" y="595"> <list key="filters_list"> <parameter key="filters_entry_key" value="1.does_not_contain.%{prefix}"/> </list> <parameter key="filters_logic_and" value="false"/> </operator> <operator activated="true" class="concurrency:join" compatibility="8.2.000" expanded="true" height="82" name="Join (2)" width="90" x="447" y="595"> <parameter key="join_type" value="left"/> <parameter key="use_id_attribute_as_key" value="false"/> <list key="key_attributes"> <parameter key="1" value="1"/> </list> </operator> <operator activated="true" class="store" compatibility="8.2.000" expanded="true" height="68" name="Store (2)" width="90" x="581" y="595"> <parameter key="repository_entry" value="//Local Repository/data/AOL/AOL database full cvm"/> </operator> <operator activated="true" class="free_memory" compatibility="8.2.000" expanded="true" height="82" name="Free Memory (2)" width="90" x="715" y="595"/> <connect from_port="example set" to_op="Extract Macro (7)" to_port="example set"/> <connect from_op="Generate Data by User Specification" from_port="output" to_op="Filter Examples" to_port="example set input"/> <connect from_op="Filter Examples" from_port="example set output" to_op="Join (31)" to_port="right"/> <connect from_op="Generate Data by User Specification (2)" from_port="output" to_op="Filter Examples (2)" to_port="example set input"/> <connect from_op="Filter Examples (2)" from_port="example set output" to_op="Join (31)" to_port="left"/> <connect from_op="Join (31)" from_port="join" to_op="Remember" to_port="store"/> <connect from_op="Generate Data by User Specification (3)" from_port="output" to_op="Filter Examples (3)" to_port="example set input"/> <connect from_op="Filter Examples (3)" from_port="example set output" to_op="Join (2)" to_port="right"/> <connect from_op="Remember" from_port="stored" to_op="Free Memory (32)" to_port="through 1"/> <connect from_op="Recall" from_port="result" to_op="Filter Examples (4)" to_port="example set input"/> <connect from_op="Filter Examples (4)" from_port="example set output" to_op="Join (2)" to_port="left"/> <connect from_op="Join (2)" from_port="join" to_op="Store (2)" to_port="input"/> <connect from_op="Store (2)" from_port="through" to_op="Free Memory (2)" to_port="through 1"/> <connect from_op="Free Memory (2)" from_port="through 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> <description align="center" color="transparent" colored="false" width="126"/> </operator> <connect from_op="Generate Data by User Specification (5)" from_port="output" to_op="Transpose (5)" to_port="example set input"/> <connect from_op="Transpose (5)" from_port="example set output" to_op="Loop Examples (5)" to_port="example set"/> <connect from_op="Loop Examples (5)" from_port="example set" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process>
One important thing to note about this operator is the behavior of the example setoutput port of its subprocess. The subprocess is given the ExampleSet provided at the outer example setinput port in the first iteration. If the example setoutput port of the subprocess is connected the ExampleSet delivered here in the last iteration will be used as input for the following iteration. If it is not connected the original ExampleSet will be delivered in all iterations.anw
Cause, I did not pick up anywhere that this is how the operator works. So yip, pretty muddy.