This is an archive of an inactive wiki and cannot be modified.

[Work in progress...]

This page relates to a proposal to have a more defined notion of which parts of RDFa are provided by RDFa itself, and which come from some host language. It doesn't have any status, and may never have, since it may not be necessary to create any documents that reflect these concepts. But it does provide a place to capture some of the structure of RDFa, and hopefully will help when making decisions about whether one feature or another should be included or excluded.

The structure

The general idea is that RDFa comprises a set of core attributes and concepts that could be used within any mark-up language, as well as a set of 'interpretations' of mark-up from some host language. Just to give us something to call it, I'll refer to the core concepts and syntax as RDFa-core, which, since it is only attributes, can only exist in some host language (i.e., not on its own).

One way to view this arrangement is as a 'stack'; at the bottom of the stack is some language that we would like to give an RDF interpretation, and onto this language we can layer RDFa-core. However, the interpretation ascribed to the host language could be given regardless of whether RDFa-core is then layered onto it, and there may be use-cases for doing exactly this.

Interpretation of HTML

The first layer of the 'stack' is HTML itself. HTML already has a number of semantic features, so our job when creating an RDFa dialect for HTML is to decide what different parts of HTML 'mean'.

Already agreed

The following are language constructs/interpretations that are already agreed:

No triples

<base href="s">

Sets the subject for the whole document.

<any lang="lang">...</any>

Sets the language for the current element, and all children.

Generate triples

<a rel="p" href="o">text</a>

<> <p> <o> .

<a rev="p" href="s">text</a>

<s> <p> <> .

<img rel="p" src="s" alt="alt" longdesc="desc">

<sobn> <p> <s> .

<link rel="p" href="o">

<> <p> <o> .

<link rev="p" href="s">

<s> <p> <> .

<meta name="p" content="o">

<> <p> "o" .

NOTE: sobn is 'subject or blank node'.

Not agreed, but on the table

The following are language constructs/interpretations that we've discussed, but not yet resolved. They will almost certainly be held over to a future version of RDFa. The 'triples generated' part is either a 'best guess' at what it might look like, or the latest thinking if some discussion has been had:

<a rel="p" href="o">text</a>

<o> rdfs:label "text" .

<dl>

-

<head profile="pr">

-

<li>markup</li>

<sobn> rdf:_n "markup" .

<ol>

<sobn> rdf:type rdf:Seq .

<ul>

<sobn> rdf:type rdf:Bag .

<title>text</title>

<> dc:title "text" .

NOTE: sobn is 'subject or blank node'.

Not agreed, because not proposed

The following are language constructs/interpretations that we've never discussed, but for which at some point an interpretation might usefully be defined. They are of course, not a top priority:

<address>markup</address>

-

<area rel="p" href="o">

<> <p> <o> .

<area rev="p" href="s">

<sobn> <p> <> .

<blockquote cite="o">markup</blockquote>

<sobn> h:q [ dc:source <o>; rdfs:label "markup" ] .

<caption>markup</caption>

-

<cite>markup</cite>

<> dc:source "markup" .

<img rel="p" src="s" alt="alt" longdesc="desc">

<sobn> <p> <s> . <s> [ rdf:type dcmitype:Image, rdfs:label "alt", dc:description <desc> ] .

<meta name="p" content="o" scheme="sch">

-

<object src="s">...</object>

<s> rdf:type h:object .

<q cite="o">markup</q>

<s> h:q [ dc:source <o>; rdfs:label "markup"^^rdf:XMLLiteral ] .

NOTE: We could go directly to dc:source as shown here, or we could use h:cite instead, and systems could add their own inference rules as they like.

RDFa Core

Pretty much any language could accommodate RDFa-core. When imported into a host language, the RDFa-core attributes are intended to supplement, rather than override, the host's own semantic constructs. The core attributes are:

Agreed

@about

Sets the subject for all nested statements.

@content

Sets the object to be a plain literal for the statement currently being evaluated.

@datatype

Sets the type for an object that is a literal, for the statement currently being evaluated.

@instanceof

Sets both a predicate and object for the statement currently being evaluated, with the predicate being rdf:type and the object being a resource.

@property

Sets the predicate for the statement currently being evaluated, with the object being a literal.

@rel

Sets the predicate for the statement currently being evaluated, with the object being a resource.

@resource

Sets the object to be a resource for the statement currently being evaluated.

@rev

Sets the predicate for the statement currently being evaluated, with the object being a resource.

Processing Model

To follow.


CategoryRDFa