Skip to content

XOR operator

A combination of two expressions made with the XOR operator is true if any expression is matched and the other is not matched anywhere within the scope of the rule. The difference with the AND NOT operator is subtle: an AND NOT combination is true if the first expression is matched and the second is not, a XOR combination is true if any of the two expressions is matched while the other is not.

Consider the following example:

SCOPE SENTENCE
{
    DOMAIN(dom1:NORMAL)
    {
        KEYWORD("uncased well")
        XOR
        ANCESTOR(13769)//  13769: bore-hole, bore, borehole, drill hole
    }
}

The rule's condition is the combination of a KEYWORD attribute and an ANCESTOR attribute. It will match the portion of input text delimited by rule's scope, if it contains at least a token having its literal value set to uncased well or at least a token from a concept which descends from syncon 13769.

Consider this text:

A simple method is presented to estimate the distribution of temperature around an uncased well at any time. A method of determining temperature around the wellbore during the drilling period has been adopted from the literature and is extended to the period by superpositioning in the time domain the effect of temperature change.

The first sentence contains:

uncased well = keyword "uncased well", once

The second sentence contains:

wellbore = concept descending from syncon 13769, once

The rule's condition is thus met twice and the rule is triggered twice.

When an uncased well is put into production, the pressure in the wellbore is lower than the pore pressure

Since uncased well and wellbore are in the same sentence, the rule is not triggered: both operands are true (in the rule's scope).

See the topic about the OR operator to compare this behavior to the behavior that could be observed, if the same sample sentence were analyzed with the same rule, but with the OR operator.

Note

As shown with these examples, the exclusive OR is a peculiar operator defining very strict conditions in a rule. The user is advised to use it only when strictly necessary.

As for AND, AND NOT and OR, the XOR operator can be used to combine positional sequences and combinations of attributes.

The syntax is:

expression
XOR
expression

where XOR is a language keyword and must be written in uppercase.