VQL Error Messages
The following section describes common error messages.
VQL Conversion Error Messages
Legacy Profile tasks produce VQL conversion error messages if they encounter ill-formed or unexpected content during the VQL conversion that it performs to import a VQL category into IDOL server.
If you set up a log stream in the IDOL server configuration file that has LogTypeCSVs
set to Index
, VQL conversion writes error messages to log files under this line of text:
[LP - VQLTask] VQL conversion failed
NOTE: A corrupt VQL might produce several errors, but the task reports only a single error.
General Errors
Unknown operator <operator name>
The category the Legacy Profile task is importing includes an element in angled brackets that is not one of the operators which the task can convert. For example:
<cat>
Unable to parse adjacent operators
The category the Legacy Profile task is importing contains an expression in which certain operators appear immediately adjacent to each other. It is not always meaningful to place operators immediately adjacent to each other without any intervening text.
VQL could not be fully parsed—invalid use of operators—Unable to fully parse VQL
The Legacy Profile task cannot complete the VQL conversion stage of legacy profile importing for some reason other than those identified by the other error messages listed in this appendix.
Proximity Errors
NEAR requires at least two operands—Problematic proximity operator—at least two operands required
The category the Legacy Profile task is importing contains an expression in which a proximity operator occurs with only one operand.
The proximity operators NEAR
, PARAGRAPH
, and SENTENCE
require two or more words or phrases to be within a specified distance from each other.
Unrecognized
The category the Legacy Profile task is importing contains an expression in which it does not recognize the usage of the NEAR
operator. This error can occur for one of the following reasons:
-
the VQL category input is corrupt
-
the usage of
NEAR
is unsupported. For example, the Legacy Profile task does not convert nestedNEAR
statements such as:
dog <NEAR/10> (kennel <NEAR/10> bone)
Adjacent NEAR values should not be different
The category the Legacy Profile task is importing contains an expression in which the distances specified for NEAR
operators are not identical. For example:
dog <NEAR/10> kennel <NEAR/5> bone
If the proximity operator NEAR
occurs adjacent to another occurrence of NEAR
in an expression, the distance specified between operands by each use of NEAR must be the same.
Adjacent SENTENCE operators
The proximity operator SENTENCE
occurs adjacent to another instance of SENTENCE
in an expression. This expression is not valid VQL. For example:
dog <SENTENCE> cat <SENTENCE> fish
ORDER must come directly before another operator
The category the Legacy Profile task is importing contains an expression in which the ORDER
operator does not occur immediately before another operator.
The ORDER operator must apply to another operator. ORDER is followed by an unsupported operator
The category the Legacy Profile task is importing contains an expression in which the ORDER
operator does not occurs immediately before a proximity operator.
The ORDER
operator can apply only to the proximity operators NEAR
, PARAGRAPH
, and SENTENCE
.
Unable to process <ORDER><NEAR>
The category the Legacy Profile task is importing contains an expression in which the ORDER
operator occurs immediately before a NEAR
operator that does not specify a distance.
When the ORDER
operator applies to the proximity operator NEAR
, there must be some distance included for NEAR
(for example, <NEAR/5>
).
Boolean Operator Errors
Unmatched brackets
The category that the Legacy Profile task is importing contains a closing bracket that is missing a corresponding opening bracket. For example:
(dogs) <OR> cats)
NOT cannot be terminal—Problematic NOT/Bracket—single operand required
The category the Legacy Profile task is importing contains an expression in which NOT
is not followed by a Boolean expression.
The NOT
operator must occur before the Boolean expression that it applies to.
NOTE: The NOT
, AND
, and OR
operators, unlike other operators, do not need to occur in angle brackets (<OR>
and OR
are both valid). For this reason, you must put occurrences of the word or or and that you do not want to use as operators into double quote marks (“or”
, “and”
). This error message often returns when the word or or and occurs without quotation marks.
Prefix unavailable for comma, OR, AND and IN
The category that the Legacy Profile task is importing contains an expression in which one of the operators below appears to be used in prefix form.
Some operators can occur either as infixes to their operands or as prefixes. Because of potential ambiguities, the Legacy Profile task does not accept these operators as prefixes:
, OR AND IN
NOTE: The NOT
, AND
, and OR
operators, unlike other operators, do not need to occur in angle brackets (<OR>
and OR
are both valid). For this reason, you must put occurrences of the word or or and that you do not want to use as operators into double quote marks (“or”
, “and”
). This error message often returns when the word or or and occurs without quotation marks.
Problematic AND/OR—at least two operands required
The category that the Legacy Profile task is importing contains an expression in which the OR
or AND
operator has only one operand. For example:
dog AND
The OR
and AND
operators must apply to at least two operands (for example dog AND cat
).
NOTE: The NOT
, AND
, and OR
operators, unlike other operators, do not need to occur in angle brackets (<OR>
and OR
are both valid). For this reason, you must put occurrences of the word or or and that you do not want to use as operators into double quote marks (“or”
, “and”
). This error message often returns when the word or or and occurs without quotation marks.
Field Restriction Errors
Nested IN operators
The category the Legacy Profile task is importing contains an expression in which an IN
operator is nested within another IN
expression. For example:
dog <IN> (pet <IN> animal)
The IN
operator requires that a word or phrase occurs in a specified field. For example, dog <IN> pet
is matched only if the word dog
occurs in the pet
field. Because nested fields cannot exist, it is not possible to nest IN
operators.
Invalid use of IN operator—Problematic IN—two operands required
The category the Legacy Profile task is importing contains an expression in which the task cannot determine the expression and field operands for an IN
operator.
The IN
operator requires word or phrase to occur in a specified field, with two operands in the correct order: an expression (which defines the words or phrases to look for) and the field in which it must occur.
Problematic IN—single field required
The category the Legacy Profile task is importing contains an expression in which more than one field operand appears to be specified for an IN
operator.
The IN
operator requires word or phrase to occur in a specified field, with two operands in the correct order: an expression (which defines the word or phrase to look for) and the field in which it must occur.
Word and Phrase Errors
Mismatched quotes
The category the Legacy Profile task is importing contains an expression in which an operator in angular brackets occurs within double quote marks. For example:
"dogs <AND> cats"
Double quote marks indicate words or phrases that are used without modification (for example, to indicate that a word must be matched exactly, or a phrase containing and, or
or not
are not used as a Boolean expression).
While it is possible the expression "dogs <AND> cats"
is correct and valid, it is more likely to be a corrupt form of an expression such as:
"dogs" <AND> "cats"
Unmatched quotes
The category the Legacy Profile task is importing contains an odd number of double quote marks.
Unable to resolve WORD/PHRASE—Word/Phrase has children
The category the Legacy Profile task is importing contains an expression with the WORD
or PHRASE
operator used in a way that the task cannot parse.
Invalid use of WORD operator
The category the Legacy Profile task is importing contains an expression in which the WORD
operator occurs before more than one word.
The WORD
operator must occur before a single word.
Invalid use of PHRASE operator
The category the Legacy Profile task is importing contains an expression in which the PHRASE
operator does not appear to be followed by the components of a phrase.
The PHRASE
operator must be followed by the components of a phrase.
Unsupported use of PHRASE operator—Unrecognized use of PHRASE
The category the Legacy Profile task is importing contains an expression in which the PHRASE
operator occurs before elements from which the task cannot build a phrase.
The PHRASE
operator builds phrases from one or more words or phrases or a comma-separated list of OR
ed words or phrases.
Expression Errors
VQL is not in conjunctive IN format
The conjunctive in format requires that each line of VQL consists of one or more component expressions that are connected with the AND
operator.
Each component must exclude the IN
operator, or be of the form expression <IN>
field, where expression excludes the IN
operator. For example:
expression A
In this example, expression A
does not use the IN
operator.
(expression A) AND (expression B) AND (expression C)
In this example, expression A
, expression B
and expression C
do not use the IN
operator.
(expression A) AND (expression B <IN> field1) AND (expression C)
In this example, expression A
, expression B
and expression C
do not use the IN
operator. Note that while expression B
is part of an IN
expression, it does not itself use the IN
operator.