🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

rapidMiner with java problems

magniolia92User: "magniolia92"
New Altair Community Member
Updated by Jocelyn
hi , I'm doing the sentiment analysis using rapidMiner 5 , I build a process and I want to see results in eclips , I follow the documentation , and I connected eclipse with rapidMiner , I create a new class and I add the RapidMiner-unk project and I put those line of code

package rm.com;

import com.rapidminer.RapidMiner;
import com.rapidminer.example.ExampleSet;
import com.rapidminer.operator.ExecutionMode;
import com.rapidminer.operator.IOContainer;
import com.rapidminer.operator.IOObject;
import com.rapidminer.repository.IOObjectEntry;
import com.rapidminer.repository.ProcessEntry;
import com.rapidminer.repository.RepositoryLocation;
import java.lang.String;
import com.rapidminer.Process;

public class rm {
    public static void main(String args[]) throws Exception {  
   // this initializes RapidMiner with your repositories available
    RapidMiner.setExecutionMode(com.rapidminer.RapidMiner.ExecutionMode.COMMAND_LINE);
   RapidMiner.init();
   // loads the process from the repository
   RepositoryLocation pLoc = new RepositoryLocation("//C:/Users/fujitsu/.RapidMiner5/repositories/Local Repository/exple1");
   ProcessEntry pEntry = (ProcessEntry) pLoc.locateEntry();
   String processXML = pEntry.retrieveXML();
   Process myProcess = new Process(processXML);
   // if need be, you can give the process IOObjects as parameter (this would be the case if you used the process input ports)
   RepositoryLocation loc = new RepositoryLocation("//C:/Users/faith/Desktop/MyRepository/MyData/cars");
   IOObjectEntry entry = (IOObjectEntry) loc.locateEntry();
   IOObject myIOObject= entry.retrieveData(null);

   // execute the process and get the resulting objects
   IOContainer ioInput = new IOContainer(new IOObject[] {myIOObject});
   // just use myProcess.run() if you don't use the input ports for your process
   IOContainer ioResult = myProcess.run(ioInput);

   // use the result(s) as needed, for example if your process just returns one ExampleSet, use this:
   if (ioResult.getElementAt(0) instanceof ExampleSet) {
       ExampleSet resultSet = (ExampleSet)ioResult.getElementAt(0);
   }  
  }
}


but these errores occure when I start runnig

24 mars 2013 16:48:05 com.rapidminer.tools.ParameterService init
INFO: Reading configuration resource com/rapidminer/resources/rapidminerrc.
24 mars 2013 16:48:05 com.rapidminer.tools.I18N <clinit>
INFO: Set locale to en.
24 mars 2013 16:48:05 com.rapid_i.Launcher ensureRapidMinerHomeSet
INFO: Property rapidminer.home is not set. Guessing.
24 mars 2013 16:48:05 com.rapid_i.Launcher ensureRapidMinerHomeSet
INFO: Trying base directory of classes (build) 'C:\workspace\rapidMiner'...gotcha!
24 mars 2013 16:48:08 com.rapidminer.tools.plugin.Plugin registerPlugins
INFO: Register plugin: Text Processing
24 mars 2013 16:48:08 com.rapidminer.tools.plugin.Plugin registerPlugins
INFO: Register plugin: Weka
24 mars 2013 16:48:08 com.rapidminer.tools.plugin.Plugin registerPlugins
INFO: Register plugin: Web Mining
24 mars 2013 16:48:26 com.rapidminer.tools.expression.parser.ExpressionParserFactory <clinit>
INFO: Default version of Expression parser registered successfully
24 mars 2013 16:48:29 com.rapidminer.parameter.ParameterTypePassword decryptPassword
WARNING: Password in XML file looks like unencrypted plain text.
24 mars 2013 16:48:44 com.rapidminer.tools.OperatorService init
INFO: Number of registered operator classes: 518; number of registered operator descriptions: 644; number of replacements: 441
24 mars 2013 16:48:45 com.rapidminer.tools.jdbc.JDBCProperties <init>
WARNING: Missing database driver class name for ODBC Bridge (e.g. Access)
24 mars 2013 16:48:45 com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
INFO: JDBC driver ca.ingres.jdbc.IngresDriver not found. Probably the driver is not installed.
[Fatal Error] :1:1: Premature end of file.
Exception in thread "main" com.rapidminer.repository.RepositoryException: Requested repository C: does not exist.
at com.rapidminer.repository.RepositoryManager.getRepository(RepositoryManager.java:200)
at com.rapidminer.repository.RepositoryLocation.getRepository(RepositoryLocation.java:139)
at com.rapidminer.repository.RepositoryLocation.locateEntry(RepositoryLocation.java:162)
at rm.com.rm.main(rm.java:21)

the results that I get from rapidMiner
image

on eclipe I just want to get the content of the metadata file and the prediction label , can anyone help me , thanks

NB : I run the new project and the rapidminer-unuk using jre7 , does that cause problem ?

Find more posts tagged with

