If one starts with Description Logics, one starts with and empty Ontology and everything is possible. We then constrain this Ontology iteratively, making it more restrictive as we go. So we state what is not possible, what is forbidden and what is excluded by refinement.
For example a sheep is Animal and this Animal has Legs, so all it Limbs are Legs. Although the sheep has much more property, but we do not need to state it. One can start simple by this definition.
If one asks whether Sheep can fly? Given only this definition that Sheeps are animals and all the limbs of a sheep are legs, one has no idea whether a sheep can fly so probably yet. We must and have to assume that it is possible that a Sheep can fly, because we can not entail the Negation from this Knowledge Base.
In the Open World Assumption (OWA), unless we have the Statement or we can infer the Statement that Sheep can or cannot fly, then we have to return don't know possible yes.
In the real world it is quite the same we are used to deal with incomplete information and we refine our Knowledge Base as we go. As we get new information the we adapt.
In the Semantic Web we expect people to extend our models, but we do not worry in advance how they might extend them.
The OWA always assumes incomplete information by default, therefore we can intentionally under-specify our models to reuse them and to extend them.
So for example one can extend the model by the Statement that Sheeps can fly.
Sheep ⊑ Animal ⊓ ∀hasLimbs.Leg
In the real world, we are used to deal with incomplete information
Therefore, we can intentionally underspecify our Models and allow others to reuse and extend
Sheep ⊑ Animal ⊓ ∀hasLimbs.Leg ⊓ canFly
Further Extension possible