| | 3. Define a subclass of River SeaRiver. Use OWL to restrict SeaRiver's | EmptiesInto to have Sea as it's range. In this particular case it doesn't | seem very sensible (a river empties into whatever it comes across, so | there | is no real difference between a sea-river and a river, as far as my | knowledge of geography tells me), but it can be useful elsewhere. Actually the French do make this distinction. They distinguish two types of rivers: rivière and fleuve. A fleuve empties into the sea, whereas a rivière empties into another river or into a lake. On another note, the last solution mentioned by Jon is the cleanest in my book. The fact that for each of these river "types", a restriction holds as to what they empty into is sufficient ground for the creation of subclasses. Another solution would be to create a class BodyOfWater, of which River, Sea and Lake are subclasses. A River can then emptyInto any BodyOfWater, and the specific body is specified at the instance level. BTW: you wouldn't want to say that the Yangtze empties into Sea (which is a class). You need to keep to your level: specify which instance of Sea it empties into, i.e. the EastChinaSea. Regards, Rinke Hoekstra ------------------------------------ Rinke Hoekstra rinke@lri.jur.uva.nl Department of Computer Science & Law University of Amsterdam, PO Box 1030 1000 BA Amsterdam, the Netherlands ------------------------------------ --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.456 / Virus Database: 256 - Release Date: 18-2-2003Received on Monday, 24 February 2003 07:15:34 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:58 GMT