[ https://issues.apache.org/jira/browse/S2GRAPH-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16515280#comment-16515280 ]
DOYUNG YOON commented on S2GRAPH-222: ------------------------------------- [~daewon] Thanks for your feedback. I agree that `NOT condidtion` clauses can be useful. I think I need to revert last commit that remove 'not in' clause, but other than that it seems like provide 'like' and 'not like' also. I believe 'like' is implemented as `Contain` Clause class but use different grammar. I am wondering if you are suggesting adding `Like` and `NOT Like`(which I vote for +1)? > Support Not logical operator in WhereParser. > --------------------------------------------- > > Key: S2GRAPH-222 > URL: https://issues.apache.org/jira/browse/S2GRAPH-222 > Project: S2Graph > Issue Type: New Feature > Components: s2core > Reporter: DOYUNG YOON > Assignee: DOYUNG YOON > Priority: Minor > > `And/Or` operator is implemented as a logical operator, but `Not` is not > implemented in WhereParser. > This is illustrated by following examples. > Following query works only because we added hardcoded implementation on `not > in` as predicates. > {noformat} > query { > s2graph { > User(id: 1) { > id > Friends(limit: 10, filter: "friend_name not in ('steamshon')") { > User { > id > } > } > } > } > } > {noformat} > I believe implementing `Not` as a logical operator is more general, so below > is my suggestion. > {noformat} > query { > s2graph { > User(id: 1) { > id > Friends(limit: 10, filter: "NOT (friend_name in ('steamshon'))") { > User { > id > } > } > } > } > } > {noformat} > In this way, we don't need to implement not case for all predicates, such as > `in`, `between`, `contains`, `eq`. -- This message was sent by Atlassian JIRA (v7.6.3#76005)