Why we need ontology? when there is a RDF

Hi all, Could you please describe why we need ontology or OWL. When we are represeting data from RDF.

is that means that RDF cannot be machine proccessable? if we cannot use OWL

As an example, vocabularies, ontologies, etc, help you and the machine in discovering new relationships that are not physically in the data that is described by RDF but is there in a "hidden" format. A typical case is if you describe subclass relationship between two classes then, via the associated 'rules' on subclasses, additional typing information can be deduced. In other cases vocabularies may help you finding inconsistencies in your data.

But you have to be careful... this does not necessarily mean that you have to use the full power of OWL for these, or that you have to build complex OWL ontologies. RDFS may be all you need; alternatively, SKOS or a very restricted form of OWL (e.g, OWL-RL) may be enough. In some other cases, due to the complexity of the application and the data you manage, complex OWL ontologies and reasoners may become necessary. Again in other cases you might be happy using a simple vocabulary plus one or two attached rules using RIF, SWRL, or N3... it all depends on your application!

Ignoring the OWL-part of your question, ontology is one of the things you can do with RDF. You can do ontology without RDF (e.g. Common Logic, First Order Logic, LISP, SKOS, Datalog), and you can use RDF without doing ontology (e.g. creating a graph database).

The OWL-part, then, is a particular package of language and logic that many people use to do ontology. I tend to do ontology in RDF without OWL, leaning on things like Jena rules, but there are plenty of times when it's convenient to leverage OWL content (e.g. owl:disjointWith).