Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluate user's options to avoid cyclic domain queries #2840

Open
meistermeier opened this issue Dec 12, 2023 · 1 comment
Open

Evaluate user's options to avoid cyclic domain queries #2840

meistermeier opened this issue Dec 12, 2023 · 1 comment
Assignees
Labels
status: pending-design-work Needs design work before any code can be developed type: new-feature A completely new feature

Comments

@meistermeier
Copy link
Collaborator

I am not yet sure where this will lead to.
Something like a "Trust me, there is no cyclic data in my graph"-Option 😃
Be it an annotation, something programatically from the Neo4jTemplate side or ??.

Got the use-case multiple times now that a modelled cyclic domain is from a user side not intended to get queried as such but the underlying data forms a acyclic graph.

Of course this scenario also considers that the user has to be made much aware that relationships that might form the cycle will get deleted after loading and saving operations because they were just not fetched.

@meistermeier
Copy link
Collaborator Author

Unfortunately there is no way to determine the cycle-less number of relationships in the graph upfront reliable without sacrificing performance due to interactions (network round-trips, calculation) upfront the actual retrieval.
Also, the resulting directed query with nested "maps" to fetch a graph with a virtual 10 (random guess) hops limit is not really performant anymore.
As a result, this issue will move now the focus on evaluating how to optimise the queries issued to reduce the number of round-trips needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: pending-design-work Needs design work before any code can be developed type: new-feature A completely new feature
Projects
None yet
Development

No branches or pull requests

1 participant