public boolean semanticEquals(Expression other) {
        return this.getClass() == other.getClass() && checkSemantic(this.args(), other.args());
    }
Returns true when two expressions will always compute the same result, even if they differ
cosmetically (i.e. capitalization of names in attributes may be different).
indexr-query-opt/src/main/java/io/indexr/query/expr/Expression.java