Subject: [scim] Filtering and the missing NOT operator

From: Laszlo Hordos <[email-masked]>
Date: Sun, 28 Oct 2012 11:57:33 +0100

Hi all!

I'm reading the 3.2.2.1. Filtering section in the API specification and I have some questions because I miss some filter operators. I noticed the priority is not on the filtering now and the specifications states "Providers MAY support additional filter operations if they choose." so It's all fine but what I miss is the way to negate.

There is a way for Boolean expressions:

[attributeName|required] [standard or custom attribute operator|required] [value|optional]

There is a way for the two logical AND, OR operators

[expression|required] [logical AND, OR operator|required] [expression|required]

I can not figure out any way to negate the filter condition. Have a negative boolean operator for each standard operator does not solves the problem of logical operator. 

eq (equal) => neq (not equal)  
co (contains) => nco (not contains)
etc.

How about negating? How to find all active user who is not Employee or Contractor?

active eq true and not(userType eq "Employee"  or userType eq "Contractor")

If I may suggest I'd like to see the not as part of the core specification because then the missing operators can follow the same patterns.

Regards,
Laszlo Hordos