Options

Read data from Neo4j in Rapidminer

amitpathakamitpathak Member Posts: 4 Contributor I
I am using licensed version of RapidMiner Studio v9.9 and Neo4j 4+. I have successfully established a connection between Neo4j and RapidMiner. Now I want to read a data from Neo4j by passing a cypher script. Step I followed -
  1. Added Read Database operator to the process and connected its out to res.
  2. Operator Parameter: Define connection - repository
  3. Operator Parameter: Connection Entry - //Local Repository/Connections/Neo4jTrial (where test connection is passing)
  4. Operator Parameter: Define Query - query
  5. I double clicked on the operator and mentioned "MATCH (n:Movie) RETURN n.guid LIMIT 25" in SQL query.
  6. Run
I get the following error.

Process failed.
org.neo4j. driver. exceptions. SecurityException: Permission denied. The credentials you provided were valid, but must be changed before you can use this instance. If this is the first time you are using Neo4j, this is to ensure you are not using the default credentials in production. If you are not using default credentials, you are getting this message because an administrator requires a password change. Changing your password is easy to do via the Neo] Browser. If you are connecting via a shell or programmatically via a driver, just issue a 'ALTER CURRENT USER SET PASSWORD FROM 'current password TO 'new password" statement against the system database in the current session, and then restart your driver with the new password configured.

I changed the password in Neo4j but continue to get this error. However, I also noticed a strange thing. Now, if I am testing my connection with new and old password, both are working. I have three different passwords working for the same user whereas throws an error in Neo4j if I use the old passwords.

Also, while setting the Operator Parameter: Define Connection to predefined I am neither getting any option to select in Connection dropdown nor able to add a new connection.

Answers

  • Options
    jczogallajczogalla Employee, Member Posts: 144 RM Engineering

    this indeed sounds strange. This seems to be a problem with the Neo4J library and I don't have any insights into that directly.

    Regarding the test connection still working, does it also work for no password or a completely unused password? If so, it either does not actually need the authentication for the test, for whatever reason. From a quick search, it seems you can disable authentication alltogether on the Neo server, so maybe that can be the problem?

    As for the predefined option, this is the old connection framework no longer in use, that's why you can neither see nor add connections there. It should also show you a warnign about that if you select that option.

    I hope this helps!
  • Options
    amitpathakamitpathak Member Posts: 4 Contributor I
    Hi @jczogalla,

    Thank you for the response.

    No, the connection fails if no password is provided, or any other password / username is given. Only works for the user and password combination that I have created but just that old password also works after changing it.

    Yes, it does show me a warning - 

    "These connections use the old mechanism, which is now deprecated. To convert an existing connection, select it and press the Convert button. To create a new connection with the new mechanism, go to Connections - Create Connection, or right click on any repository."

    But I am not able to locate the Convert button (marked in bold).
  • Options
    jczogallajczogalla Employee, Member Posts: 144 RM Engineering

    If it fails with a wrong or no password, but still accepts the old one, it might explain, why it is confused and asking you to change your password still... But I admit, it really sounds strange. Can you check via some other tool that this is working as expected outside of RapidMiner?
    Another option would be to try and use a custom URL for the DB connection in the "edit connection" dialog. You can also try using the automatically created URL in another program to see if that actually is the problem.

    As mentioned above, the old mechanism is no used anymore, that's why you cannot find the convert button as it is only available in the old UI that we now disabled with 10.0 completely. It is purely in place for backward compatibility reasons and you don't need to worry about it. Just use the repository location or the connection input port (combined with a Retrieve operator for the connection).
Sign In or Register to comment.