Procedure not found

I have installed latest version of APOC procedures which is - Release 4.0.0.12 · neo4j-contrib/neo4j-apoc-procedures · GitHub.

I am not able to find many of the procedures available here - https://neo4j.com/docs/graph-algorithms/3.5/labs-procedures/

CALL apoc.convert.toString("abc")

Neo.ClientError.Procedure.ProcedureNotFound

There is no procedure with the name apoc.convert.toString registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.

Do I need to change any configurations or is this procedure deprecated.

you need to restart the neo4j to use these procedures

Hi @12kunal34,

I did the restart, I may mentioned it but many of the procedures are available, only a few are not. I did run the function below and I see 311 procedures available on database while 518 procedures are listed in the link - https://neo4j.com/docs/labs/apoc/current/overview/.

I also went through the debug logs and I see some failures as mentioned in this post - Failed to load apoc. However, the procedures I am trying to use are not one the procedures in the failure log.

CALL dbms.procedures() yield name
RETURN count(name) as cnt

Hello @sai.nandam :slight_smile:

Did you check the plugins restrictions in the neo4j.conf file?

Regards,
Cobra

Hello @cobra,
Yes, I did had this setting enabled in neo4j.conf. Is there anything else I need to enable?
dbms.security.procedures.unrestricted=apoc.*

Thanks,
Sai

If you want to use GDS plugin, you must specify it as well :slight_smile:

dbms.security.procedures.unrestricted=apoc.*,gds.*
dbms.security.procedures.whitelist=apoc.*,gds.*

Moreover, which version of Neo4j are you using and is it Neo4j Server (remote server) or Neo4j Desktop (local database)?

Regards,
Cobra

@cobra- I am using Community Edition Neo4j 4.0.3 and Plugin version APOC is 4.0.0.12. It is installed on a RHEL Linux server.

I thought this procedure is from APOC library and I installed GDS too. Added whitelist property with apoc.*, still no luck.

Hi Sai,

Download the fresh copy of APOC jar once again and keep it in the folder plugins. Remove the previous APOC jar and restart the database once again

Hi @sai.nandam

The documentaation states that toString is a function:

I'm uncertain that it is the intended behavior, but I don't think you can call functions the same way as procedures. I had the same error for apoc.map.merge() and by skipping CALL and YIELD it worked.

Test with the following:

MATCH (n) 
apoc.convert.toString(n) AS stringified
RETURN stringified
1 Like

Hi @arzmir - It worked.

Thanks.