How to specify other relation content in schema

Suppose, I have a universal association type ConsistOf. Space rocket consists of three stages, each consist of engine and propellant. A phrase consists of subject and predicate. "Space rocket", "stage", "engine", "propellant", "subject", "prediacate" are all content types.
But a rocket consisting of subject and predicate has no sense. As well as a phrase consisting of engine and propellant. So, how can I restrict association with the scheme so rockets and phrases get not mixed?
But a rocket consisting of subject and predicate has no sense. As well as a phrase consisting of engine and propellant. So, how can I restrict association with the scheme so rockets and phrases get not mixed?