How are RDF and RDFS related?
Asked Answered
M

6

39

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.

Motorcycle answered 18/3, 2012 at 0:54 Comment(2)
See answer #1740841Hyaline
I found this post quite informative. <br> #1740841)Ruy
E
47

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

Elecampane answered 25/5, 2016 at 10:26 Comment(3)
I feel sometime ontology is also used as a synonym of OWL.Slingshot
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 DataCess
The last point, though from official sources, doesn't make sense to me. Let me try to substantiate: Going by the definition of "Vocabulary", RDF and RDFS would give us the necessary words or tools. But the sentence or ontology itself is not yet formed. What I'm trying to ask is, wouldn't we need to explicitly use the elements defined in a Vocabulary such as classes, properties, and relationships to actually construct links between entities to have a resultant Ontology?Conventionalism
U
19

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.

Underestimate answered 11/6, 2012 at 11:13 Comment(0)
G
13

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.

Gomphosis answered 19/4, 2015 at 10:57 Comment(3)
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.Slingshot
@Slingshot 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)Somato
@Slingshot 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."Actinology
C
5

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.

Cockneyfy answered 18/11, 2013 at 12:30 Comment(0)
U
2

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?

Upset answered 18/3, 2012 at 10:13 Comment(1)
And another closely related question here: #9545704Leadin
B
1

Ontology is a generic term to make reference to an specification of concepts. RDF and RDF are ontology based languages. RDF is the minimum ontological representation, expresing the relation among two indivuals vía a predicate. RDFS is an extension of RDF that enables subsumption relations.

Bertina answered 16/7, 2019 at 21:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.