Resource Description Framework (RDF)
The Resource Description Framework (RDF) integrates a variety of applications from library catalogs and
world-wide directories for syndication and aggregation of news, software, and content to personal collections of music, photos, and events using XML as an interchange syntax.
The RDF specifications provide a lightweight ontology system to support the exchange of knowledge on the Web.
RDF is "to specify semantics for data based on XML in a standardized interoperable manner." .
Technically, RDF is not a language, but a data model of metadata instances. The basic data model is very simple; it consists of nodes connected by labeled
arcs, where the nodes represent web resources and the arcs represent properties of these resources.
RDF is designed to represent information in a minimally constraining, flexible way. It can be used in isolated applications, where individually designed
formats might be more direct and easily understood, but RDF's generality offers greater value from sharing. The value of information thus increases as it
becomes accessible to more applications across the entire Internet.
RDF uses the key concepts exposed briefly in the follow :
- Graph data model:
the structure of any expression in RDF is a collection of triples, each consisting of a subject, a predicate and an object.
A set of such triples is called an RDF graph. This can be illustrated by a node and directed-arc diagram, in which each triple is represented as a
node-arc-node link, hence the term "graph". Each triple represents a statement of a relationship between the things denoted by the nodes that it links.
- URI-based vocabulary:
A node may be a URI (Uniform Resource Identifiers) with optional fragment identifier (URI reference, or URIref), a literal, or blank. A URI reference or
literal used as a node identifies what that node represents. A URI reference used as a predicate identifies a relationship between the things represented
by the nodes it connects. A predicate URI reference may also be a node in the graph. In particular, a blank node is just a unique node that can be used in
one or more RDF statements, but has no intrinsic name.
- Data types:
Data types are used by RDF in the representation of values such as integers, floating point numbers and dates. A data type is defined by a lexical space,
a value space and a lexical-to-value mapping. RDF predefines just one data type "rdf:XMLLiteral", used for embedding XML in RDF
literals are used to identify values such as numbers and dates by means of a lexical representation. Anything represented by a literal could also be
represented by a URI, but it is often more convenient or intuitive to use literals. They can be "plain literals" meaning that the string can be combined
with other language tags, or "typed literals" meaning that the string can be combined with data type URI
- Expression of simple facts:
some simple facts indicate a relationship between two things. Such a fact may be represented as an RDF triple in which the predicate names the
relationship, and the subject and object denote the two things. Thus, a more complex fact is expressed in RDF using a conjunction (logical-AND) of
simple binary relationships. RDF does not provide means to express negation (NOT) or disjunction (OR)
in brief, an RDF expression A is said to entail another RDF expression B if every possible arrangement of things in the world that makes A true also makes
B true. On this basis, if the truth of A is presumed or demonstrated then the truth of B can be inferred
The RDF data model, however, provides no mechanisms for declaring these properties, it does not provide any mechanisms for defining the relationships
between these properties and other resources. That is the role of RDF Schema.