Imagine merging to sets of objects with conflicting names.
For example, two people named "alex":
obj1 = RelationalDataset(pos=['a(alex).'], neg=[], facts=['b(alex).', 'c(alex).'])
obj2 = RelationalDataset(pos=['a(alex).'], neg=[], facts=['b(alex).'])
The interpretation is ambiguous, so should probably result in an error/warning:
>>> obj1 | obj2
UniqueNamesAssumptionError: Found 'alex' in `obj1` and `obj2`
If you:
- know these refer to separate entities
- know these refer to the same entities
Then there possible ways to handle this:
>>> with DifferentObjects:
... obj1 | obj2
RelationalDataset(pos=['a(alex1).', 'a(alex2).'], neg=[], facts=['b(alex1).', 'c(alex1).', 'b(alex2).'])
>>> with SameObjects:
... obj1 | obj2
RelationalDataset(pos=['a(alex).'], neg=[], facts=['b(alex).', 'c(alex).'])
See also:
Imagine merging to sets of objects with conflicting names.
For example, two people named "alex":
The interpretation is ambiguous, so should probably result in an error/warning:
If you:
Then there possible ways to handle this:
See also: