List of the underlying functions needed. fn:compare(A, B) fn:matches(STRING, PATTERN) fn:not Op_Compare Op_Matches Op_Not Indirections E_Equals E_LessThan E_GreaterThan E_LessThanOrEquals E_GreaterThanOrEquals op:dateTime-equal(A, B) op:dateTime-greater-than(A, B) op:dateTime-less-than(A, B) Op_DateTimeEqual Op_DateTimeGreaterThan Op_DateTimeGreaterThanOrEqual Op_DateTimeLessThan Op_DateTimeLessThanOrEqual op:numeric-add(A, B) op:numeric-divide(A, B) op:numeric-multiply(A, B) op:numeric-subtract(A, B) Op_NumericAdd Op_NumericDivide Op_NumericMultiply Op_NumericSubtract op:numeric-equal op:numeric-equal(A, B) op:numeric-greater-than(A, B) op:numeric-greater-than(A, B) op:numeric-less-than(A, B) op:numeric-less-than(A, B) Op_NumericEquals Op_NumericLessThan Op_NumericLessThanOrEquals Op_NumericGreaterThan Op_NumericGreaterThanOrEquals sop:URI-equal(A, B) Op_UriEquals sop:isBlank(A) sop:isBound(A) sop:isLiteral(A) sop:isURI(A) Op_isBlank == E_isBlank Op_isBound == E_isBound Op_isLiteral == E_isLiteral Op_isURI == E_isURI sop:logical-and(A, B) sop:logical-or(A, B) Op_LogicalAnd == E_LogicalOr Op_LogicalAnd == E_LogicalOr sop:str(A) sop:lang(A) sop:datatype(A) Op_Str == E_Str Op_Lang == E_Lang Op_Datatype == E_Datatype