RDF Schema
From Wikipedia, the free encyclopedia
RDFS or RDF Schema is an extensible knowledge representation language, providing basic elements for the definition of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources. The first version was proposed in March 1999, 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