RDF Schema

Last updated
RDF Schema
Resource Description Framework Schema
AbbreviationRDFS
Status W3C Recommendation
Year startedJanuary 5, 1999;24 years ago (1999-01-05) [1] [2]
First publishedApril 30, 2002;21 years ago (2002-04-30) [2]
Latest version1.1 (Recommendation)
February 25, 2014;9 years ago (2014-02-25) [3]
Organization
Editors
Base standards RDF
Related standards
Domain
Website www.w3.org/TR/rdf-schema/

RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, RDF(S), 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.

Contents

The first version [1] [4] was published by the World-Wide Web Consortium (W3C) in April 1998, and the final W3C recommendation was released in February 2014. [3] 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

rdfs:Resource
Represents the class of everything. All things described by RDF are resources.
rdfs:Class
An rdfs:Class declares a resource as a class for other resources.

A typical example of an rdfs:Class is foaf:Person in the Friend of a Friend (FOAF) vocabulary. [8] An instance of foaf:Person is a resource that is linked to the class foaf:Person using the rdf:type 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 rdfs:Class is recursive: rdfs:Class 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:

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

Properties

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

rdfs:domain
the rdfs:domain of an rdf:Property declares the class of the subject in a triple whose predicate is that property.
rdfs:range
the rdfs:range of an rdf:Property 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 ex:employer relates a subject, which is of type foaf:Person, to an object, which is of type foaf:Organization:

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 ex:John is a foaf:Person, and ex:CompanyX is a foaf:Organization.

rdf:type
a property used to state that a resource is an instance of a class. A commonly accepted QName for this property is "a". [9]
rdfs:subClassOf
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.

rdfs:subPropertyOf
an instance of rdf:Property that is used to state that all resources related by one property are also related by another.
rdfs:label
an instance of rdf:Property that may be used to provide a human-readable version of a resource's name.
rdfs:comment
an instance of rdf:Property that may be used to provide a human-readable description of a resource.

Utility properties

rdfs:seeAlso
an instance of rdf:Property that is used to indicate a resource that might provide additional information about the subject resource.
rdfs:isDefinedBy
an instance of rdf:Property 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, by using RDFS (or OWL, etc.), not only which entailment relation is used, but also which queries and graphs are well-formed for the regime. The RDFS entailment is a standard entailment relation in the semantic web. [11]

For example, the following declares that 'Dog1 is an animal', 'Cat1 is a cat', 'zoos host animals' and 'Zoo1 hosts the Cat2':

ex:dog1  rdf:type  ex:animal ex:cat1  rdf:type  ex:cat zoo:host rdfs:range  ex:animal ex:zoo1  zoo:host  ex:cat2 

The graph is not well-formed because the system can not guess that a cat is an animal. To make a well-formed graph, the statement 'Cats are animals' can be added:

ex:cat  rdfs:subClassOf  ex:animal 

Here is a correct example:

In EnglishThe graph
  • Dog1 is an animal
  • Cat1 is a cat
  • Cats are animals
  • Zoos host animals
  • Zoo1 hosts the Cat2
Regime entailment basic Regime entailment basic.svg
Regime entailment basic
RDF/turtle
@prefixrdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefixrdfs:<http://www.w3.org/2000/01/rdf-schema#>.@prefixex:<http://example.org/>.@prefixzoo:<http://example.org/zoo/>.ex:dog1rdf:typeex:animal.ex:cat1rdf:typeex:cat.ex:catrdfs:subClassOfex:animal.zoo:hostrdfs:rangeex:animal.ex:zoo1zoo:hostex:cat2.

If the triplestore (or RDF database) implements the regime entailment of RDF and RDFS, the SPARQL query as follows (the keyword "a" is equivalent to rdf:type in SPARQL):

PREFIXex:<http://example.org/>SELECT?animalWHERE{?animalaex:animal.}

The following gives the result with cat1 in it, because the Cat's type inherits of Animal's type:

animal
<http://example.org/dog1>
<http://example.org/cat1>
<http://example.org/cat2>

Examples of RDF vocabularies

RDF vocabularies represented in RDFS include: [10]

See also

Related Research Articles

<span class="mw-page-title-main">Semantic Web</span> Extension of the Web to facilitate data exchange

