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.
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)
}
}
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 |
Copyright 2025 Samsung All rights reserved