RDF Schema explained

RDF Schema
Long Name:Resource Description Framework Schema
Status:W3C Recommendation
Year Started:[1] [2]
Version:1.1 (Recommendation)
Version Date:[3]
Abbreviation:RDFS

RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS,, 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. It uses various forms of RDF vocabularies, intended to structure RDF resources. RDF and RDFS can be saved in a triplestore, then one can extract some knowledge from them using a query language, like SPARQL.

The first version[4] was published by the World-Wide Web Consortium (W3C) in April 1998, and the final W3C recommendation was released in February 2014. Many RDFS components are included in the more expressive Web Ontology Language (OWL).

Terminology

RDFS constructs are the RDFS classes, associated properties and utility properties built on the vocabulary of RDF.[5] [6] [7]

Classes

Represents the class of everything. All things described by RDF are resources.
  • An rdfs:Class declares a resource as a class for other resources.A typical example of an rdfs:Class is in the Friend of a Friend (FOAF) vocabulary.[8] An instance of is a resource that is linked to the class using the property, 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 is recursive: is the class of classes, and so it is an instance of itself.
    rdfs:Class    rdf:type        rdfs:Class
    

    The other classes described by the RDF and RDFS specifications are:

    literal values such as strings and integers. Property values such as textual strings are examples of RDF literals. Literals may be plain or typed.
  • the class of datatypes. is both an instance of and a subclass of . Each instance of is a subclass of .
  • the class of XML literal values. is an instance of (and thus a subclass of).
  • the class of properties.

    Properties

    Properties are instances of the class and describe a relation between subject resources and object resources. When used as such a property is a predicate (see also RDF: reification).

    the rdfs:domain of an declares the class of the subject in a triple whose predicate is that property.
  • the rdfs:range of an declares the class or datatype of the object in a triple whose predicate is that property.
  • For example, the following declarations are used to express that the property relates a subject, which is of type, to an object, which is of type :

    ex:employer	  rdfs:domain  	  foaf:Person
    ex:employer	  rdfs:range	  foaf:Organization
    
    Given the previous two declarations, from the triple:
    ex:John		  ex:employer	  ex:CompanyX
    
    can be inferred (resp. follows) that is a, and is a .
    a property used to state that a resource is an instance of a class. A commonly accepted QName for this property is "a".[9]
  • allows declaration of hierarchies of classes.[10]
  • 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 the next section) from a class to its subclasses.
    an instance of that is used to state that all resources related by one property are also related by another.
  • an instance of that may be used to provide a human-readable version of a resource's name.
  • an instance of that may be used to provide a human-readable description of a resource.
  • Utility properties

    an instance of that is used to indicate a resource that might provide additional information about the subject resource.
  • an instance of that is used to indicate a resource defining the subject resource. This property may be used to indicate an RDF vocabulary in which a resource is described.
  • RDFS entailment

    An entailment regime defines whether the triples in a graph are logically contradictory or not. RDFS entailment [11] is not very restrictive, i.e. it does not contain a large amount of rules (compared, for example, to OWL) limiting what kind of statements are valid in the graph. On the other hand it is also not very expressive, meaning that the semantics that can be represented in a machine-interpretable way with the graph is quite limited.

    Below in a simple example of the capabilities and limits of RDFS entailment, we start with a graph containing the following explicit triples:

    foo:SomeGiraffe rdf:type bar:Animal.
    foo:SomeElephant rdf:type bar:Elephant.
    foo:SomeZoo rdf:type bar:Zoo.
    bar:livesInZoo rdfs:domain bar:Animal.
    bar:livesInZoo rdfs:range bar:Zoo.
    foo:SomeElephant bar:livesInZoo foo:SomeZoo.
    
    Without enabling inferencing with RDFS entailment, the data we have does not tell us whether foo:SomeElephant is a bar:Animal. When we do RDFS-based inferencing, we will get the following extra triple:
    foo:SomeElephant rdf:type bar:Animal.
    
    The rdfs:domain statement dictates that any subject in triples where bar:livesInZoo is the predicate is of type bar:Animal. What RDFS entailment is not able to tell us is the relationship between bar:Animal and bar:Elephant. Due to inferencing we now know that foo:SomeElephant is both bar:Animal and bar:Elephant so these classes do intersect but there is no information to deduce whether they merely intersect, are equal or have a subclass relationship.

    In RDFS 1.1, the domain and range statements do not carry any formal meaning and their interpretation is left up to the implementer. On the other hand in the 1.2 Working draft they are used as entailment rules for inferencing the types of individuals. Nevertheless in both versions, it is very clearly stated that the expected functionality of range is "the values of a property are instances of one or more classes" and domain "any resource that has a given property is an instance of one or more classes".

    The example above demonstrated some of the limits and capabilities of RDFS entailment, but did not show an example of a logical inconsistency (which could in layman terms be interpreted as a "validation error"), meaning that the statements the triples make are in conflict and try to express contradictory states of affairs. An example of this in RDFS would be having conflicting datatypes for objects (e.g. declaring a resource to be of type xsd:integer and being also declared to be xsd:boolean when inferencing is enabled).

    Examples of RDF vocabularies

    RDF vocabularies represented in RDFS include:

    See also

    External links

    Notes and References

    1. Web site: Resource Description Framework (RDF) Schemas. W3C. 1998-04-09. 2021-04-23. RDF Schema Working Group. W3C Working Draft. Dan. Brickley. Ramanathan V.. Guha. Ramanathan V. Guha. Andrew. Layman.
    2. Web site: RDF Schema 1.1 Publication History - W3C. W3C. n.d.. 2021-04-23.
    3. Web site: RDF Schema 1.1. W3C. RDF Working Group. 2014-02-25. 2021-04-23. 1.1. Dan. Brickley. Ramanathan V.. Guha. Ramanathan V. Guha.
    4. Web site: XML and Semantic Web W3C Standards Timeline-History . dead . https://web.archive.org/web/20130424125723/http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf. 2012-03-21. 2013-04-24. 2021-04-23. Bikakis N.. Tsinaraki C.. Gioldasis N.. Stavrakantonakis I.. Christodoulakis S..
    5. Web site: Chapter 3: RDF Schema. https://web.archive.org/web/20210424045012/https://www.csee.umbc.edu/courses/graduate/691/fall17/01/notes/05_rdfs/05rdfs.pdf. csee.umbc.edu. UMBC's Department of Computer Science and Electrical Engineering. 2021-04-24. 2017. 2021-04-24.
    6. Web site: XML: Looking at the Forest Instead of the Trees § 7.1. Triples in RDF/XML. https://web.archive.org/web/20210114233612/https://www.iro.umontreal.ca/~lapalme/ForestInsteadOfTheTrees/HTML/ch07s01.html. Guy. Lapalme. Université de Montréal. 2021-01-14. 2002. 2021-04-24.
    7. Web site: RDF Meta Model and Schema. https://web.archive.org/web/20190712125926/http://www.cs.cornell.edu/courses/cs431/2008sp/Lectures/public/lecture_03_31_08.pdf. Carl. Lagoze. Cornell University. 2019-07-12. 2008-03-31. 2021-04-24.
    8. Web site: FOAF Vocabulary Specification 0.99. xmlns.com. The FOAF Project. 2014-01-14. 2021-04-23. Dan. Brickley. Libby. Miller.
    9. Book: DuCharme, Bob . Learning SPARQL . 2011 . . Sebastopol, California, United States . 9781449306595 . 36 .
    10. Web site: RDF 1.1 Primer. 2014-06-24. 2021-04-23. W3C. Working Group Note. RDF Working Group. Guus. Schreiber. Yves. Raimond. Frank. Manola . Eric. Miller . Brian. McBride.
    11. Web site: https://www.w3.org/TR/rdf12-semantics/#rdfs_entailment.
    12. Web site: DCMI: DCMI Metadata expressed in RDF Schema Language. Dublin Core Metadata Initiative. dublincore.org. 20 January 2020 . 2000. 2021-04-23.
    13. Web site: Schema.org core schema. https://web.archive.org/web/20200510085216/http://schema.org/docs/schema_org_rdfa.html. unfit. Schema.org. Schema.org. schema.org. 2020-05-10. n.d.. 2021-04-24.
    14. Web site: Informatively redirect accesses to retired file schema_org_rdfa.html · Issue #2656 · schemaorg/schemaorg. GitHub. Richard. Wallis. 2020-07-17. 2021-04-24.
    15. Web site: SKOS XL Vocabulary. https://web.archive.org/web/20200227152630/https://www.w3.org/2009/08/skos-reference/skos-xl.rdf. Alistair. Miles. Sean. Bechhofer. 2020-02-27. 2009-08-18. 2021-04-24.
    16. Web site: MADS/RDF Primer. Library of Congress. Library of Congress. MADS/XML community, MODS Editorial Committee. Library of Congress. n.d.. 2021-04-24.
    17. Web site: UniProt RDF schema ontology. UniProt. UniProt. UniProt. n.d.. 2021-04-24.