- From: Gregg Kellogg <gregg@kellogg-assoc.com>
- Date: Thu, 14 Jul 2011 15:05:57 -0400
- To: Reece Dunn <msclrhd@googlemail.com>
- CC: RDFa WG <public-rdfa-wg@w3.org>, "hsivonen@iki.fi" <hsivonen@iki.fi>
- Message-ID: <610CF225-A217-4A48-ADF8-EB22C768127D@kellogg-assoc.com>
On Jul 14, 2011, at 11:30 AM, Reece Dunn wrote: On 14 July 2011 18:44, Gregg Kellogg <gregg@kellogg-assoc.com<mailto:gregg@kellogg-assoc.com>> wrote: [snip] Note that the default profile does not present the same problems, since it is assumed that RDFa processors will internally cache the default profile. The default RDFa profile? I could not find a reference to this. Or the default profile for a document type (e.g. the default profile for ePub 3.0)? >From RDFa Core 1.1 [1]: The Host Language may require the automatic inclusion of one or more default RDFa Profiles. If it does, the RDFa Profile triples that establish term or URI mappings must not change without changing the associated profile URI. RDFa Processors may embed, cache, or retrieve the RDFa Profile triples associated with that profile. For RDFa Core 1.1, this is http://w3.org/profile/rdfa-1.1 [2], For XHTML+RDFa 1.1 (and HTML+RDFa 1.1) this is http://w3.org/profile/html-rdfa-1.1 [3][4] Concerns were raised about the relatively closed nature of relying on the default profile for prefix definitions, as frequent changes to the profile place a burden on processor developers, and even with a simple registration form, it places a barrier to entry and is generally not in the open nature of RDF. Personally, I really see the advantage of a profile mechanism. In addition to declaring prefixes, it allows an author to establish a number of terms for use within their document. Which will not be resolved using static processors such as rapper or my library (I don't want to have to resolve one or more web URIs every time a document is loaded). If I was to do the resolution, I would do it as a one-time thing and keep the results indefinitely. That's what I do in my processor [5]. I have a routine for turning profiles into code accessed directly by the processor, and can easily update that. The problem here is how to update the profile data. The options are: 1/ once published, a profile cannot define any new prefixes -- publish a different uri for a new version; That's what the spec says, the URI must change if the contents changes [1]. 2/ specify a timeout, or valid until in the profile to denote a lifetime (i.e. when to reload the data, like is done with RSS) >From an author point of view, I would find it problematic having the prefixes separate from the document where they are used -- how do I know whether dc: evaluates to the Dublin Core Terms or Elements uri if I am using two different profiles for different documents? This is true. What if I use someone's profile definitions (including ones I define) and they decide to point a prefix elsewhere? E.g. changing foaf: from "http://xmlns.com/foaf/0.1/" to "http://xmlns.com/foaf/spec/"? Presumably, as the author, you are in control of what profiles you reference. And, if the profile owners play by the rules, the won't change. How does this affect triple stores that have the triples saved for a document? Don't follow this; you should always be able to serialize the contents of an existing triple store correctly either by using full URIs, use of @vocab, and/or defining prefixes explicitly. Shouldn't really be necessary, because any use of a profile URI should remain stable. - Reece Gregg [1] http://www.w3.org/TR/2011/WD-rdfa-core-20110331/#hostlangconf [2] http://www.w3.org/TR/2011/WD-rdfa-core-20110331/#xmlrdfaconformance [3] http://www.w3.org/TR/2011/WD-xhtml-rdfa-20110331/#additional-rdfa-processing-rules [4] http://www.w3.org/TR/rdfa-in-html/#additional-rdfa-processing-rules [5] https://github.com/gkellogg/rdf-rdfa/blob/master/lib/rdf/rdfa/profile/xhtml.rb
Received on Thursday, 14 July 2011 19:06:48 UTC