[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Multiplicity proposal revised - current priority for this week's telecon
The proposal has been updated with two key changes:
To make entity singletons consistent with attribute singletons (which start with $! ), the $( prefix previously assigned to entity collections is now assigned to entity singletons.
The result is a significant reduction in the complexity of multiplicity syntax, because instead of 4 multiplicity cases requiring 3 special syntaxes, we have reduced it to 3 multiplicity cases requiring only 2 special syntaxes. Those two are now BOTH singletons, so now both of them use $ prefixes -- $! for attribute singletons and $( for entity singletons.
This brings the current proposal much closer to what BillBarnhill was suggesting:
Any member of a set with open multiplicity is expressed as $ instance following that +word or $word, e.g., +tel$!3 for an attribute or +passport$(!3) for an entity.
While it was very tempting to treat singletons as special members of collections that would be identified by the subsegment identifier $! (for an attribute singleton) and $() (for an entity singleton) respectively, there were several major drawbacks to this approach:
Therefore the conclusion was to keep the two multiplicity options - singletons and collections - conceptually and syntactically distinct. Collections are the default and require no special syntax. Only singletons require special syntax. Advantages to this include:
Every literal node in the graph can be identified by looking only at the XDI subject. Any XDI subject whose last subsegment ends in $! MUST be a literal context node, i.e., have zero or one literal node.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]