You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dj.U represents the universal set of all possible values AND lineages.
Its attributes are homologous to any namesake as a natural consequence
of containing all lineages, not by bypassing the lineage check.
Copy file name to clipboardExpand all lines: docs/SPEC-semantic-matching.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,9 +112,9 @@ Note: `A - B` is the negated form of restriction (equivalent to `A & ~B`), not a
112
112
113
113
### Universal Set `dj.U`
114
114
115
-
`dj.U(attr1, ..., attrn)` represents the universal set of all possible values for the specified attributes. It has special semantics:
115
+
`dj.U(attr1, ..., attrn)` represents the universal set of all possible values and lineages for the specified attributes.
116
116
117
-
**Homology**: Attributes of `dj.U`are considered **homologous to any namesake attribute**. This is a special case where lineage matching is bypassed.
117
+
**Homology**: Since `dj.U`contains all possible lineages, its attributes are **homologous to any namesake attribute**. This is not bypassing the lineage check—it's a natural consequence of `dj.U` being the universal set.
118
118
119
119
**Valid operations**:
120
120
@@ -748,9 +748,9 @@ WHERE c.contype = 'f'
748
748
749
749
### D10: Universal Set `dj.U` Semantics
750
750
751
-
**Decision**: `dj.U`attributes are homologous to any namesake. Deprecate join (`*`) on `dj.U`.
751
+
**Decision**: `dj.U`represents all possible values and lineages. Deprecate join (`*`) on `dj.U`.
752
752
753
-
**Homology rule**: Attributes of `dj.U`bypass lineage checking — they match any namesake attribute.
753
+
**Homology rule**: Since `dj.U`contains all lineages, its attributes are homologous to any namesake.
754
754
755
755
**Valid operations**:
756
756
-`dj.U('a', 'b') & A` — promotes a, b to PK; lineage transferred from A
@@ -808,7 +808,7 @@ Semantic matching is a significant change to DataJoint's join semantics that imp
808
808
|**D7**: Migration | Utility function + automatic fallback computation |
0 commit comments