Sort by:
1 - 5 of 51
    Hi,

    the repository location does expect locations in the RapidMiner repository not on the file system.
    If you have a repository called 'Test' a valid location would be new RepositoryLocation("//test/folder1/process/").

    Best,
    Nils
    where do I have to create the new repository Test , under local repository ?
    You have to create a new repository that points to your file on disk and then you can use the repository location.

    ...
    RepositoryManager.getInstance(null).addRepository(new LocalRepository("Test", new File("C:/Users/fujitsu/.RapidMiner5/repositories/Local Repository/")));
    RepositoryLocation pLoc = new RepositoryLocation("//Test/exple1");
    ProcessEntry pEntry = (ProcessEntry) pLoc.locateEntry();
    ...
    or if it is already there because you called RapidMiner.init() before you can skip adding a new repository:

    ...
    RepositoryLocation pLoc = new RepositoryLocation("//Local Repository/exple1");
    ProcessEntry pEntry = (ProcessEntry) pLoc.locateEntry();
    ...
    Best,
    Nils
    the first problem is solved but a new problem appears now

    mars 26, 2013 10:03:46 PM com.rapidminer.tools.ParameterService init
    INFO: Reading configuration resource com/rapidminer/resources/rapidminerrc.
    Mar 26, 2013 10:03:46 PM com.rapidminer.tools.I18N <clinit>
    INFO: Set locale to en.
    Mar 26, 2013 10:03:46 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
    INFO: Property rapidminer.home is not set. Guessing.
    Mar 26, 2013 10:03:46 PM com.rapid_i.Launcher ensureRapidMinerHomeSet
    INFO: Trying base directory of classes (build) 'C:\workspace\RapidM'...gotcha!
    Mar 26, 2013 10:03:46 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Text Processing
    Mar 26, 2013 10:03:46 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Web Mining
    Mar 26, 2013 10:03:46 PM com.rapidminer.tools.plugin.Plugin registerPlugins
    INFO: Register plugin: Reporting
    Mar 26, 2013 10:03:48 PM com.rapidminer.tools.expression.parser.ExpressionParserFactory <clinit>
    INFO: Default version of expression parser registered successfully
    Mar 26, 2013 10:03:48 PM com.rapidminer.parameter.ParameterTypePassword decryptPassword
    WARNING: Password in XML file looks like unencrypted plain text.
    Mar 26, 2013 10:03:49 PM com.rapidminer.tools.OperatorService init
    INFO: Number of registered operator classes: 515; number of registered operator descriptions: 516; number of replacements: 442
    Mar 26, 2013 10:03:49 PM com.rapidminer.tools.jdbc.JDBCProperties <init>
    WARNING: Missing database driver class name for ODBC Bridge (e.g. Access)
    Mar 26, 2013 10:03:49 PM com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
    INFO: JDBC driver ca.ingres.jdbc.IngresDriver not found. Probably the driver is not installed.
    Mar 26, 2013 10:03:49 PM com.rapidminer.tools.jdbc.JDBCProperties registerDrivers
    INFO: JDBC driver oracle.jdbc.driver.OracleDriver not found. Probably the driver is not installed.
    [Fatal Error] :1:1: Premature end of file.
    Exception in thread "main" java.lang.NullPointerException
    at rapid.main(rapid.java:25)

    code :
    import com.rapidminer.RapidMiner;
    import com.rapidminer.example.ExampleSet;
    import com.rapidminer.operator.ExecutionMode;
    import com.rapidminer.operator.IOContainer;
    import com.rapidminer.operator.IOObject;
    import com.rapidminer.repository.IOObjectEntry;
    import com.rapidminer.repository.ProcessEntry;
    import com.rapidminer.repository.RepositoryLocation;
    import com.rapidminer.repository.RepositoryManager;
    import com.rapidminer.repository.local.LocalRepository;

    import java.io.File;
    import java.lang.String;
    import com.rapidminer.Process;

    public class rapid {
        public static void main(String args[]) throws Exception { 
       
            RapidMiner.setExecutionMode(com.rapidminer.RapidMiner.ExecutionMode.COMMAND_LINE);
        RapidMiner.init();
        RepositoryManager.getInstance(null).addRepository(new LocalRepository("Test", new File("C:/Users/fujitsu/.RapidMiner5/repositories/Local Repository/")));
        RepositoryLocation pLoc = new RepositoryLocation("//Test/essai");
        ProcessEntry pEntry = (ProcessEntry) pLoc.locateEntry();
       
      String processXML = pEntry.retrieveXML();
      Process myProcess = new Process(processXML);
     
     
        // if need be, you can give the process IOObjects as parameter (this would be the case if you used the process input ports)
        RepositoryLocation loc = new RepositoryLocation("//Test/essai");
        IOObjectEntry entry = (IOObjectEntry) loc.locateEntry();
        IOObject myIOObject= entry.retrieveData(null);

        //execute the process and get the resulting objects
        IOContainer ioInput = new IOContainer(new IOObject[] {myIOObject});
        // just use myProcess.run() if you don't use the input ports for your process
      IOContainer ioResult = myProcess.run(ioInput);
    // use the result(s) as needed, for example if your process just returns one ExampleSet, use this:
        if (ioResult.getElementAt(0) instanceof ExampleSet) {
            ExampleSet resultSet = (ExampleSet)ioResult.getElementAt(0);
        }   
      }
      }
    User: "Marco_Boeck"
    New Altair Community Member
    Hi,

    the entry you specified could not be found, as pLoc.locateEntry(); will return null if nothing is there.
    As an alternative if you do not have and do not want to setup a RapidMiner repository, you can use this:

    Process myProcess = new Process(new File("C:\\path\\to\\your\\file\\processName.rmp"));
    Regards,
    Marco