Since we spent two chapters discussing how to create RDF vocabularies using a combination of RDF and RDFS elements (Chapter 5 and Chapter 6), you may be wondering why we would need an ontology on top of this. What can ontology provide that the RDF Schema doesn't?
RDFS imposes fairly loose constraints on vocabularies. For instance, there's nothing in the schema that restricts the cardinality of a specific property or that provides information that two properties are disjoint (i.e., can't use one when using the other). An ontology language such as OWL adds additional constraints that increase the accuracy of implementations of a given vocabulary. More than that, though, they allow additional information to be inferred about the data, though it may not be specifically recorded.
RDFS provides properties, such as subClassOf, that define relationships between two classes?one is a subclass of, or inherits from, a second class. This also applies to an ontology language, but it can add additional class characteristics, such as its uniqueness, that aren't defined within RDFS.
We can develop a vocabulary, an ontology if you will, using just RDFS, but it won't be as precise or as comprehensive as one that also incorporates ontological elements from DAML+OIL/OWL; the more precise you are with data specification, the better off you'll be.