The Resource Description Framework (RDF) was originally designed as a metadata data model but now part of a family of World Wide Web Consortium (W3C) specifications. It provides a generic methodology for conceptual description or modelling of information which is implemented in web resources. RDF is the standard for encoding metadata and other knowledge on the Semantic Web. This structured information can be used in a distributed and decentralised way.
RDF is based on the idea of making statements about resources in the form of subject-predicate-object expressions, which are known astriples. The best way to grasp this concept is with an example:
“The sky has the colour blue”
…using the form…
“[subject] [predicate] [object]“
There are two concete formats of serialization for RDF data.
The predominant form is an XML format, often simply called RDF. This format is stored with an
.rdf extension and a mime type of
Another form of serializing RDF is the W3C introduced Notation 3 (or N3) format which is non-XML. It is designed to be easier to write by hand, and in some cases easier to follow. The format is based on a tabular notion, making the underlying triples encoded in the documents more easily recognisable.
RDF defines the vocabulary as such:
- rdf:Resource – the class resource, everything.
- rdfs:Literal – the class of literal values, e.g. strings and integers.
- rdf:XMLLiteral – the class of XML literal values.
- rdfs:Class – the class of classes.
- rdf:Property – the class of properties.
- rdfs:Datatype – the class of RDF datatypes.
- rdf:Statement – the class of RDF statements.
- rdf:Alt, rdf:Bag, rdf:Seq – containers of alternatives, unordered containers, and ordered containers (
rdfs:Containeris a super-class of the three).
- rdfs:Container – the class of RDF containers.
- rdfs:ContainerMembershipProperty – the class of container membership properties,
rdf:_1, rdf:_2, ...,all of which are sub-properties of
- rdf:List – the class of RDF Lists.
- rdf:nil – an instance of
rdf:Listrepresenting the empty list.
- rdf:type – an instance of
rdf:Propertyused to state that a resource is an instance of a class.
- rdfs:subClassOf – the subject is a subclass of a class.
- rdfs:subPropertyOf – the subject is a subproperty of a property.
- rdfs:domain – a domain of the subject property.
- rdfs:range – a range of the subject property.
- rdfs:label – a human-readable name for the subject.
- rdfs:comment – a description of the subject resource.
- rdfs:member – a member of the subject resource.
- rdf:first – the first item in the subject RDF list.
- rdf:rest – the rest of the subject RDF list after the first item.
- rdfs:seeAlso – further information about the subject resource.
- rdfs:isDefinedBy – the definition of the subject resource.
- rdf:value – idiomatic property used for structured values.
- rdf:subject – the subject of the subject RDF statement.
- rdf:predicate – the predicate of the subject RDF statement.
- rdf:object – the object of the subject RDF statement.
- Resource Description Framework – An introduction and guide to RDF.