RDF Schema

From Wikipedia, the free encyclopedia

RDFS or RDF Schema is an extensible knowledge representation language, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources. The first version was published by W3C in April 1998, and the final W3C recommendation was released in February 2004. Main RDFS components are included in the more expressive language OWL.

Contents

[edit] Main RDFS constructs

[edit] Classes and subclasses

  • rdfs:Class allows to declare a resource as a class for other resources.

Typical example of an rdfs:Class is foaf:Person in the FOAF vocabulary. An instance of foaf:Person is a resource linked to the class using an rdf:type predicate, such as in the following formal expression of the natural language sentence : 'John is a Person'.

ex:John rdf:type foaf:Person

The definition of rdfs:Class is recursive: rdfs:Class is the rdfs:Class of any rdfs:Class.

  • rdfs:subClassOf allows to declare hierarchies of classes.

For example, the following declares that 'Every Person is an Agent':

foaf:Person rdfs:subClassOf foaf:Agent

Hierarchies of classes support inheritance of a property domain and range (see definitions in next section) from a class to its subclasses.

[edit] Property domain and range

  • rdfs:domain of an rdf:property declares the class of the subject in a triple using this property as predicate.
  • rdfs:range of an rdf:property declares the class or datatype of the object in a triple using this property as predicate.

For example the following declarations are used to express that the property ex:employer is linking a subject which is a foaf:Person, to an object which is a foaf:Organization

ex:employer rdfs:domain foaf:Person

ex:employer rdfs:range foaf:Organization

Given the previous declarations, in the following triple, ex:John is necessarily a foaf:Person, and ex:CompanyX is necessarily a foaf:Organization

ex:John ex:employer ex:CompanyX

[edit] See also

[edit] External links