input = find a person whose @name is Maksym
output = {
"field": "name",
"operator": "==",
"value": "Maksym"
}
input = find person whose @name is "Maksym"
output = {
"field": "name",
"operator": "==",
"value": "Maksym"
}
input = find a person whose @name is "Maksym Oliinyk"
output = {
"field": "name",
"operator": "==",
"value": "Maksym Oliinyk"
}
input = @name is "Maksym Oliinyk"
output = {
"field": "name",
"operator": "==",
"value": "Maksym Oliinyk"
}
input = find a person whose name Maksym
output = null
input = find a person whose @ name is Maksym
output = null
input = find@name is Maksym
output = null
input = @@@name is Max
output = null
input = @nonexistingfield is Max
output = [
]
input = @name could be or is Maksym Oliinyk
output = null
input = @name is not Maksym
output = {
"field": "name",
"operator": "!=",
"value": "Maksym"
}
input = @name is something not something Maksym
output = {
"field": "name",
"operator": "==",
"value": "Maksym"
}
input = find a person whose @name is not Maksym Oliinyk
output = {
"field": "name",
"operator": "!=",
"value": "Maksym"
}
input = @name is not "Maksym Oliinyk"
output = {
"field": "name",
"operator": "!=",
"value": "Maksym Oliinyk"
}
input = @forename is either Maksym or Viktor
output = {
"field": "forename",
"operator": "in",
"value": [
"\"Maksym\"",
"\"Viktor\""
]
}
input = @forename is neither Maksym nor Viktor
output = {
"field": "forename",
"operator": "not in",
"value": [
"\"Maksym\"",
"\"Viktor\""
]
}
input = @forename is Maksym and @surname Oliinyk and @age is 26
output = {
"and": [
{
"and": [
{
"field": "forename",
"operator": "==",
"value": "Maksym"
},
null
]
},
{
"field": "age",
"operator": "==",
"value": "26"
}
]
}
input = @age is 26 and @name is "Maksym Oliinyk"
output = {
"and": [
{
"field": "age",
"operator": "==",
"value": "26"
},
{
"field": "name",
"operator": "==",
"value": "Maksym Oliinyk"
}
]
}
input = @forename is Maksym and @surname is either Ivanov or Petrov
output = {
"and": [
{
"field": "forename",
"operator": "==",
"value": "Maksym"
},
{
"field": "surname",
"operator": "in",
"value": [
"\"Ivanov\"",
"\"Petrov\""
]
}
]
}
input = @forename is Maksym or @surname Oliinyk
output = {
"or": [
{
"field": "forename",
"operator": "==",
"value": "Maksym"
},
null
]
}
input = @forename is Maksym and @surname is either Ivanov or Petrov or @forename is Viktor and @surname is neither Sokolov nor Smirnov
output = {
"or": [
{
"and": [
{
"field": "forename",
"operator": "==",
"value": "Maksym"
},
{
"field": "surname",
"operator": "in",
"value": [
"\"Ivanov\"",
"\"Petrov\""
]
}
]
},
{
"and": [
{
"field": "forename",
"operator": "==",
"value": "Viktor"
},
{
"field": "surname",
"operator": "not in",
"value": [
"\"Sokolov\"",
"\"Smirnov\""
]
}
]
}
]
}
input = @forename is in (Maksym, Viktor)
output = {
"field": "forename",
"operator": "in",
"value": [
"\"Maksym\"",
"\"Viktor\""
]
}
input = @forename is in ()
output = {
"field": "forename",
"operator": "in",
"value": []
}
input = @forename is in
output = null
input = @forename is in (Maksym, Viktor) or @forename is not in (Alex, Julia)
output =
"or": [
{
"field": "forename",
"operator": "in",
"value": [
"\"Maksym\"",
"\"Viktor\""
]
},
{
"field": "forename",
"operator": "not in",
"value": [
"\"Alex\"",
"\"Julia\""
]
}
]
}
input = ((@name is either Max or Joe) or (@surname is neither Oliinyk nor Doe)) and ((@age is not 27) or (@forename is Oliinyk)) or @surname is not Smirnov
output = {
"or": [
{
"and": [
{
"or": [
{
"field": "name",
"operator": "in",
"value": [
"Max",
"Joe"
]
},
{
"field": "surname",
"operator": "not in",
"value": [
"Oliinyk",
"Doe"
]
}
]
},
{
"or": [
{
"field": "age",
"operator": "!=",
"value": "27"
},
{
"field": "forename",
"operator": "==",
"value": "Oliinyk"
}
]
}
]
},
{
"field": "surname",
"operator": "!=",
"value": "Smirnov"
}
]
}