If you specify property constraints for a class, they apply to all its instances - direct or indirect through subclasses.
If you want to use a property only with instances of A and B and not with C, then specify it for A and B only instead of using superclass common with C.
OWL restrictions work the same way. They apply to all instances. Thus, you can’t override them in the subclasses. You can put additional restrictions/constraints for subclasses but not negate the one for the parent.
By contrast, RDFS domains have very different semantics. They do not constrain anything. They simply infer based on property values that an instance is a member of a class. They are not meant to say that property values should exist or be of certain kind, but only that if they do, then an inference can be made about resource’s type. Thus, saying that a property has Superclass in its domain, does not commit you to instances of any given subclass having these values.
For example, you could have an Organization, with subclasses Government Agency, Commercial Organization. Then, hasCEO rdfs:domain:Organization. This means that if you see a resource of unknown type with CEO, you can infer that it is an organization. You would not be able to classify it more specifically with respect of the organization sub type. Nor does it imply that members of Organization subclasses would have CEOs.
Tools would typically put a slot on a form for this property for the class in the domain and all subclasses. This is done by convention, for convenience, etc. but RDFS is not a traditional schema language.
Regards,
Irene