comparing
The choice of one over the other depends on how much complexity the situation you are modeling requires.
Resource Description Framework (RDF)
Focused on mapping instances to their types (i.e. rdf:type), and the instances’ custom properties
Example of RDF serialized in Turtle:
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
RDF Schema (RDFS)
Builds upon RDF by providing a mechanism for describing groups of related resources (i.e. rdfs:subClassOf, rdfs:range, and/or rdfs:domain). A reasoner can then expand on this. For instance, if you have triples John rdf:type Man and Man rdfs:subClassOf Human then you can generate the triple John rdf:type Human. This is not possible to do with RDF alone.
Example of RDFS serialized in Turtle:
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:Man rdfs:subClassOf :Human .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
# After reasoning
:john rdf:type :Human .
Web Ontology Language (OWL)
Builds upon RDFS (i.e. owl:Class, owl:DatatypeProperty, owl:NamedIndividual, etc). OWL relies heavily on the reasoner, it is possible to express complex constructs such as chained properties for instance, or restrictions between classes. OWL serves to build ontologies or schema on top of RDF datasets.
Example of OWL constructs serialized in Turtle.
@prefix : <http://www.example.org/> .
:livesIn rdf:type owl:DatatypeProperty .
:Human rdf:type owl:Class .
:Man rdf:type owl:Class .
:Man rdfs:subClassOf :Human .
:John rdf:type :Man .
:John rdf:type owl:NamedIndividual .