Spring Boot + SDN + Depth Feature | Not Working

(Prem) #1

I would like to use the depth feature while fetching the nodes from the Neo4J database. It works as expected on repository.findAll(depth) API.

But the repository.findAllByIds(ids, depth) API - always returns json with current depth 0.

I use spring boot version 2.0.4.RELEASE and spring-boot-starter-data-neo4j.

We have an explicit requirement to filter the nodes based on some logic. We would like to use the nodeIds to fetch the nodes with custom depth (requested by the user). Fetching all the nodes and then filtering is not an option since the no.of nodes are really large.

Please help.

(Gerrit Meier) #2

could you please describe in more detail what you mean with "json" and depth of 0?
Which transport mode (bolt/http/embedded) do you use and could you please set the log level to debug for org.neo4j.ogm and post the queries getting generated (if there is confidential data in there, just post the statements without the parameter values).

(Jiropole) #3

@prem I always use a query. The "basic" queries are easy to replace, if you know some Cypher. I think there are two use cases for the SDN defaults: either you can define an interface in terms of depth and common queries, or you can define all responses and CrUD yourself. I have only had luck with the latter, but it's so little extra work within SDN that it's actually pleasure to work with. You can also write completely custom Repository functions, if you want to bypass all the limitations and go straight to the OGM. Reach out if curious.