case INTEGER:
return new SesameNumericValue(-a.intValue());
case LONG:
return new SesameNumericValue(-a.longValue());
case FLOAT:
return new SesameNumericValue(-a.floatValue());
case DOUBLE:
// Note: avoids negative zero.
return new SesameNumericValue(0.0 - a.doubleValue());
case DECIMAL:
return new SesameNumericValue(a.decimalValue().negate());