Resource Description Framework
Encyclopedia
The Resource Description Framework (RDF) is a family of World Wide Web Consortium
World Wide Web Consortium
The World Wide Web Consortium is the main international standards organization for the World Wide Web .Founded and headed by Tim Berners-Lee, the consortium is made up of member organizations which maintain full-time staff for the purpose of working together in the development of standards for the...

 (W3C) specifications originally designed as a metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

 data model
Data model
A data model in software engineering is an abstract model, that documents and organizes the business data for communication between team members and is used as a plan for developing applications, specifically how data is stored and accessed....

. It has come to be used as a general method for conceptual description or modeling of information that is implemented in web resources, using a variety of syntax formats.

Overview

The RDF data model is similar to classic conceptual modeling approaches such as entity-relationship
Entity-relationship model
In software engineering, an entity-relationship model is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements...

 or class diagram
Class diagram
In software engineering, a class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations , and the relationships among the classes.- Overview :The class diagram is the main...

s, as it is based upon the idea of making statement
Statement (programming)
In computer programming a statement can be thought of as the smallest standalone element of an imperative programming language. A program written in such a language is formed by a sequence of one or more statements. A statement will have internal components .Many languages In computer programming...

s about resources (in particular Web resource
Resource (Web)
The concept of resource is primitive in the Web architecture, and is used in the definition of its fundamental elements. The term was first introduced to refer to targets of Uniform Resource Locators , but its definition has been further extended to include the referent of any Uniform Resource...

s) in the form of subject-predicate-object expressions. These expressions are known as triples in RDF terminology. The subject denotes the resource, and the predicate denotes traits or aspects of the resource and expresses a relationship between the subject and the object. For example, one way to represent the notion "The sky has the color blue" in RDF is as the triple: a subject
Subject (grammar)
The subject is one of the two main constituents of a clause, according to a tradition that can be tracked back to Aristotle and that is associated with phrase structure grammars; the other constituent is the predicate. According to another tradition, i.e...

 denoting "the sky", a predicate
Predicate (grammar)
There are two competing notions of the predicate in theories of grammar. Traditional grammar tends to view a predicate as one of two main parts of a sentence, the other being the subject, which the predicate modifies. The other understanding of predicates is inspired from work in predicate calculus...

 denoting "has the color", and an object
Object (grammar)
An object in grammar is part of a sentence, and often part of the predicate. It denotes somebody or something involved in the subject's "performance" of the verb. Basically, it is what or whom the verb is acting upon...

 denoting "blue". RDF is an abstract model with several serialization formats
Serialization
In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored and "resurrected" later in the same or another computer environment...

 (i.e., file formats), and so the particular way in which a resource or triple is encoded varies from format to format.

This mechanism for describing resources is a major component in what is proposed by the W3C's Semantic Web
Semantic Web
The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...

 activity: an evolutionary stage of the World Wide Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...

 in which automated software can store, exchange, and use machine-readable information distributed throughout the Web, in turn enabling users to deal with the information with greater efficiency and certainty
Certainty
Certainty can be defined as either:# perfect knowledge that has total security from error, or# the mental state of being without doubtObjectively defined, certainty is total continuity and validity of all foundational inquiry, to the highest degree of precision. Something is certain only if no...

. RDF's simple data model and ability to model disparate, abstract concepts has also led to its increasing use in knowledge management
Knowledge management
Knowledge management comprises a range of strategies and practices used in an organization to identify, create, represent, distribute, and enable adoption of insights and experiences...

 applications unrelated to Semantic Web activity.

A collection of RDF statements intrinsically represents a labeled, directed multi-graph
Glossary of graph theory
Graph theory is a growing area in mathematical research, and has a large specialized vocabulary. Some authors use the same word with different meanings. Some authors use different words to mean the same thing. This page attempts to keep up with current usage....

. As such, an RDF-based data model
Data model
A data model in software engineering is an abstract model, that documents and organizes the business data for communication between team members and is used as a plan for developing applications, specifically how data is stored and accessed....

 is more naturally suited to certain kinds of knowledge representation
Knowledge representation
Knowledge representation is an area of artificial intelligence research aimed at representing knowledge in symbols to facilitate inferencing from those knowledge elements, creating new elements of knowledge...

 than the relational model
Relational model
The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by Edgar F...

 and other ontological
Ontology (computer science)
In computer science and information science, an ontology formally represents knowledge as a set of concepts within a domain, and the relationships between those concepts. It can be used to reason about the entities within that domain and may be used to describe the domain.In theory, an ontology is...

 models. However, in practice, RDF data is often persisted in relational database or native representations also called Triplestore
Triplestore
A triplestore is a purpose-built database for the storage and retrieval of Resource Description Framework metadata.Much like a relational database, one stores information in a triplestore and retrieves it via a query language...

s, or Quad stores if context (i.e. the named graph) is also persisted for each RDF triple. As RDFS and OWL
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...

 demonstrate, additional ontology languages can be built upon RDF.

