DefaultPrefixPolicy

From RDFa Working Group Wiki
Jump to: navigation, search

DRAFT: Policy for maintaining prefixes and terms for RDFa profiles

RDFa defines the notion of profiles files that can be used to defined terms and prefixes for the including RDFa content. Furthermore, "Host languages" for RDFa have the possibility to define a default profile, ie, a profile that is implicitly referred to by every RDFa file using that host language. The current RDFa specification defines an XHTML, and HTML5, and a core XML profiles. Others (e.g., SVG, ODF, etc) may follow. It is also agreed that the default profiles for XHTML and for HTML5 are identical.

Note that there is no "profile inheritance". Ie, if the host language is XHTML, that does not mean that the default profile for XML is also valid for that file. In practice this means that the content of the different profiles may overlap. Especially, the (common) profile for *HTML* is defined in such a way that all terms and prefixes defined for the XML language profile is automatically added' to the *HTML* profile, too.

For all profiles, the content of the profiles come from two different sources:

  1. terms and prefixes added automatically as a result of the traditional W3C process
  2. terms and prefixes added through a community process.

Both of these are described below.

XML Host Language profile

W3C process addition

The following term is added to the XML profile

The following prefixes are automatically added to the XML profile

  • All prefixes defined as part of a W3C recommendation. As a rule, this prefix is added to the XML profile at the publication of the Recommendation. At the time of writing this includes: rdf, rdfs, powder, owl, skos, rif, xsd, grddl. At a later time, when the corresponding Recommendations are published, the following will be added: rr (for R2RML), rdfa, ...
  • All prefixes defined as part of a published W3C Note. At the time of writing this includes: vcard
  • All prefixes defined as part of a published Member Submission, in case the Member Submission asks for it. At the time of writing this includes: cc, sioc.

Additions through a community process

A process is set up essentially along the lines of the HTML5 process for @rel values (which itself follows the microformat community practices). This means

  • A wiki page is set up. The page can be edited by everyone having a W3C account. Adding a new entry means:
    • defining a prefix or a term
    • defining a corresponding URI
    • adding a short description of the vocabulary being used
    • adding a URI referring to the place where a human readable version of the vocabulary is made available
  • A newly added entry is labelled as "Proposed"
  • A separate mailing list is set up where the community may discuss and/or object to any new proposal. There is time lapse of 2 weeks for the community to object.
  • If there are no objection, the entry is labelled as "Accepted" and the prefix/term is added to the profile file by the Semantic Web Activity Lead of W3C or who ever he/she delegates this task to. When done, this is to be announced to the mailing list.

An alternative to the wiki approach is to use a copy of the xpointer registry mechanism. This is under discussion in the HTML5 group at the moment and I would propose to keep the mechanism in line with what they do. This would only mean a change to use a specialized form instead of the wiki.

Note that implementers and/or the W3C team may "subscribe" to that wiki page to be notified if some change occurs.

(ISSUE: Unclear where that wiki page should be. Though this is an RDFa related work, it may be expected that these profiles could be used outside RDFa, eg, for a JSON serialization of RDF. Hence the URI for the wiki should probably be more neutral and not RDFa specific.)

*HTML* Language Profile

W3C process addition

Remember that everything added to an XML profile is automatically added to the *HTML* profile. The only additional rule is that all terms that have been defined as official @rel value for XHTML or HTML in previous versions are part of the *HTML* profile.

Additions through a community process

There is no separate community process addition. Instead, the @rel values defined through the HTML5 community process (which, at this moment, refers to the WHATWG community process) would automatically added as terms to the *HTML* profile. That has to be done by the Semantic Web Activity Lead of W3C or who ever he/she delegates this task to. The full URI for the term is 'http://www.w3.org/1999/xhtml/vocab#term.