Fixes #3937: Fully virtual graphs #4043
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #3937
Created both an aggregation function and a procedure with the signatures
apoc.graph.filterProperties(<any>, nodePropertiesToRemove, relPropertiesToRemove)
(similarly to gds which has fun aggregations and procedures with the same name).where the
nodePropertiesToRemove
andrelPropertiesToRemove
parameter are mapswith key the label/relationship type and value the list of properties to remove from the virtual entities.
The key can also be
_all
, for both of them, which means that the properties of each label/rel-type are filtered.Tried to reproduce part of the code of the gds.graph.project, but the latter has many utils and the gds virtual nodes work different (based on real nodes and doesn't have negative ids), so I think bringing the code into the apocs adds more complexity than doing it from scratch.