History

There were several ancestors to the W3C's RDF. Technically the closest was MCF
Meta Content Framework
Meta Content Framework was a specification of a format for structuring metadata about web sites and other data. MCF was developed by Ramanathan V. Guha at Apple Computer between 1995 and 1997...

, a project initiated by Ramanathan V. Guha
Ramanathan V. Guha
Ramanathan V. Guha is an Indian computer scientist. He graduated with B.Tech from Indian Institute of Technology Madras, MS from University of California Berkeley and...

 while at Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

  and continued, with contributions from Tim Bray
Tim Bray
Timothy William Bray is a Canadian software developer and entrepreneur. He co-founded Open Text Corporation and Antarctica Systems. Bray was Director of Web Technologies at Sun Microsystems from early 2004 to early 2010. Since then he has served as a Developer Advocate at Google, focusing on...

, during his tenure at Netscape Communications Corporation. Ideas from the Dublin Core
Dublin Core
The Dublin Core metadata terms are a set of vocabulary terms which can be used to describe resources for the purposes of discovery. The terms can be used to describe a full range of web resources: video, images, web pages etc and physical resources such as books and objects like artworks...

 community, and from PICS
Platform for Internet Content Selection
The Platform for Internet Content Selection is a specification created by W3C that uses metadata to label webpages to help parents and teachers control what children and students can access on the Internet. The W3C Protocol for Web Description Resources project integrates PICS concepts with RDF...

