Closed bussec closed 6 months ago
The filter query operators
is
andnot
are rather confusing as they mean "is missing" and "is not missing", respectively, which is rather counterintuitive. Also,not
would by default be considered to be the logical NOT operator.As these operators are only considered to be aliases for the
is missing
andis not missing
operators, I was wondering whether we could just deprecate them. I am aware that they were introduced for compatibility with the GDC, but given that their endpoints and data structure is different from ours, supporting all of their operators might not be the most critical thing to do.
is
and not
are the original operators then @bcorrie made the similar statement that they weren't intuitive so we added the is missing
and is not missing
operators. I was hesitant to remove the orignal operators, not sure why exactly, maybe we had already published the paper? Or just wanting to keep compatibility... I've no real opinion on deprecation, at least implementing the alias should be simple.
Also,
not
would by default be considered to be the logical NOT operator.
Yeah, an unfortunate design by GDC. We put a comment in the docs to help explain, "Note that the not operator is different from a logical NOT operator, and the logical NOT is not needed as the other operators provide negation."
I don't object to deprecating them, but I would suggest doing that for the v2.0 release (not v1.2) as it definitely breaks backwards compatibility...
@schristley any objections to doing this for v2.0 release? This breaks compatibility so this is a good time to do it. We would just need to update the documentation for this since there is no way to deprecate an operator in the specification.
This has no impact on the iReceptor Gateway since we don't use these operators. We would need to "unimplement them" but I suppose there is no rule that you can't have extra operators and still be compliant, so maybe we don't HAVE to do anything.
@schristley any objections to doing this for v2.0 release? This breaks compatibility so this is a good time to do it. We would just need to update the documentation for this since there is no way to deprecate an operator in the specification.
no objection.
Made these changes (removed them from the table). https://github.com/airr-community/airr-standards/pull/752/commits/972949b9e06c2003baa628020dadeaea6d960380
Added release notes and added this change so we don't lose track of it. https://github.com/airr-community/airr-standards/pull/752/commits/cf084b799a04e1cead1f8931ff2351cee3dfd22d
I think this can be closed...
The filter query operators
is
andnot
are rather confusing as they mean "is missing" and "is not missing", respectively, which is rather counterintuitive. Also,not
would by default be considered to be the logical NOT operator.As these operators are only considered to be aliases for the
is missing
andis not missing
operators, I was wondering whether we could just deprecate them. I am aware that they were introduced for compatibility with the GDC, but given that their endpoints and data structure is different from ours, supporting all of their operators might not be the most critical thing to do.