Enayat Rajabi · 6.98 · 3.89 · University of Alcalá
Briefly, ontology gives you more facilities to define objects and their semantic relationships, while RDFS schema is about defining the Data structure. By RDFS, you can create your data hierarchy and their properties. Instead, in ontology you can say e.g., if A is a subclass of B, what are the other relationships of A to B? and to other classes? A good example could be, defining a sameAs relationship between objects which specified two objects that are semantically related.
Any case, this link may help: http://www.cambridgesemantics.com/semantic-university/rdfs-vs.-owl
Basically, RDFS is built on top of RDF, and OWL is built on top of RDFS.
Any OWL ontology can be serialized using one of RDF formats (RDF/XML, Turtle). There are, however, syntaxes specific to OWL (OWL/XML, Manchester Syntax, Functional Syntax).
See Fig 1. "The Structure of OWL 2" in this link and its description.
They differentiate in the expressive power of representing the knowledge. RDF allows you to link resources (concepts) together so you could say that (Karthik is a person). Think about it as directed graph. However you cant classify objects so you cant say for example that person is a subclass of human-beings.. etc.
RDFS gives you more expressive vocabulary. It allows you to classify resources by using the class and subclass (rdfs:class, rdfs:subclass) notions. It also allows you to set restriction on the properties(relationships) in your domain knowledge using rdfs:Domain and rdfs:range.
Owl allows you to add more restrictions to your knowledge representation. It categorises properties(relationships) into object and data properties and allows you to add restrictions on your properties.
I concur with @Mona but would like to add the following two aspects:
Firstly, every language is an implementation of a meta-model, because it provides you with the language constructs that you use to make your actual model. However, from a philosophical stance, a meta-model equals an ontological commitment: the things in reality that we commit to the existence of. (Yes, that is a difficult sentence that you might want to read again.) Hence, a language implements an ontological commitment. If you look at RDF, you can see that it commits to three distinct things in reality: an object, a relation and a subject. So look around you and try to visualise your environment in these concepts. Then you see that you can almost specify (represent) everything that exists around you in these three terms. However, the representation itself is rather inaccurate in that e.g. a book and the coffee-mug are clear examples of objects, however you probably experience them differently than the coffee itself that, necessarily, is modeled as an object as well. You'd probably agree that the similarity between a coffee-mug and a book is closer than between the coffee-mug and the coffee it holds. So, we might conclude that the more simple an ontological commitment of the language, the less accurate the models that can be expressed by that language. RDFS adds things to that ontological commitment, and OWL even adds more. With these additions, you can differentiate better the distinctions that exist between, e.g., a coffee-mug and the coffee. There are many more languages a.k.a. upper-level ontologies a.k.a. top-level ontologies, and all differ in their ontological commitment. Depending on the reality you need to model for your problem, you should search for the language's ontological commitment that best matches the required accuracy, a.k.a. the language's expressiveness.
Secondly, any language can be used as vehicle to carry data. Here we are looking at the syntactic aspects of the language as vehicle. This is a technological stance on the language that has nothing to do with ontological commitments whatsoever. Computers simply need to know how to serialise and deserialise data, and the syntax of the language are the rules to follow here. Before we had XML, there were a number of syntactic codings to carry data. Currently it is mostly XML, although Turtle and JSON are the newbies on the block. So we had to chose a syntax, and we chose for RDF and RDFS, the syntax that the semantic web is made out of. We could have chosen any other serialisation scheme, but somehow we ended up using these two variants of XML. Now it looks peculiar, but RDFS can be serialised as RDF, and OWL can be serialised as RDFS, hence OWL can be serialised as RDF. Again, this doesn't mean that we have altered the ontological commitment of either OWL or RDF, but simply that we agreed on how to code the OWL specifics into RDFS, and the RDFS specifics into RDF (and RDF into XML). You might want to see this as syntactic sugar, because it is a syntactic conversion only, and definitely NOT a semantic conversion because the semantics are still coded in OWL. We could have chosen Swahili as the syntactic vehicle to transfer our data, but we didn't.
So don't confuse these two very distinct aspects of languages: one for semantic expressiveness, and one for syntactic coding. Both aspects can be filled in with, e.g., RDFS, but both use very distinct functionalities of the RDFS language.
RDFS and OWL are data modelling languages for the description of RDF data. So with RDFS and OWL, you build a knowledge model (or data model) and the knowledge model provides description for data constructed using RDF, usually in the form of a knowledge graph.