Comments (3)
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?
from apoc.
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 .
from apoc.
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.
from apoc.
Related Issues (20)
- difference between the maven central apoc-core jar and the one on the release page for version 5.x HOT 8
- Support apoc.dump.jdbc HOT 4
- Unable to find 4.x versions of APOC when running through docker HOT 9
- Parameter to make apoc.periodic.iterate() raise an error when any batch fails HOT 8
- The missing constraint error message for apoc.import.json() is incorrect HOT 1
- apoc.path.subgraphAll returns more relationships HOT 2
- Adding apoc.import.file.enabled=true would prevent db from starting HOT 9
- Aggregation function `toMap` HOT 1
- load.xml can't load entity reference. HOT 4
- apoc.export.cypher.all exports unique indexes as node keys HOT 3
- Docs Example Bug apoc.load.json docs search demo doesn't exist anymore
- apoc.nlp.aws.entities.graph and apoc.nlp.aws.entities.stream not returning results or debug information HOT 1
- Cannot load json data HOT 1
- Trigger generating org.neo4j.graphdb.NotInTransactionException: This transaction has already been closed HOT 3
- Add json5 support to apoc-core and extended HOT 1
- APOC version 5.8 HOT 1
- ID() deprecated, how to get nodes where apoc returns id? HOT 1
- zstd compression support in apoc.util.compress()? HOT 1
- Server no longer accepts writes, during apoc.trigger.add HOT 1
- Failed import graphml due to 'nan' input string HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apoc.