Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.

"loop repository can not read"

blatooblatoo Member Posts: 32 Contributor II
edited June 2019 in Help
Hi all,

I am confused about the operator "loop repository".

I have a bundle of data set with the same format, I want use the "loop repository" to deal with all the data sets.

I made a small example: I want to "retrieve" all the data set in my folder. How can I do that?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="6.1.000">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="6.1.000" expanded="true" name="Process">
   <process expanded="true">
     <operator activated="true" class="loop_repository" compatibility="6.1.000" expanded="true" height="76" name="Loop Repository" width="90" x="246" y="255">
       <parameter key="repository_folder" value="../data/sepData/"/>
       <process expanded="true">
         <operator activated="true" class="retrieve" compatibility="6.1.000" expanded="true" height="60" name="Retrieve" width="90" x="313" y="255">
           <parameter key="repository_entry" value="%{repository_path}%{entry_name}"/>
         </operator>
         <connect from_op="Retrieve" from_port="output" to_port="out 1"/>
         <portSpacing port="source_repository object" spacing="0"/>
         <portSpacing port="source_in 1" spacing="0"/>
         <portSpacing port="sink_out 1" spacing="0"/>
         <portSpacing port="sink_out 2" spacing="0"/>
       </process>
     </operator>
     <connect from_op="Loop Repository" from_port="out 1" 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>

Thanks!

Answers

  • Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,996 RM Engineering
    Hi,

    you almost had it ;)
    However the %{repository_path} contains the full path including the name of the ioobject already. So just remove %{entry_name} from the Retrieve operator parameter, and you're done. Otherwise you end up trying to find //Local Repository/folder/myDatamyData instead of //Local Repository/folder/myData

    Regards,
    Marco
  • blatooblatoo Member Posts: 32 Contributor II
    Hi Marco Boeck,

    thanks very much! It works! :-)
Sign In or Register to comment.