...
I propose that we add a hygiene rule that checks to see if a subproperty differs only from the superproperty by having only a more restricted domain and range. This may throw up too many false positives, since there is not that much one can say about the meaning of a property in OWL. Sophisticated NLP would help, if the definitions were well written, but that is a bit ambitious. Even with the false positives, it might be useful to find them all and go through them and decide. It would even be possible (thoguh probabaly a bit overkill) to have an annotation that explicitly overrides the convention, then the hygine code can ignore that the next time around.
Examples
There is no need to creaete separate properties for say hasDate, hasAddress, hasAccount, you can instead have restrictions on clases such as "has some Date" "has some Address" and "has some Account".
For dates, it might work the other way around. hasStartDate, hasSubmittedDate etc. Why not apply the above principle? Well, because there is nothing different about a StartDate or a SubmittedDate, so it makes no sense to create classes for those. Just creat a new property with the same range (Date) but which specifies the rel between the thing and the date. There is are real difference in meaning between start date and submitted date.
So in the first case, the difference in meaning is in the classes, and in the second case, the difference in meaning is in the properties.