The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.

The Resource Description Framework (RDF) is a World Wide Web Consortium (W3C) standard originally designed as a data model for metadata. It has come to be used as a general method for description and exchange of graph data. RDF provides a variety of syntax notations and data serialization formats, with Turtle currently being the most widely used notation.

The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects.

SPARQL is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 was acknowledged by W3C as an official recommendation, and SPARQL 1.1 in March, 2013.

<span class="mw-page-title-main">FOAF</span> Semantic Web ontology to describe relations between people

FOAF is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.

RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The Resource Description Framework (RDF) data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents.

Simple Knowledge Organization System (SKOS) is a W3C recommendation designed for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is part of the Semantic Web family of standards built upon RDF and RDFS, and its main objective is to enable easy publication and use of such vocabularies as linked data.

<span class="mw-page-title-main">RDFLib</span> Python library to serialize, parse and process RDF data

RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information. This library contains parsers/serializers for almost all of the known RDF serializations, such as RDF/XML, Turtle, N-Triples, & JSON-LD, many of which are now supported in their updated form. The library also contains both in-memory and persistent Graph back-ends for storing RDF information and numerous convenience functions for declaring graph namespaces, lodging SPARQL queries and so on. It is in continuous development with the most recent stable release, rdflib 6.1.1 having been released on 20 December 2021. It was originally created by Daniel Krech with the first release in November, 2002.

An RDF query language is a computer language, specifically a query language for databases, able to retrieve and manipulate data stored in Resource Description Framework (RDF) format.

<span class="mw-page-title-main">Semantically Interlinked Online Communities</span>

Semantically Interlinked Online Communities Project is a Semantic Web technology. SIOC provides methods for interconnecting discussion methods such as blogs, forums and mailing lists to each other. It consists of the SIOC ontology, an open-standard machine-readable format for expressing the information contained both explicitly and implicitly in Internet discussion methods, of SIOC metadata producers for a number of popular blogging platforms and content management systems, and of storage and browsing/searching systems for leveraging this SIOC data.

<span class="mw-page-title-main">Blank node</span>

In RDF, a blank node is a node in an RDF graph representing a resource for which a URI or literal is not given. The resource represented by a blank node is also called an anonymous resource. According to the RDF standard a blank node can only be used as subject or object of an RDF triple.

The Rule Interchange Format (RIF) is a W3C Recommendation. RIF is part of the infrastructure for the semantic web, along with (principally) SPARQL, RDF and OWL. Although originally envisioned by many as a "rules layer" for the semantic web, in reality the design of RIF is based on the observation that there are many "rules languages" in existence, and what is needed is to exchange rules between them.

N-Triples is a format for storing and transmitting data. It is a line-based, plain text serialisation format for RDF graphs, and a subset of the Turtle format. N-Triples should not be confused with Notation3 which is a superset of Turtle. N-Triples was primarily developed by Dave Beckett at the University of Bristol and Art Barstow at the World Wide Web Consortium (W3C).

The Semantic Web Stack, also known as Semantic Web Cake or Semantic Web Layer Cake, illustrates the architecture of the Semantic Web.

The FAO geopolitical ontology is an ontology developed by the Food and Agriculture Organization of the United Nations (FAO) to describe, manage and exchange data related to geopolitical entities such as countries, territories, regions and other similar areas.

XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.

JSON-LD is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD. JSON-LD allows data to be serialized in a way that is similar to traditional JSON. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group for review, improvement, and standardization, and is currently maintained by the JSON-LD Working Group. JSON-LD is a World Wide Web Consortium Recommendation.

The European Legislation Identifier (ELI) ontology is a vocabulary for representing metadata about national and European Union (EU) legislation. It is designed to provide a standardized way to identify and describe the context and content of national or EU legislation, including its purpose, scope, relationships with other legislations and legal basis. This will guarantee easier identification, access, exchange and reuse of legislation for public authorities, professional users, academics and citizens. ELI paves the way for knowledge graphs, based on semantic web standards, of legal gazettes and official journals.

