- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Mon, 22 Oct 2007 11:33:13 +0100
- To: Alan Ruttenberg <alanruttenberg@gmail.com>
- CC: Story Henry <henry.story@bblfish.net>, Garret Wilson <garret@globalmentor.com>, Semantic Web <semantic-web@w3.org>
I think Frank's comments are very pertinent, and I will add just a little. In a programming framework, or a relational db, quite what a null means varies by context. If you like the name 'null', the Semantic Web framework allows you to make this variation explicit, by defining a different 'null', in the appropriate namespace, for each ontology. So that in your cricket match ontology cricket:null might be defined as rain stopped play (although really, particular in England, that result is so important that it shouldn't be swept under the carpet with a 'null'), whereas in a names and addresses ontology name:null might be defined as 'no data available' (although that is only useful in applications making closed world assumptions). One of my colleagues has an in principle objection to using null as a legal value while programming, and prefers to have explicit objects that represent the various BadValues that are expected. While I am often too lazy to follow this design while programming, I think there is a clarity of thinking involved, which seems the essence of good design, and good modelling. In summary - rather than represent null - think more clearly - and represent the results of clear thought. Using null is an alternative to thinking clearly. I guess I see it as legitimate to choose not to think, and so a null which is defined as approx. 'I stopped thinking here' is clear, and it will be no great surprise when such a null appears rather frequently in the defect tracker! Jeremy
Received on Monday, 22 October 2007 10:33:49 UTC