Right now, all attributes have a cardinality of many and do not enforce uniqueness. These should both be configurable.
For cardinality, "many" returns all non-retracted facts; "one" returns only the most recent non-retracted fact.
For uniqueness, there should be three types:
- Not unique (the default, current behavior)
- Unique (transactions creating an entity with a duplicate value fail)
- Identity (transactions creating an entity with a duplicate value are converted to updates)
Right now, all attributes have a cardinality of many and do not enforce uniqueness. These should both be configurable.
For cardinality, "many" returns all non-retracted facts; "one" returns only the most recent non-retracted fact.
For uniqueness, there should be three types: