I've been reading about Semantic Web technologies such as RDF/RDFS and "ontology", but was wondering how each of these are related? At the moment the terms all seem interchangeable, or I'm not understanding a fundamental concept here.
RDF Schema (RDFS) is a language for writing ontologies. An ontology is a model of (a relevant part of) the world, listing the types of object, the relationships that connect them, and constraints on the ways that objects and relationships can be combined.
RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, RDF(S), RDF-S, or RDF/S) is a set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the description of ontologies.
RDF Schema is written in RDF using the terms described in this document. These resources are used to determine characteristics of other resources, such as the domains and ranges of properties. The RDF Schema class and property system is similar to the type systems of object-oriented programming languages such as Java.
RDF is a data model that provides a way to express simple statements about resources, using named properties and values. The RDF Vocabulary Description Language 1.0 (or RDF Schema or RDFS) is a language that can be used to define the vocabulary (i.e., the terms) to be used in an RDF graph.
RDF is a concept or a way of describing things. The concept of RDF is that you are describing / defining anything using sets of THREE terms. Ex: "Ana has apples", "Apples are tasty", these two strings are perfectly valid RDF descriptions (conceptually speaking). In doesn't matter where and how you store described data, in files, or papers, or drawings on the sand, or paintings on a wall. The main important thing is that the data is described as triples (using the RDF concept). The semantic web is built using this concept (RDF).
Note: A vocabulary is just a set of term definitions stored in files or somewhere else. These terms have the purpose to be generally reused for describing data. So, you have your data, you have a vocabulary, now you can start adding descriptions to your data using the terms from the vocabulary.
RDF is a standard vocabulary that provides a set of terms. You can see the vocabulary here
The terms provided by the RDF vocabulary help you make some basic standard descriptions like this:
Let's say you have the following data: "Ana" and "Person". So, to describe in a standard semantic web manner that your "Ana" is a "Person", you have to store the following triple somewhere:
PREFIX rdf:<https://www.w3.org/1999/02/22-rdf-syntax-ns> <http://yourdomain.com/Ana> rdf:type <http://yourdomain.com/Person>
The "rdf:type
" term is defined in the RDF vocabulary and whenever you are using it you are describing the fact that the data that is in front of it (the subject) is an instance of the data (class) that is placed after it (the object).
In general the RDF vocabulary provides terms for creating basic descriptions of instances of classes.
RDFS is a standard vocabulary just like RDF. If in the RDF vocabulary you have terms that help you give a basic definition/description of instances, in the RDFS vocabulary you have terms that help you define/describe classes. For example you have the definition of the term rdfs:subClassOf. With this term you can describe the fact that a class is a subclass of another.
PREFIX rdfs:<https://www.w3.org/2000/01/rdf-schema#> <http://yourdomain.com/Teacher> rdfs:subClassOf <http://yourdomain.com/Person>
So, RDF has terms for creating instances, RDFS has terms for creating classes. By using both you can start making more detailed descriptions of your data. If you want to make even more complex descriptions, than you can use OWL which is just another vocabulary that provides a set of terms able to do that. OWL terms are defined using RDF and RDFS terms.
Note: Some RDF terms are defined using RDFS terms, and some RDFS terms are defined using RDF terms. You can check the links to the vocabularies if you want.
"Ontology" is just another name for "vocabulary". These two are the same thing. You could think of an ontology as a more complex vocabulary, but this is not a rule. This is from the official site:
'There is no clear division between what is referred to as “vocabularies” and “ontologies”.'
RDF, RDFS, and ontology are not interchangeable terms. RDF (Resource Description Framework), is a conceptual data model which can be rendered physically (serialized) using various formats such N3, Turtle, RDF/XML, etc.
RDFS (RDF Schema) is "a general-purpose language for representing simple RDF vocabularies on the Web." [1].
The elements of RDFS can be used to construct an ontology. Of course, if you want more expressive power for ontology and you need to encode some properties that cannot be done using RDFS elements, you always have the OWL option.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With