How are RDF and RDFS related?

17,735

Solution 1

Basic definitions

  1. RDF is a concept.
  2. RDF is also a NAME of a vocabulary.
  3. RDFS is a NAME of another vocabulary.
  4. "ontology" is just a SYNONYM of the term "vocabulary".

Explanations

  1. RDF is a concept

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).

  1. RDF is a NAME of a vocabulary

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.

  1. RDFS is a NAME of another vocabulary

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.

  1. "ontology" is just a SYNONYM of the term "vocabulary"

"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”.'

Solution 2

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.

Solution 3

RDF and RDFS is not interchangeable.

RDF is based on making statements about resources (web in this case) in the form of subject, predicate and objects expressions (i.e. triples). The subject denotes the resource and the predicate expresses the relationship between the subject and the object. RDF in general is a method of conceptual data modelling.

RDFS provides a mechanism for describing groups of related resources (RDF), and the relation between them. Example of these properties are classes, sub-classes, range and domains.

So in essence, RDFS is a semantic extension of RDF. A person can have an RDF instance of an Animal and Dog, RDFS can specify that Animal is a class and Dog is a sub-class of Animal.

Solution 4

RDF defines the abstract model of subject->predicate->object, and advocates that non-proprietary standards are used for their exchange and description.

The specifics of how this is done is up to the developer; there are many specifications for serialization formats and for writing predicates. Specifications in the latter camp, i.e. those that define a set of predicates, are called vocabularies.

RDFS is one such vocabulary. There are many others: FOAF, OWL, SSN, etc.

Solution 5

RDF is a way of modelling your data. In RDF you model your data in triples to create a graph. In relational databases you model your data in tables that are inter-related. RDFS is for providing schema level information - an analogy to relational databases would be the column fields for your tables.

For more you can check out the answers in this, essentially the same, question: What is the difference between RDF and OWL?

Share:
17,735
Admin
Author by

Admin

Updated on June 02, 2022

Comments

  • Admin
    Admin about 2 years

    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.

  • William Greenly
    William Greenly over 12 years
    And another closely related question here: stackoverflow.com/questions/9545204/…
  • Hibou57
    Hibou57 almost 7 years
    But although class is a rdfs:class, there is an rdf:type`. This make me feel like RDF was not achieved and RDFS came later to achieve it, or I’m missing something.
  • Hibou57
    Hibou57 almost 7 years
    I feel sometime ontology is also used as a synonym of OWL.
  • Niklas Peter
    Niklas Peter over 6 years
    @Hibou57 This is helpful to answer your question: w3.org/TR/rdf-schema/#ch_classes => RDF does not know about classes. It does not require rdf:type to point to a class, but only to a resource. The requirement that rdf:type must point to a class is just made by the RDF-S specification: "rdf:type is an instance of rdf:Property that is used to state that a resource is an instance of a class." (w3.org/TR/rdf-schema/#ch_type) " [RDFSchema] places additional restrictions on the use of type." (w3.org/TR/1999/REC-rdf-syntax-19990222/#model)
  • Chris
    Chris over 5 years
    @Hibou57 I stumbled over the same confusion regarding "rdfs:" and "rdf" and I found the following sentence in the RDF 1.1 Primer: "The fact that the constructs have two different prefixes (rdf: and rdfs:) is a somewhat annoying historical artefact, which is preserved for backward compatibility."
  • toraritte
    toraritte over 2 years
    I believe stating that "ontology and vocabulary mean the same thing" is a serious oversimplification; to paraphrase from the resources at the end of this comment: "An ontolgy describes the common concepts (vocabulary) and relationships between concepts in a domain (i.e., it represents an area of knowledge)". See Owen Conlan's course slides, especially "The Semantic Web" and "Introduction to Ontology" ones at the course From Metadata to Linked Data