This is a working page. It gathers informal descriptions of the subset of RDF that are supported by the RDFa specification. As per decision of the Semantic Web Deployment Working Group at the Boston F2F meeting on 2007-01-23, RDFa is not required to support every feature of RDF.
RDF features covered by RDFa (RiR)
Motivation
The following is a list of RDF features covered by RDFa (RiR for short). It is based on the RDF Concepts and Abstract Syntax document and motivated by the SWAD-Europe Deliverable 7.1: RDF API requirements and comparison document.
Definitions
TERM |
DEFINITION |
FULL DEFINITION |
RDF graph |
A collection of triples, each consisting of a subject (S), a predicate (P) and an object (O). |
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model |
node |
Set of all S and O of an RDF graph. |
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-Node |
URIref |
A valid URI character sequence representing an absolute URI with optional fragment identifier. |
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-URI-reference |
bNode |
A node that is not a URIref or a literal. |
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-blank-node |
literal |
Literals are used to identify O-values by means of a lexical representation. |
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#dfn-literal |
Triple Guises
A triple may take the following guises (Nth triple guise, or TG.N for short):
Basic Triple Guise TG.1 - TG.6
No. |
S |
P |
O |
Example |
TG.1 |
URIref |
URIref |
URIref |
ex:benadida rdf:type foaf:Person |
TG.2 |
URIref |
URIref |
bNode |
ex:benadida foaf:knows _:b001 |
TG.3 |
URIref |
URIref |
plain literal |
ex:benadida foaf:name "Ben Adida" |
TG.4 |
bNode |
URIref |
URIref |
_:b001 rdf:type foaf:Person |
TG.5 |
bNode |
URIref |
bNode |
_:b001 foaf:knows ex:benadida |
TG.6 |
bNode |
URIref |
plain literal |
_:b001 foaf:name "Michael Hausenblas" |
Triple Guise with Typed Literals TG.7 - TG.8
No. |
S |
P |
O |
Example |
TG.7 |
URIref |
URIref |
typed literal |
ex:benadida ex:hasPhD "true"^^<http://www.w3.org/2001/XMLSchema#boolean> |
TG.8 |
bNode |
URIref |
typed literal |
_:b001 ex:hasChildren "2.5"^^<http://www.w3.org/2001/XMLSchema#float> |
Triple Guise with Plain Literals and Language Tag TG.9 - TG.10
No. |
S |
P |
O |
Example |
TG.9 |
URIref |
URIref |
plain literal with language tag |
ex:benadida ex:likes "cheese"@en |
TG.10 |
bNode |
URIref |
plain literal with language tag |
_:b001 ex:likes "kaas"@nl |
Discussion
It has to be questioned, which features stem from the RDF graph model directly (TG.1 - TG.10), and which are 'syntactic sugar' introduced by RDF/XML.
Fig. 1 RDF/XML vs. RDFa |
As depicted in Fig. 1, one can state the following:
both RDF/XML and RDFa use Unicode to represent symbols and values;
both RDF/XML and RDFa utilise URIs to address resources (cf. definiton of URIref, above);
both RDF/XML and RDFa are concrete syntaxes for the RDF Graph Model;
- both RDF/XML and RDFa (re)use XML-related stuff:
Refering to the RDF Namespace and Vocabulary section of the RDF/XML Syntax Specification:
The RDF namespace URI reference (or namespace name) is http://www.w3.org/1999/02/22-rdf-syntax-ns# and is typically used in XML with the prefix rdf although other prefix strings may be used. The RDF Vocabulary is identified by this namespace name and consists of the following names only:
Syntax names - not concepts RDF Description ID about parseType resource li nodeID datatype
Class names Seq Bag Alt Statement Property XMLLiteral List
Property names subject predicate object type value first rest _n where n is a decimal integer greater than zero with no leading zeros.
Resource names nil
Put in other words, the only requirements (stemming directly from the RDF Graph Model) are: to represent URIrefs, bNodes, literals (incl. XMLLiteral) in the triple form S P O; all other constructs are introduced by RDF/XML (as rdf:Seq, or rdf:parseType). One is free to define new mappings sui generis if the result yields a valid RDF graph.
Identified RDF features - RiR
The following are the identified features of RDFa that are directly supported (others as for example rdf:li may be reproduced using a combination of simple triples):
- URIrefs
- bNodes
Literals (cf. also Establishing a literal as object in RDFa)
- Plain Literals (with or w/o @xml:lang)
- Typed Literals (incl. XMLLiteral)
CategoryRDFa