|Re: [higgins-dev] Higgins data model for attribute values|
We would have to make some kind of statement to that effect -- that a present attribute with zero values means that it is known that the object explicitly has none of that. So, a present attribute hairColor with zero values would mean we know the person is hairless, thus has an absence of hair color. I wonder if the semantic meaning changes with each attribute? A present attribute of age with no values means the person is dead or unborn?
My memory is slowly returning to previous discussions now... We once came up with a completely different semantic. A present value of password with no value meant that we know the user has a password, and we're willing to produce an attribute with no value so that you may attempt to modify the password, but we're not going to reveal the password value to you. I suppose that could be handled in other way (that attribute could have a value, but an exception is thrown when one attempts to access it).
In the face of access control, I wonder how meaningful any of these statements really are. Whether or not I can see an attribute on a subject, or whether or not I can see any values only means I can't see that data -- this could be due to access control, other policy, or an actual absence of data. If consumers need to differentiate, then we probably need to invent some specific exceptions to throw under various circumstances. Of course, then people will ask for a "don't disclose on error" kind of setting which will prevent the CP from throwing such exceptions, and the consumer will be right back in the same boat.