Bixby Developer Center

Guides
References

optimistic-join

optional

A join that only returns false or true, treating values that would be uncertain as true.

If any nested constraint returns false, that is the result. Otherwise, the result will be true.

Optimistic joins can be made conditional by wrapping their constraints in if blocks.

Examples

structure (Business) {
property (address) {
type (viv.geo.Address)
}
// ... more properties ...
// Businesses get merged if their name and addresses match in a fuzzy
// way with an "uncertain" tolerance:
equivalence: optimistic-join {
convertible-concepts
equivalent-values (name)
equivalent-values (address)
}
}

This block demonstrates a conditional constraint:

equivalence: optimistic-join {
equal-values (label)
equivalent-values (performer)
equivalent-values (venue)
if (label == 'SingleEvent') {
equivalent-values (events)
}
}

Child Keys

fuzzy-numeric-equality
optional
Constraint that relaxes the equivalence threshold for float values (primitive type decimal)
fuzzy-string-equality
optional
Constraint that relaxes the equivalence threshold for strings (primitive type name)
inherit-predicates
optional
Inherit the equivalent policy from a parent concept
never-equivalent
optional
Never set types equal to each other