You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@s2graph.apache.org by "DOYUNG YOON (JIRA)" <ji...@apache.org> on 2018/06/15 02:08:00 UTC

[jira] [Created] (S2GRAPH-222) Support Not logical operator in WhereParser.

DOYUNG YOON created S2GRAPH-222:
-----------------------------------

             Summary: 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



`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')")
		}
	}
}
{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'))")
		}
	}
}
{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)