In the Semantic Web and in knowledge representation, a metaclass is a class whose instances can themselves be classes. Similar to their role in programming languages, metaclasses in Semantic Web languages can have properties otherwise applicable only to individuals, while retaining the same class's ability to be classified in a concept hierarchy. This enables knowledge about instances of those metaclasses to be inferred by semantic reasoners using statements made in the metaclass. Metaclasses thus enhance the expressivity of knowledge representations in a way that can be intuitive for users. While classes are suitable to represent a population of individuals, metaclasses can, as one of their feature, be used to represent the conceptual dimension of an ontology. Metaclasses are supported in the ontology language OWL and the data-modeling vocabulary RDFS.

Shapes Constraint Language (SHACL) is a World Wide Web Consortium (W3C) standard language for describing Resource Description Framework (RDF) graphs. SHACL has been designed to enhance the semantic and technical interoperability layers of ontologies expressed as RDF graphs.

References

  1. 1 2 3 Brickley, Dan; Guha, Ramanathan V.; Layman, Andrew, eds. (1998-04-09). "Resource Description Framework (RDF) Schemas". W3C. W3C Working Draft. RDF Schema Working Group. Retrieved 2021-04-23.
  2. 1 2 "RDF Schema 1.1 Publication History - W3C". W3C. n.d. Retrieved 2021-04-23.
  3. 1 2 Brickley, Dan; Guha, Ramanathan V., eds. (2014-02-25). "RDF Schema 1.1". W3C. 1.1. RDF Working Group. Retrieved 2021-04-23.
  4. Bikakis N.; Tsinaraki C.; Gioldasis N.; Stavrakantonakis I.; Christodoulakis S., eds. (2012-03-21). "XML and Semantic Web W3C Standards Timeline-History" (PDF). Archived from the original (PDF) on 2013-04-24. Retrieved 2021-04-23.
  5. "Chapter 3: RDF Schema" (PDF). csee.umbc.edu. UMBC's Department of Computer Science and Electrical Engineering. 2017. Archived from the original (PDF) on 2021-04-24. Retrieved 2021-04-24.
  6. Lapalme, Guy (2002). "XML: Looking at the Forest Instead of the Trees § 7.1. Triples in RDF/XML". Université de Montréal . Archived from the original on 2021-01-14. Retrieved 2021-04-24.
  7. Lagoze, Carl (2008-03-31). "RDF Meta Model and Schema" (PDF). Cornell University . Archived from the original (PDF) on 2019-07-12. Retrieved 2021-04-24.
  8. 1 2 Brickley, Dan; Miller, Libby, eds. (2014-01-14). "FOAF Vocabulary Specification 0.99". xmlns.com. The FOAF Project. Retrieved 2021-04-23.
  9. DuCharme, Bob (2011). Learning SPARQL. Sebastopol, California, United States: O'Reilly Media. p. 36. ISBN   9781449306595.
  10. 1 2 Schreiber, Guus; Raimond, Yves; Manola, Frank; Miller, Eric; McBride, Brian, eds. (2014-06-24). "RDF 1.1 Primer". W3C. Working Group Note. RDF Working Group. Retrieved 2021-04-23.
  11. Hayes, Patrick; McBride, Brian (2004-02-10). "RDF Semantics § 4.4 RDFS Entailment". W3C. RDF Core Working Group. Retrieved 2021-04-24.
  12. Dublin Core Metadata Initiative (20 January 2020). "DCMI: DCMI Metadata expressed in RDF Schema Language". dublincore.org (published 2000). Retrieved 2021-04-23.
  13. Schema.org (n.d.). "Schema.org core schema". schema.org. Archived from the original on 2020-05-10. Retrieved 2021-04-24.{{cite web}}: CS1 maint: unfit URL (link)
  14. Wallis, Richard (2020-07-17). "Informatively redirect accesses to retired file schema_org_rdfa.html · Issue #2656 · schemaorg/schemaorg". GitHub. Retrieved 2021-04-24.
  15. Miles, Alistair; Bechhofer, Sean (2009-08-18). "SKOS XL Vocabulary". Archived from the original on 2020-02-27. Retrieved 2021-04-24.
  16. Library of Congress; et al. (MADS/XML community, MODS Editorial Committee) (n.d.). "MADS/RDF Primer". Library of Congress. Retrieved 2021-04-24.
  17. UniProt (n.d.). "UniProt RDF schema ontology". UniProt. Retrieved 2021-04-24.