Do all contained objects have to be there?

Paul and Mark say YES!
Martin and Ivan say NO!
Eddie plays devils advocate – agreeing with Martin but arguing against him. Martin misunderstood and assumed that Eddie was saying something that made sense… he wasn’t 😉

Martin’s solution was even WORSE than bad – that we could pass a novel object type called “NULL” – and we all laughed at him… and he laughed at himself.

The conclusion: Contained objects DO NOT need to be there. The semantics are that if the object is there, and is blank, then the data is known to be blank. If the object is NOT there, this indicates that the service provider does not know what the content should be. So “blank” has meaning, absence also has meaning.

This raises another issue – should we have some way of specifying that an object MUST be there – i.e. is a required field? This would be a change in the registry. The question is, does this “mandatory” flag belong in the object registration or in the service registration, where a service provider says “don’t give me this object unless you are going to give me this property”. We decided that it belongs in the service description, and it should be in the LSID metadata, but NOT in the registry.