, the Platform for Internet Content Selection (the W3C's early Web content labelling system) were also key in shaping the direction of the RDF project.

The W3C published a specification of RDF's data model and XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 syntax as a Recommendation in 1999. Work then began on a new version that was published as a set of related specifications in 2004. While there are a few implementations based on the 1999 Recommendation that have yet to be completely updated, adoption of the improved specifications has been rapid since they were developed in full public view, unlike some earlier technologies of the W3C. Most newcomers to RDF are unaware that the older specifications even exist.

In June 2010, W3C organized a workshop to gather feedback from the Web community and discuss possible revisions and improvements to RDF.

Classes

  • rdf:Resource - the class resource, everything
  • rdfs:Literal - the class of literal values, e.g. string
    String literal
    A string literal is the representation of a string value within the source code of a computer program. There are numerous alternate notations for specifying string literals, and the exact notation depends on the individual programming language in question...

    s and integer
    Integer
    The integers are formed by the natural numbers together with the negatives of the non-zero natural numbers .They are known as Positive and Negative Integers respectively...

    s
  • 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:Container is 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 rdfs:member
  • rdf:List - the class of RDF Lists
  • rdf:nil - an instance of rdf:List representing the empty list

Properties

  • rdf:type - an instance of rdf:Property used 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


rdf:Statement, rdf:subject, rdf:predicate, rdf:object are used for reification
Reification
Reification generally refers to bringing into being or turning concrete.Specifically, reification may refer to:*Reification , making a data model for a previously abstract concept...

 (see below).

This vocabulary is used as a foundation for RDF Schema
RDF Schema
RDF Schema is a set of classes with certain properties using the RDF extensible knowledge representation language, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources...

 where it is extended.

Serialization formats

Two common serialization formats
Serialization
In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored and "resurrected" later in the same or another computer environment...

 are in use.

The first is an XML format. This format is often called simply RDF because it was introduced among the other W3C specifications defining RDF. However, it is important to distinguish the XML format from the abstract RDF model itself. Its MIME media type, application/rdf+xml, was registered by RFC 3870. It recommends RDF documents to follow the new 2004 specifications.

In addition to serializing RDF as XML, the W3C introduced Notation 3
Notation 3
Notation3, or N3 as it is more commonly known, is a shorthand non-XML serialization of Resource Description Framework models, designed with human-readability in mind: N3 is much more compact and readable than XML RDF notation...

 (or N3) as a non-XML serialization of RDF models designed to be easier to write by hand, and in some cases easier to follow. Because it is based on a tabular notation, it makes the underlying triples encoded in the documents more easily recognizable compared to the XML serialization. N3 is closely related to the Turtle
Turtle (syntax)
Turtle is a serialization format for Resource Description Framework graphs. A subset of Tim Berners-Lee and Dan Connolly's Notation3 language, it was defined by Dave Beckett, and is a superset of the minimal N-Triples format. Unlike full N3, Turtle doesn't go beyond RDF's graph model...

 and N-Triples
N-Triples
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 Notation 3 which is a superset of Turtle...

 formats.

Triples may be stored in a triplestore
Triplestore
A triplestore is a purpose-built database for the storage and retrieval of Resource Description Framework metadata.Much like a relational database, one stores information in a triplestore and retrieves it via a query language...

.

Resource identification

The subject of an RDF statement is either a Uniform Resource Identifier
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

 (URI) or a blank node
Blank node
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...

, both of which denote resources
Resource (Web)
The concept of resource is primitive in the Web architecture, and is used in the definition of its fundamental elements. The term was first introduced to refer to targets of Uniform Resource Locators , but its definition has been further extended to include the referent of any Uniform Resource...

. Resources indicated by blank node
Blank node
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...

s are called anonymous resources. They are not directly identifiable from the RDF statement. The predicate is a URI which also indicates a resource, representing a relationship. The object is a URI, blank node or a Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

 string literal
String literal
A string literal is the representation of a string value within the source code of a computer program. There are numerous alternate notations for specifying string literals, and the exact notation depends on the individual programming language in question...

.

In Semantic Web applications, and in relatively popular applications of RDF like RSS
RSS (file format)
RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...

 and FOAF
FOAF (software)
FOAF is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe him or herself...

 (Friend of a Friend), resources tend to be represented by URIs that intentionally denote, and can be used to access, actual data on the World Wide Web. But RDF, in general, is not limited to the description of Internet-based resources. In fact, the URI that names a resource does not have to be dereferenceable at all. For example, a URI that begins with "http:" and is used as the subject of an RDF statement does not necessarily have to represent a resource that is accessible via HTTP, nor does it need to represent a tangible, network-accessible resource — such a URI could represent absolutely anything. However, there is broad agreement that a bare URI (without a # symbol) which returns a 300-level coded response when used in an HTTP GET request should be treated as denoting the internet resource that it succeeds in accessing.

Therefore, producers and consumers of RDF statements must agree on the semantics of resource identifiers. Such agreement is not inherent to RDF itself, although there are some controlled vocabularies in common use, such as Dublin Core
Dublin Core
The Dublin Core metadata terms are a set of vocabulary terms which can be used to describe resources for the purposes of discovery. The terms can be used to describe a full range of web resources: video, images, web pages etc and physical resources such as books and objects like artworks...

 Metadata, which is partially mapped to a URI space for use in RDF. The intent of publishing RDF-based ontologies on the Web is often to establish, or circumscribe, the intended meanings of the resource identifiers used to express data in RDF. For example, the URI http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#merlot is intended by its owners to refer to the class of all Merlot
Merlot
Merlot is a darkly blue-coloured wine grape, that is used as both a blending grape and for varietal wines. The name Merlot is thought to derive from the Old French word for young blackbird, merlot, a diminutive of merle, the blackbird , probably from the color of the grape. Merlot-based wines...

 red wines, an intent which is expressed by the OWL
Web Ontology Language
The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...

 ontology — itself an RDF document — in which it occurs. Note that this is not a 'bare' resource identifier, but is rather a URI reference, containing the '#' character and ending with a fragment identifier
Fragment identifier
In computer hypertext, a fragment identifier is a short string of characters that refers to a resource that is subordinate to another, primary resource...

.

Statement reification and context

The body of knowledge modeled by a collection of statements may be subjected to reification
Reification (knowledge representation)
Reification in knowledge representation involves the representation of factual assertions, that are referred to by other assertions; which might then be manipulated in some way...

, in which each statement (that is each triple subject-predicate-object altogether) is assigned a URI and treated as a resource about which additional statements can be made, as in "Jane says that John is the author of document X". Reification is sometimes important in order to deduce a level of confidence or degree of usefulness for each statement.

In a reified RDF database, each original statement, being a resource, itself, most likely has at least three additional statements made about it: one to assert that its subject is some resource, one to assert that its predicate is some resource, and one to assert that its object is some resource or literal. More statements about the original statement may also exist, depending on the application's needs.

Borrowing from concepts available in logic
Logic
In philosophy, Logic is the formal systematic study of the principles of valid inference and correct reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, semantics, and computer science...

 (and as illustrated in graphical notations such as conceptual graphs and topic map
Topic map
Topic Maps is a standard for the representation and interchange of knowledge, with an emphasis on the findability of information. Topic maps were originally developed in the late 1990's as a way to represent back-of-the-book index structures so that multiple indexes from different sources could be...

s), some RDF model implementations acknowledge that it is sometimes useful to group statements according to different criteria, called situations, contexts, or scopes, as discussed in articles by RDF specification co-editor Graham Klyne. For example, a statement can be associated with a context, named by a URI, in order to assert an "is true in" relationship. As another example, it is sometimes convenient to group statements by their source, which can be identified by a URI, such as the URI of a particular RDF/XML document. Then, when updates are made to the source, corresponding statements can be changed in the model, as well.

Implementation of scopes does not necessarily require fully reified statements. Some implementations allow a single scope identifier to be associated with a statement that has not been assigned a URI, itself. Likewise named graphs in which a set of triples is named by a URI can represent context without the need to reify the triples.

Query and inference languages

The predominant query language for RDF graphs is SPARQL
SPARQL
SPARQL is an RDF query language; its name is an acronym that stands for SPARQL Protocol and RDF Query Language. It was made a standard by the RDF Data Access Working Group of the World Wide Web Consortium, and considered as one of the key technologies of semantic web...

. SPARQL is an SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

-like language, and a recommendation
W3C recommendation
A W3C Recommendation is the final stage of a ratification process of the World Wide Web Consortium working group concerning a technical standard. This designation signifies that a document has been subjected to a public and W3C-member organization's review. It aims to standardise the Web technology...

 of the W3C as of January 15, 2008.

An example of a SPARQL query to show country capitals in Africa, using a fictional ontology.

PREFIX abc: .
SELECT ?capital ?country
WHERE {
?x abc:cityname ?capital ;
abc:isCapitalOf ?y.
?y abc:countryname ?country ;
abc:isInContinent abc:Africa.
}



Other ways to query RDF graphs
RDF query language
An RDF query language is a computer language able to retrieve and manipulate data stored in Resource Description Framework format.SPARQL is emerging as the de-facto RDF query language, and is a W3C Recommendation. Released as a Candidate Recommendation in April 2006, it returned to Working Draft...

 include:
  • RDQL, precursor to SPARQL
    SPARQL
    SPARQL is an RDF query language; its name is an acronym that stands for SPARQL Protocol and RDF Query Language. It was made a standard by the RDF Data Access Working Group of the World Wide Web Consortium, and considered as one of the key technologies of semantic web...

    , SQL-like
  • Versa, compact syntax (non–SQL-like), solely implemented in 4Suite (Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

    )
  • RQL, one of the first declarative languages for uniformly querying RDF schemas and resource descriptions, implemented in RDFSuite.
  • SeRQL, part of Sesame
    Sesame (framework)
    Sesame is an open-source framework for querying and analyzing RDF data. It was created, and is still being maintained, by the Dutch software company . It was originally developed as part of the "On-To-Knowledge", a semantic web project that ran from 1999 to 2002. It contains a triplestore.Sesame...

  • XUL
    XUL
    In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

     has a template element in which to declare rules for matching data in RDF. XUL
    XUL
    In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

     uses RDF extensively for databinding.

Example 1: RDF Description of a person named Eric Miller

The following example is taken from the W3C website describing a resource with statements "there is a Person identified by http://www.w3.org/People/EM/contact#me, whose name is Eric Miller, whose email address is em@w3.org, and whose title is Dr.".
The resource "http://www.w3.org/People/EM/contact#me" is the subject.

The objects are:
  • "Eric Miller" (with a predicate "whose name is"),
  • em@w3.org (with a predicate "whose email address is"), and
  • "Dr." (with a predicate "whose title is").


The subject is a URI.

The predicates also have URIs. For example, the URI for each predicate:
  • "whose name is" is http://www.w3.org/2000/10/swap/pim/contact#fullName,
  • "whose email address is" is http://www.w3.org/2000/10/swap/pim/contact#mailbox,
  • "whose title is" is http://www.w3.org/2000/10/swap/pim/contact#personalTitle.


In addition, the subject has a type (with URI http://www.w3.org/1999/02/22-rdf-syntax-ns#type), which is person (with URI http://www.w3.org/2000/10/swap/pim/contact#Person), and a mailbox (with URI http://www.w3.org/2000/10/swap/pim/contact#mailbox.)

Therefore, the following "subject, predicate, object" RDF triples can be expressed:
  • http://www.w3.org/People/EM/contact#me, http://www.w3.org/2000/10/swap/pim/contact#fullName, "Eric Miller"
  • http://www.w3.org/People/EM/contact#me, http://www.w3.org/2000/10/swap/pim/contact#personalTitle, "Dr."
  • http://www.w3.org/People/EM/contact#me, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://www.w3.org/2000/10/swap/pim/contact#Person
  • http://www.w3.org/People/EM/contact#me, http://www.w3.org/2000/10/swap/pim/contact#mailbox, em@w3.org

Example 2: The postal abbreviation for New York

Certain concepts in RDF are taken from logic
Logic
In philosophy, Logic is the formal systematic study of the principles of valid inference and correct reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, semantics, and computer science...

 and linguistics
Linguistics
Linguistics is the scientific study of human language. Linguistics can be broadly broken into three categories or subfields of study: language form, language meaning, and language in context....

, where subject-predicate and subject-predicate-object structures have meanings similar to, yet distinct from, the uses of those terms in RDF. This example demonstrates:

In the English language
English language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

 statement 'New York has the postal abbreviation NY' , 'New York' would be the subject, 'has the postal abbreviation' the predicate and 'NY' the object.

Encoded as an RDF triple, the subject and predicate would have to be resources named by URIs. The object could be a resource or literal element. For example, in the Notation 3
Notation 3
Notation3, or N3 as it is more commonly known, is a shorthand non-XML serialization of Resource Description Framework models, designed with human-readability in mind: N3 is much more compact and readable than XML RDF notation...

 form of RDF, the statement might look like:


"NY" .


In this example, "urn:x-states:New%20York" is the URI for a resource that denotes the U.S. state New York
New York
New York is a state in the Northeastern region of the United States. It is the nation's third most populous state. New York is bordered by New Jersey and Pennsylvania to the south, and by Connecticut, Massachusetts and Vermont to the east...

, "http://purl.org/dc/terms/alternative" is the URI for a predicate (whose human-readable definition can be found at here), and "NY" is a literal string. Note that the URIs chosen here are not standard, and don't need to be, as long as their meaning is known to whatever is reading them.

N-Triples
N-Triples
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 Notation 3 which is a superset of Turtle...

 is just one of several standard serialization
Serialization
In computer science, in the context of data storage and transmission, serialization is the process of converting a data structure or object state into a format that can be stored and "resurrected" later in the same or another computer environment...

 formats for RDF. The triple above can also be equivalently represented in the standard RDF/XML format as:


xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dcterms="http://purl.org/dc/terms/">

NY




However, because of the restrictions on the syntax of QName
QName
QNames were introduced by XML Namespaces in order to be used as URI references. QName stands for "qualified name" and defines a valid identifier for elements and attributes. QNames are generally used to reference particular elements or attributes within XML documents...

s (such as dcterms:alternative above), there are some RDF graphs that are not representable with RDF/XML.

Example 3: A Wikipedia article about Tony Benn

In a like manner, given that "http://en.wikipedia.org/wiki/Tony_Benn" identifies a particular resource (regardless of whether that URI could be traversed as a hyperlink, or whether the resource is actually the Wikipedia
Wikipedia
Wikipedia is a free, web-based, collaborative, multilingual encyclopedia project supported by the non-profit Wikimedia Foundation. Its 20 million articles have been written collaboratively by volunteers around the world. Almost all of its articles can be edited by anyone with access to the site,...

 article about Tony Benn
Tony Benn
Anthony Neil Wedgwood "Tony" Benn, PC is a British Labour Party politician and a former MP and Cabinet Minister.His successful campaign to renounce his hereditary peerage was instrumental in the creation of the Peerage Act 1963...

), to say that the title of this resource is "Tony Benn" and its publisher is "Wikipedia" would be two assertions that could be expressed as valid RDF statements. In the N-Triples
N-Triples
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 Notation 3 which is a superset of Turtle...

 form of RDF, these statements might look like the following:


"Tony Benn" .
"Wikipedia" .


And these statements might be expressed in RDF/XML as:


xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">

Tony Benn
Wikipedia




To an English-speaking person, the same information could be represented simply as:
The title of this resource, which is published by Wikipedia, is 'Tony Benn'

However, RDF puts the information in a formal way that a machine can understand. The purpose of RDF is to provide an encoding
Semantics encoding
A semantics encoding is a translation between formal languages. For programmers, the most familiar form of encoding is the compilation of a programming language into machine code or byte-code. Conversion between document formats are also forms of encoding. Compilation of TeX or LaTeX documents to...

 and interpretation mechanism so that resources
Resource (computer science)
A resource, or system resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource...

 can be described in a way that particular software can understand it; in other words, so that software can access and use information that it otherwise couldn't use.

Both versions of the statements above are wordy because one requirement for an RDF resource (as a subject or a predicate) is that it be unique. The subject resource must be unique in an attempt to pinpoint the exact resource being described. The predicate needs to be unique in order to reduce the chance that the idea of Title
Title
A title is a prefix or suffix added to someone's name to signify either veneration, an official position or a professional or academic qualification. In some languages, titles may even be inserted between a first and last name...

 or Publisher will be ambiguous to software working with the description. If the software recognizes http://purl.org/dc/elements/1.1/title (a specific definition
Definition
A definition is a passage that explains the meaning of a term , or a type of thing. The term to be defined is the definiendum. A term may have many different senses or meanings...

 for the concept
Concept
The word concept is used in ordinary language as well as in almost all academic disciplines. Particularly in philosophy, psychology and cognitive sciences the term is much used and much discussed. WordNet defines concept: "conception, construct ". However, the meaning of the term concept is much...

 of a title established by the Dublin Core
Dublin Core
The Dublin Core metadata terms are a set of vocabulary terms which can be used to describe resources for the purposes of discovery. The terms can be used to describe a full range of web resources: video, images, web pages etc and physical resources such as books and objects like artworks...

 Metadata Initiative), it will also know that this title is different from a land title or an honorary title or just the letters t-i-t-l-e put together.

The following example shows how such simple claims can be elaborated on, by combining multiple RDF vocabularies. Here, we note that the primary topic of the Wikipedia page is a "Person" whose name is "Tony Benn":


xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/">

Tony Benn
Wikipedia


Tony Benn





Applications

  • Sigma - Application from DERI in National University of Ireland, Galway(NUIG).
  • Creative Commons
    Creative Commons
    Creative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...

     - Uses RDF to embed license information in web pages and mp3 files.
  • DOAC (Description of a Career)
    Description of a Career
    Description Of A Career is a semantic vocabulary created by Ramon A. Parada to describe professional capabilities of a worker. It has been designed to be compatible with the European curriculum so those can be generated from a FOAF+DOAC file...

     - supplements FOAF to allow the sharing of résumé
    Résumé
    A résumé is a document used by individuals to present their background and skillsets. Résumés can be used for a variety of reasons but most often to secure new employment. A typical résumé contains a summary of relevant job experience and education...

     information.
  • FOAF (Friend of a Friend)
    FOAF (software)
    FOAF is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe him or herself...

     - designed to describe people
    Person
    A person is a human being, or an entity that has certain capacities or attributes strongly associated with being human , for example in a particular moral or legal context...

    , their interests and interconnections.
  • Haystack client
    Haystack (PIM)
    Haystack is a project at the Massachusetts Institute of Technology to research and develop several applications around personal information management and the Semantic Web. The most notable of those applications is the Haystack client, a research personal information manager and one of the first...

     - Semantic web browser from MIT CS & AI lab.
  • IDEAS Group
    IDEAS Group
    The IDEAS Group is the International Defence Enterprise Architecture Specification for exchange Group. The deliverable of the project is a data exchange format for military Enterprise Architectures. The scope is four nation and covers MODAF , DoDAF , and the Australian Defence Architecture...

     - developing a formal 4D Ontology for Enterprise Architecture
    Enterprise architecture
    An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...

     using RDF as the encoding.
  • Microsoft shipped a product, Connected Services Framework, which provides RDF-based Profile Management capabilities.
  • MusicBrainz
    MusicBrainz
    MusicBrainz is a project that aims to create an open content music database. Similar to the freedb project, it was founded in response to the restrictions placed on the CDDB...

     - Publishes information about Music Albums.
  • NEPOMUK
    NEPOMUK (framework)
    NEPOMUK is an open-source software specification that is concerned with the development of a social semantic desktop that enriches and interconnects data from different desktop applications using semantic metadata stored as RDF...

    , an open-source software specification for a Social Semantic desktop uses RDF as a storage format for collected metadata. NEPOMUK is mostly known because of its integration into the KDE SC 4 desktop environment.
  • RDF Site Summary - one of several "RSS
    RSS (file format)
    RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format...

    " languages for publishing information about updates made to a web page; it is often used for disseminating news article summaries and sharing weblog content.
  • ResumeRDF - developed to express information contained in a personal Resume or Curriculum Vitae (CV) on the Semantic Web. This includes information about work and academic experience, skills, etc.
  • Simple Knowledge Organization System (SKOS) - a KR representation intended to support vocabulary/thesaurus applications
  • SIOC (Semantically-Interlinked Online Communities)
    SIOC
    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...

     - designed to describe online communities and to create connections between Internet-based discussions from message boards, weblogs and mailing lists.
  • Smart-M3
    Smart-M3
    Smart-M3 is a name of an open source software project that aims to provide a "Semantic Web" information sharing infrastructure between software entities and devices. It combines the ideas of distributed, networked systems and semantic web...

     - provides an infrastructure for using RDF and specifically uses the ontology agnostic nature of RDF to enable heterogeneous mashing-up of information
  • Many other RDF schemas are available by searching SchemaWeb.


Some uses of RDF include research into social networking. This is important because it could help governments keep track of undesirables. It will also help people in business fields understand better their relationships with members of industries that could be of use for product placement. It will also help scientists understand how people are connected to one another.

RDF is being used to have a better understanding of traffic patterns. This is because the information regarding traffic patterns is on different websites, and RDF is used to integrate information from different sources on the web. Before, the common methodology was using keyword searching, but this method is problematic because it does not consider synonyms. This is why ontologies are useful in this situation. But one of the issues that comes up when trying to efficiently study traffic is that to fully understand traffic, concepts related to people, streets, and roads must be well understood. Since these are human concepts, they require the addition of fuzzy logic
Fuzzy logic
Fuzzy logic is a form of many-valued logic; it deals with reasoning that is approximate rather than fixed and exact. In contrast with traditional logic theory, where binary sets have two-valued logic: true or false, fuzzy logic variables may have a truth value that ranges in degree between 0 and 1...

. This is because values that are useful when describing roads, like slipperiness, are not precise concepts and cannot be measured. This would imply that the best solution would incorporate both fuzzy logic and ontology.Traffic Information Retrieval Based on Fuzzy Ontology and RDF on the Semantic Web By Jun Zhai, Yi Yu, Yiduo Liang, and Jiatao Jiang (2008)

See also

Notations for RDF
  • N3
    Notation 3
    Notation3, or N3 as it is more commonly known, is a shorthand non-XML serialization of Resource Description Framework models, designed with human-readability in mind: N3 is much more compact and readable than XML RDF notation...

  • N-Triples
    N-Triples
    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 Notation 3 which is a superset of Turtle...

  • TRiG
    TriG (syntax)
    TriG is a serialization format for RDF graphs. It is a plain text format for serializing Named Graphs and RDF Datasets which offers a compact and readable alternative to the XML-based TriX syntax.- Example :@prefix rdf: ....

  • TRiX
    TriX (syntax)
    TriX is a serialization format for RDF graphs. It is an XML format for serializing Named Graphs and RDF Datasets which offers a compact and readable alternative to the XML-based RDF/XML syntax.-Example:...

  • Turtle
    Turtle (syntax)
    Turtle is a serialization format for Resource Description Framework graphs. A subset of Tim Berners-Lee and Dan Connolly's Notation3 language, it was defined by Dave Beckett, and is a superset of the minimal N-Triples format. Unlike full N3, Turtle doesn't go beyond RDF's graph model...

  • RDF/XML
    RDF/XML
    RDF/XML is a syntax, defined by the W3C, to express an RDF graph as an XML document. According to the W3C, "RDF/XML is the normative syntax for writing RDF"....

  • RDFa
    RDFa
    RDFa is a W3C Recommendation that adds a set of attribute-level extensions to XHTML for embedding rich metadata within Web documents...

  • JSON-LD

Ontology/vocabulary languages
  • OWL
    Web Ontology Language
    The Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...

  • SKOS
  • RDF schema
    RDF Schema
    RDF Schema is a set of classes with certain properties using the RDF extensible knowledge representation language, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources...


Similar concepts
  • Entity-attribute-value model
    Entity-Attribute-Value model
    Entity–attribute–value model is a data model to describe entities where the number of attributes that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. In mathematics, this model is known as a sparse matrix...

  • Graph theory
    Graph theory
    In mathematics and computer science, graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects from a certain collection. A "graph" in this context refers to a collection of vertices or 'nodes' and a collection of edges that connect pairs of...

     - An RDF model is a labeled, directed multi-graph.
  • Conceptual graphs - An RDF graph is a conceptual graph.
  • Website Parse Template
    Website Parse Template
    Website Parse Template is an XML-based open format which provides HTML structure description of website pages. WPT format allows web crawlers to generate Semantic Web’s RDFs for web pages...

  • Tagging
    Tag (metadata)
    In online computer systems terminology, a tag is a non-hierarchical keyword or term assigned to a piece of information . This kind of metadata helps describe an item and allows it to be found again by browsing or searching...

  • Topic Maps - Topic Maps is in some ways, similar to RDF.
  • Semantic network
    Semantic network
    A semantic network is a network which represents semantic relations among concepts. This is often used as a form of knowledge representation. It is a directed or undirected graph consisting of vertices, which represent concepts, and edges.- History :...


Other (unsorted):
  • Associative model of data
    Associative model of data
    The associative model of data is an alternative data model for database systems. Other data models, such as the relational model and the object data model, are record-based. These models involve encompassing attributes about a thing, such as a car, in a record structure. Such attributes might be...

  • Business Intelligence 2.0
    Business Intelligence 2.0
    Business Intelligence 2.0 is a term that refers to new tools and software for business intelligence, beginning in the mid-2000s, that enable, among other things, dynamic querying of real-time corporate data by employees, and a more web- and browser-based approached to such data, as opposed to the...

     (BI 2.0)
  • DataPortability
    DataPortability
    Data portability is the ability for people to reuse their data across interoperable applications - the ability for people to be able to control their identity, media and other forms of personal data...

  • Folksonomy
    Folksonomy
    A folksonomy is a system of classification derived from the practice and method of collaboratively creating and managing tags to annotate and categorize content; this practice is also known as collaborative tagging, social classification, social indexing, and social tagging...

  • GRDDL
    GRDDL
    GRDDL is a markup format for Gleaning Resource Descriptions from Dialects of Languages. It is a W3C Recommendation, and enables users to obtain RDF triples out of XML documents, including XHTML. The GRDDL specification shows examples using XSLT, however it was intended to be abstract enough to...

  • Life Science Identifiers
    LSID
    Life Science Identifiers are a way to name and locate pieces of information on the web. Essentially, an LSID is a unique identifier for some data, and the LSID protocol specifies a standard way to locate the data...

  • Meta Content Framework
    Meta Content Framework
    Meta Content Framework was a specification of a format for structuring metadata about web sites and other data. MCF was developed by Ramanathan V. Guha at Apple Computer between 1995 and 1997...

  • Semantic Web
    Semantic Web
    The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...

  • Swoogle
    Swoogle
    Swoogle is a search engine for Semantic Web ontologies, documents, terms and data published on the Web. Swoogle employs a system of crawlers to discover RDF documents and HTMLdocuments with embedded RDF content...

  • Universal Networking Language
    Universal Networking Language
    Universal Networking Language is a declarative formal language specifically designed to represent semantic data extracted from natural language texts...

     (UNL)

Further reading

  • W3C's RDF at W3C: specifications, guides, and resources
  • RDF Semantics: specification of semantics, and complete systems of inference rules for both RDF and RDFS


Tutorials and documents

External links

News and resources

RDF software tools
  • ViziQuer a tool that allows to browse a SPARQL endpoint ontology and construct SPARQL queries
  • Raptor RDF Parser Library
  • Listing of RDF and OWL tools at W3C wiki
  • SemWebCentral Open Source semantic web tools
  • Intellidimension Semantic web software and tools for Windows, .NET/C# and SQL Server
  • Listing of RDF software at xml.com
  • Rhodonite: freeware
    Freeware
    Freeware is computer software that is available for use at no cost or for an optional fee, but usually with one or more restricted usage rights. Freeware is in contrast to commercial software, which is typically sold for profit, but might be distributed for a business or commercial purpose in the...

     RDF editor and RDF browser with a drag-and-drop
    Drag-and-drop
    In computer graphical user interfaces, drag-and-drop is the action of selecting a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object...

     interface
  • D2R Server: tool to publish relational databases as an RDF-graph
  • Virtuoso Universal Server
    Virtuoso Universal Server
    Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional RDBMS, ORDBMS, virtual database, RDF, XML, free-text, web application server and file server functionality in a single system...

    : a SPARQL
    SPARQL
    SPARQL is an RDF query language; its name is an acronym that stands for SPARQL Protocol and RDF Query Language. It was made a standard by the RDF Data Access Working Group of the World Wide Web Consortium, and considered as one of the key technologies of semantic web...

     compliant platform for RDF data management, SQL-RDF integration, and RDF based Linked Data
    Linked Data
    In computing, linked data describes a method of publishing structured data so that it can be interlinked and become more useful. It builds upon standard Web technologies such as HTTP and URIs, but rather than using them to serve web pages for human readers, it extends them to share information in a...

     deployment
  • ROWLEX: .NET library and toolkit built to create and browse RDF documents easily. It abstracts away the level of RDF triples and elevates the level of the programming work to (OWL) classes and properties.
  • AlchemyAPI: web service API / SDK that converts unstructured text into RDF & Linked Data.
  • The Sweet Tools listing of 800+ RDF and -related tools, most open source, and sortable by category and language (among other facets).
  • StrixDB: a RDF graph store, SPARQL
    SPARQL
    SPARQL is an RDF query language; its name is an acronym that stands for SPARQL Protocol and RDF Query Language. It was made a standard by the RDF Data Access Working Group of the World Wide Web Consortium, and considered as one of the key technologies of semantic web...

     compliant with Lua
    Lua
    Lua may refer to:* Lua , a Roman goddess* Lua , a traditional Hawaiian martial art* Lua , a lightweight, extensible programming language* Lua , a single by the folk rock band Bright Eyes...

     API and Datalog
    Datalog
    Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog. Its origins date back to the beginning of logic programming, but it became prominent as a separate area around 1977 when Hervé Gallaire and Jack Minker organized a workshop on logic and databases...

     inference capabilities. Could be used as httpd (Apache HTTP Server
    Apache HTTP Server
    The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...

    ) module or standalone.
  • A Transformation from XML to RDF via XSLT (an XML to RDF converter).
  • Oroboro: a Java
    Java
    Java is an island of Indonesia. With a population of 135 million , it is the world's most populous island, and one of the most densely populated regions in the world. It is home to 60% of Indonesia's population. The Indonesian capital city, Jakarta, is in west Java...

     RDF processing framework with a compact API and Datalog
    Datalog
    Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog. Its origins date back to the beginning of logic programming, but it became prominent as a separate area around 1977 when Hervé Gallaire and Jack Minker organized a workshop on logic and databases...

     query/inference support.
  • RDFSuite: The ICS-FORTH RDFSuite: High-level Scalable Tools for the Semantic Web
    Semantic Web
    The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...

  • W3C in RDF Beta: W3C.ORG in RDF: Testing Blog to make W3C Pages Searchable with RDF Semantic Web
    Semantic Web
    The Semantic Web is a collaborative movement led by the World Wide Web Consortium that promotes common formats for data on the World Wide Web. By encouraging the inclusion of semantic content in web pages, the Semantic Web aims at converting the current web of unstructured documents into a "web of...


RDF datasources
  • Wikipedia3: System One's RDF conversion of the English Wikipedia, updated monthly
  • DBpedia
    DBpedia
    DBpedia is a project aiming to extract structured content from the information created as part of the Wikipedia project. This structured information is then made available on the World Wide Web. DBpedia allows users to query relationships and properties associated with Wikipedia resources,...

    : a Linking Open Data Community Project that exposes an every increasing collection of RDF based Linked Data
    Linked Data
    In computing, linked data describes a method of publishing structured data so that it can be interlinked and become more useful. It builds upon standard Web technologies such as HTTP and URIs, but rather than using them to serve web pages for human readers, it extends them to share information in a...

    sources
  • Semantic Systems Biology
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK