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

Request: apoc.path.expand. Option to assume unlisted labels are whitelisted #164

Open
neo-technology-build-agent opened this issue Sep 1, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@neo-technology-build-agent
Copy link
Collaborator

Issue by dan-kez
Thursday Oct 20, 2016 at 16:24 GMT
Originally opened as neo4j-contrib/neo4j-apoc-procedures#181


At the moment if you supply a labelFilter any non-listed labels are assumed to be black listed. I think having an option to assume that all non listed labels are white listed and only specify black listed labels / end labels would be a benefit to the function (or its config cousin).

@neo-technology-build-agent
Copy link
Collaborator Author

Comment by jexp
Thursday Oct 20, 2016 at 18:35 GMT


But if you supply a label filter do you just want to a exclude a few?

Perhaps we can do a +* or -* to control if it is blacklist or whitelist by default?

@neo-technology-build-agent neo-technology-build-agent added the enhancement New feature or request label Sep 1, 2022
@neo-technology-build-agent
Copy link
Collaborator Author

Comment by InverseFalcon
Thursday Mar 16, 2017 at 01:17 GMT


I'm guessing that this was submitted with the assumption that the labelFilter supports multiple operations at once (+, -, /) instead of only one at a time.

Currently the label filter only allows one operation, the one specified on the very first label of the filter.

This means for a blacklist filter, anything not in the blacklist is allowed, and for the end node label filter, anything not in the end node filter is allowed as a component of a path leading up to an end node, but will never be the end node of a returned path.

#317 is a proposed improvement to allow multiple operations in the filter at once, and addresses the idea that if using an end-node label filter or a blacklist label filter (either alone or in combination with each other), that an empty whitelist should be interpreted as allowing all instead of disallowing all.

Otherwise, if there is a non-empty whitelist label filter, it should probably still exclude any nodes not in the whitelist.

There is still some question regarding the order of evaluation for all three types of filters. If we decide, for example, that the end-node label filter should evaluate before the whitelist, then a node with a label in the end-node label filter should be included even if that label is not in the whitelist, as the whitelist won't have a chance to evaluate it.

There is still ambiguity regarding multi-labeled nodes where its labels fall within multiple label filters, that's up for discussion in #317 .

@neo-technology-build-agent
Copy link
Collaborator Author

Comment by InverseFalcon
Tuesday Mar 21, 2017 at 01:23 GMT


To summarize, I don't think this is a real issue in current implementation, and the concern is being addressed in the work done on allowing multiple label filter operations instead of just one.

Recommending closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant