Find answers from the community

Updated 2 months ago

Using Llama Index Graph Stores With Neo4j

I am trying to use llama-index-graph-stores-neo4j==0.3.5 . When I instantiate the store:
Plain Text
# graph store instance
graph_store = Neo4jPGStore(
    username=settings.neo4j_username,
    password=settings.neo4j_password.get_secret_value(),
    url=settings.neo4j_uri,
)

Neo4J throws:
Plain Text
neo4j.exceptions.ClientError: {code: Neo.ClientError.Procedure.ProcedureNotFound} {message: There is no procedure with the name `apoc.meta.subGraph` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.}

I have following plugins installed: apoc-5.24.0-extended.jar apoc.jar neo4j-graph-data-science-2.11.0.jar
I tried neo4j:5.23.0-community and neo4j:5.24.2-community with the with the same issues. Does anyone know what I am missing.
B
L
9 comments
I have that and SHOW PROCEDURES WHERE name STARTS WITH 'apoc.meta'; returns:
Plain Text
╒════════════════╀══════════════════════════════════════════════════════════╀═════════╀═════════════╕
β”‚name            β”‚description                                               β”‚mode     β”‚worksOnSystemβ”‚
β•žβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•ͺ══════════════════════════════════════════════════════════β•ͺ═════════β•ͺ═════════════║
β”‚"apoc.meta.data"β”‚"Examines the full graph and returns a table of metadata."β”‚"DEFAULT"β”‚false        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

but no apoc.meta.subGraph.
Is this a version thing?
Could that be that it is in apoc-extended? Or do I have the wrong neo4j version?
How do I find out which neo4j version is supported?
I'm not totally sure πŸ˜… I am far from an expert on neo4j tbh
I see people using this as recently as today on github, so I know it works
It looks like:
Plain Text
    --env NEO4J_apoc_import_file_use__neo4j__config=true \
    --env NEO4J_dbms_security_procedures_unrestricted=apoc.*,apoc.meta.*,apoc.any.*,gds.* \
    --env NEO4J_dbms_security_procedures_allowlist=apoc.meta.data,apoc.meta.subGraph,apoc.any.property,apoc.* 

did it. Need more testing but is no longer throwing errors. Weird ...
πŸ‘€ Spooky!
Add a reply
Sign up and join the conversation on Discord