This document provides the reader with a summary of changes to RDF introduced in RDF version 1.1.

This document is intended to provide the reader with a summary of changes to RDF introduced in RDF version 1.1.

Introduction

This document is informative in nature. Its purpose is to provide a summary of differences between RDF versions 1.0 and 1.1 and to introduce new additions in a very brief manner.

Readers new to RDF should start with the RDF 1.1 Primer [[RDF11-PRIMER]] and then move on to the specifications in which they are most interested. This document is meant to serve as a guide for those already familiar with RDF 1.0 who wish to understand changes in version 1.1.

Normative specifications of RDF can be found in the following documents:

The following prefixes are used in this document:

Prefixes and IRIs
Namespace prefixNamespace IRIRDF vocabulary
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#The RDF built-in vocabulary [[RDF11-SCHEMA]]
xsdhttp://www.w3.org/2001/XMLSchema#The RDF-compatible XML Schema datatypes

Abstract Syntax

Identifiers

Identifiers in RDF 1.1 are now IRIs. The following table summarizes specific differences.

Identifiers in RDF 1.0 and 1.1.
RDF 1.0 RDF 1.1
Identifiers RDF URI References IRIs
Additional characters "<", ">", "{", "}", "|", "\", "^", "`", ‘"’ (double quote), and " " (space) None; percent-encoding must be used as described in section 2.1 of [[!RFC3986]].
Fragment identifiers Fragment identifiers interpreted in accordance with RDF/XML representation. Full IRIs, including possible fragment identifiers, denote a resource.
Blank nodes RDF 1.0 makes no reference to any internal structure of blank nodes. Given two blank nodes, it is possible to determine whether or not they are the same. Blank node identifiers are local identifiers that are used in some concrete RDF syntaxes or RDF store implementations. They are always locally scoped to the file or RDF store, and are not persistent or portable identifiers for blank nodes. See the section in Concepts and Abstract Syntax regarding Skolemization if blank nodes must be shared between implementations.

Literals

The following table summarizes differences in the handling of literals.

Literals in RDF 1.0 and 1.1.
RDF 1.0 RDF 1.1
Language tags Literals with a language tag did not have a datatype URI. Literals with language tags now have the datatype IRI rdf:langString.
Simple literals Simple literals could appear directly, e.g. "a literal". All literals have datatypes; serializations or other implementations might choose to support syntax for simple literals, but only as synonyms for xsd:string literals.
Control codes in the #x0-#x1F range were permitted. The xsd:string datatype does not permit the #x0 character, and implementations might not permit control codes in the #x1-#x1F range. A literal with type xsd:string containing the #x0 character is ill-typed.
Language tags Permitted language tags that adhered to the generic tag/subtag syntax of language tags, but were not well-formed according to [[!BCP47]]. Language tags must be well-formed according to [[!BCP47]].

Planned updates to DOM version 4 [[!DOM4]] are not complete as of this writing. The Working Group decided to follow the changes to the DOM in order to support the new datatype rdf:HTML. The unfinished status of DOM version 4 is why both rdf:HTML and rdf:XMLLiteral are non-normative in RDF 1.1 Concepts. RDF 1.1 Concepts and Abstract Syntax clarifies functionality deemed to be useful for those including fragments of XML and HTML content in RDF serialization formats.

Datasets

RDF 1.1 introduces the concept of RDF Datasets. An RDF Dataset is a collection of RDF Graphs. SPARQL 1.1 [[SPARQL11-OVERVIEW]] also defines the concept of an RDF Dataset, but the definition in RDF 1.1 differs slightly in that RDF 1.1 allows RDF Graphs to be identified using either an IRI or a blank node. More information is available in RDF 1.1 Concepts and Abstract Syntax.

The semantics of RDF Datasets are minimally specified as of RDF 1.1. The Working Group published a draft Note discussing issues related to semantics of datasets [[RDF11-DATASETS]].

RDF Graphs may be named using an IRI or a blank node. RDF Graphs that are so named are called named graphs.

RDF 1.1 includes three new serialization formats capable of representing multiple graphs.

Datatypes

A table of RDF-compatible XSD datatypes has been added to RDF 1.1 Concepts and Abstract Syntax. Any XSD datatypes not represented in this table are incompatible with RDF. The following XSD 1.1 datatypes were added to the list of RDF-compatible datatypes:

Support for rdf:XMLLiteral support is now optional. Technically, support for any individual datatype is optional and therefore may not be present in a given implementation. RDF-conformant specifications may require specific datatype maps.

New Serialization Formats

RDF 1.1 introduces a number of new serialization formats. RDF 1.1 Concepts and Abstract Syntax makes it clear that RDF/XML is no longer the only recommended serialization format; RDF itself should be considered to be the data model (the abstract syntax), not any particular serialization.

RDF 1.0 and 1.1 serialization formats

Semantics

Most of the changes between RDF and RDF 1.1 do not have any effect on implementations of entailment.

Datatype entailment formally refers to a set of 'recognized' datatypes, replacing datatype maps in RDF 1.0 Semantics, but this does not have any effect on implementation.

Datatype entailment formally refers to a set of 'recognized' datatype IRIs. The RDF 1.0 Semantics used the concept of a datatype map: in the new semantic description, this is the mapping from recognized IRIs to the datatypes they identify. This change does not have any effect on implementation or semantic entailments.

RDF entailment has two required datatypes xsd:string and rdf:langString which must be recognized, but this doesn't appreciably add to RDF entailment as these two datatypes replace plain literals.

One change that does affect entailment is that graphs containing invalid literals (e.g., "a"^^xsd:integer) are immediately inconsistent for recognized datatypes, even in sub-RDFS entailment regimes.

RDF 1.1 includes RDF Datasets. However, the semantics of RDF Datasets in RDF 1.1 is minimal and entailment per se is only defined on RDF graphs so there are no changes here.

Acknowledgments

The editor gratefully acknowledges the members of the RDF Working Group who contributed to this document, including Richard Cyganiak, Gavin Garothers, Pat Hayes, Sandro Hawke, Gregg Kellogg, Markus Lanthaler, Peter Patel-Schneider, Eric Prud-hommeaux, Guus Schreiber and Manu Sporny.

The membership of the RDF Working Group included Thomas Baker, Scott Bauer, Dan Brickley, Gavin Carothers, Pierre-Antoine Champin, Olivier Corby, Richard Cyganiak, Souripriya Das, Ian Davis, Lee Feigenbaum, Fabien Gandon, Charles Greer, Alex Hall, Steve Harris, Sandro Hawke, Pat Hayes, Ivan Herman, Nicholas Humfrey, Kingsley Idehen, Gregg Kellogg, Markus Lanthaler, Arnaud Le Hors, Peter F. Patel-Schneider, Eric Prud'hommeaux, Yves Raimond, Nathan Rixham, Guus Schreiber, Andy Seaborne, Manu Sporny, Thomas Steiner, Ted Thibodeau, Mischa Tuffield, William Waites, Jan Wielemaker, David Wood, Zhe Wu, and Antoine Zimmermann.