The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web. It provides a graph structure for making statements about things. RDF is designed to be read and understood by computers. It is not designed to be displayed to people. RDF is the W3C standard for encoding knowledge. It is a specification that fills a particular niche for decentralized, distributed knowledge and provides a framework to enable computer applications to handle data.

RDF was originally created in 1999 as a standard on top of XML for encoding metadata, e.g. data about data. It is a foundation for processing metadata.

RDF specifies the data model and syntax for sharing knowledge about concepts on the Web. It does not specify how concepts may relate to one another.

RDF has a simple data model, based on triples:

subject predicate object

It is a graph-based formalism for representing metadata, where the subject and the object are things (entities), and the predicate denotes the relationship between them. Each triple represents a fact. The figure below shows Peter to be the subject of the triple, Sofia to be the object, and lives into be the predicate describing the relationship between Peter, the subject, and Sofia, the object of the triple.

The subject and object are nodes and the predicate (e.g. the property) - an arc. Properties are represented as a directed arc, so they are only valid from subject to object.

RDF statements form a graph by being able to share subjects and objects. Also, the subject of one statement can be the object of another and vice versa. For instance, the figure below shows Sofia to be the object of the triple Peter lives in Sofia and the subject of the triple Sofia located in Bulgaria, and Peter to be the subject of both triples: Peter lives in Sofia and Peter has website

Each subject, predicate and object can have a name, a URI. In the RDF model, these values are called RDF resources. So, an RDF triple really looks like this:

Subject Predicate Object

Each resource is uniquely identified on the Web.

RDF graphs can be represented in XML. This is the RDF/XML syntax. XML encoding allows the graphs to be exchanged on the web. The example below shows the representation of the triple Peter lives in Sofia in RDF/XML.

<rdf:RDF xmlns:rdf=""  
<rdf:Description rdf:about=""> 
<ex:location rdf:resource="" /> 

RDF provides a model for making logical statements which could be used for inference tasks. It is aligned to the Web architecture and is simple enough for uptake and usage. However, it does not specify how concepts may relate to one another.

RDF is part of the W3C's Semantic Web Activity. It is a W3C Recommendation.

The Resource Description Framework Schema (RDFS) is an extension of RDF. It allows to define simple ontologies - models about concepts and their properties. They can be used to conclude new knowledge.

The Web Ontology Language (OWL) extends RDFS. It makes richer models of knowledge about things possible, but at the cost of those models being more complex for a computer to process.