RDF enables to model and formulate knowledge about simple Facts. RDFS allows to model Schemata and Classes and Connections to other Classes and Restriction of Classes.
RDF(S) is not sufficient for a representation of knowledge about the world. Some things can already be represented others can not be represented.
For modeling and representing more complicated knowledge something more than RDF(s) is required.
The problem of this representation is how can one can one represent animals like guinea pigs that in majority only eats Vegetables but not Meat. If guinea pig is an animal and an animal eats vegetables but not meat, it can not be represented properly as one can not exclude on of them. on the other hand there are certain Animals that only eat Meat and there are Animals that eat both. Such Relations are difficult to implement. RDF(S) if one starts with a representation like this is not able to represent things or knowledge like this. Therefore, something of more explicitly, more Semantics is required.
Another example that is even more simple is the class of human, of which Woman and Man are sub class of. but how can one express the Fact that the members of these classes can not be the same in the usual case. This means that these two classes are disjunctive. We do not have the means to express that two giveb Classes are exclusive for their members but rater than disjunctive. One can only be part of one class and not the other. This restriction is not possible to formulate with RDF and RDFS
Woman -SubClassOf-> Human <-SubClassOf- Man
If you tries to create or represent basic Classes from class combinations, RDF(S) has not the possibility to do this. One can not state the fact for instance that Road users consists of the members of several classes (Motorist, Motorcyclist, Pedestrian, Cyclist). I.e. Class Combinations with more restrictions are not possible to make on the bases of RDF(S) Knowledge and representation Language. It is not sufficient enough as we do not have the necessary expressibility in Semantics
On can state humans always have parents, but usually every human has two Parents (i.e. a father and a mother). However this knowledge representation has no means to restrict the number of Parents.
Human -hasParent-> Parent
Also restriction on Properties are not possible, for example
transitive properties like "is greater than":
a is greater than b and
c is greater than b. This property should also hold conditional that
a is greater than c, thus it should be transitive. On the other hand, one should be able to express uniqueness, for instance on has only one mother which is a functional Property. One need to have the possibility to express uniqueness. Also one can state that two Properties are the inverse of each. For example "is parent of" is the contrary of "is child of" (is parent of is inverse of is child of). Each child has a parent and each parent has a child. They are connected with each other which is an inverse Relation: is Parent of <-> is Child of. Somehow we need to have means to express this fact