Basic Properties
Gaffer supports the storage of some common Java objects as properties on entities and edges. Serialisers for these will automatically be added to your schema when you create a graph using a schema that uses these properties.
The standard basic properties are built-in classes from Java. They do not require their serialisers to be specified in a schema.
StringIntegerLongFloatDoubleByte[]BooleanDate
Predicate Support
Basic properties all support these predicates:
AndOrNotIfExistsIsAIsInIsEqualPropertiesFilter
Some properties also support other specialised predicates as shown in the table below. For more information on predicates, see the predicates guide.
| Predicate | String |
Integer |
Long |
Float |
Double |
Byte[] |
Boolean |
Date |
|---|---|---|---|---|---|---|---|---|
InRange |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
InTimeRange |
✅ | |||||||
InDateRange |
✅ | |||||||
IsFalse |
✅ | |||||||
IsTrue |
✅ | |||||||
IsLongerThan |
✅ | ✅ | ||||||
IsShorterThan |
✅ | ✅ | ||||||
MultiRegex |
✅ | |||||||
Regex |
✅ | |||||||
StringContains |
✅ | |||||||
AgeOff |
✅ |
Aggregator Support
Aggregators are also called binary operators. The First and Last binary operators are supported by all basic properties.
Other operators are supported as shown in the table below. For more information on aggregators, see the binary operators guide.
| Aggregator | String |
Integer |
Long |
Float |
Double |
Byte[] |
Boolean |
Date |
|---|---|---|---|---|---|---|---|---|
Max |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
Min |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
StringConcat |
✅ | |||||||
StringDeduplicateConcat |
✅ | |||||||
Product |
✅ | ✅ | ✅ | ✅ | ||||
Sum |
✅ | ✅ | ✅ | ✅ | ||||
And |
✅ | |||||||
Or |
✅ |
Serialiser Support
All properties support the NullSerialiser.
The type of serialiser used for basic properties is automatically selected by Gaffer, based on the type of Gaffer store used. Specifying the exact serialiser to use is therefore optional.
For String there is a StringSerialiser and a StringToStringSerialiser.
The Integer and Long properties both have 'Ordered' and 'CompactRaw' serialisers (e.g. OrderedIntegerSerialiser & CompactRawIntegerSerialiser). The Float and Double properties only have a single 'Ordered' serialiser each.
The Byte[] and Boolean properties each have a specialised serialiser.