- From: Jeni Tennison <jeni@jenitennison.com>
- Date: Thu, 29 Apr 2010 12:04:39 -0400
- To: public-rdfa-wg@w3.org
Hi,
It's great to see the new RDFa 1.1 Core Working Draft out. The @prefix
and @vocab attributes seem like valuable additions both to break away
from overloading XML namespaces and enabling the use of simple terms.
The one part that concerns me is the section on RDFa Profiles. It
concerns me on three levels: architecture, practicality and usability.
I think it should be dropped.
Architecture
------------
The use of RDFa profiles relies on network connectivity during the
processing of an RDFa document in order to extract the triples that
were intended by the author of the document. This seems extremely
dangerous, especially when combined with the rules about the
interpretation of terms and CURIEs with unrecognised prefixes, which
mean that the extracted RDF is not a simple subset of that which would
be otherwise generated, but one that includes bogus triples.
Let's say that I have a simple document like:
<div prefix="my: http://www.w3.org/2006/vcard/ns#">
<p about="http://www.example.org/doc"
profile="http://www.example.org/profile"><span
property="my:title">title of the document</span> <span
property="rdfs:comment">and this is a longer comment on the same
document</span></p>
</div>
Let's say that the profile document binds my: to the Dublin Core
namespace and rdfs: to the RDFS namespace. You will get:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix my: <http://dublincore.org/documents/dcmi-terms/> .
<http://www.example.org/doc>
my:title "title of the document" ;
rdfs:comment "and this is a longer comment on the same document" .
Now what if the profile document isn't there for some reason? You get:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix my: <http://www.w3.org/2006/vcard/ns#> .
<http://www.example.org/doc>
my:title "title of the document" ;
<rdfs:comment> "and this is a longer comment on the same
document" .
You can argue that the triple with the <rdfs:comment> property isn't
ever going to be looked at, but with the my:title triple, the meaning
is both plausible and significantly different in the two cases.
If profiles aren't dropped, I'd suggest either:
* ignoring all triples in the scope of a profile that hasn't been
successfully retrieved
* placing those triples within a separate RDF graph
Practicality
------------
As someone who's interested in implementing RDFa processing within the
browser, the immediate thing that struck me was how difficult it would
be to implement RDFa profiles because of the same origin policy in
current and legacy browsers.
I anticipate arguments that browsers will 'soon' implement a built-in
RDFa API and/or the Origin header. Given the slow pace of change with
browsers (or the slow adoption of updated versions), I don't think we
should take this for granted at all. I feel that stalling support for
RDFa within the browser by making it basically unimplementable would
be a bit mistake.
Building in profiles, as suggested in a Note within the profiles
section) is also not an answer, given that the profiles may change.
Effectively, processors *must* hit the profile URI each time at least
with a HEAD request to see whether the profile has changed, and that
isn't possible with Javascript.
If profiles aren't dropped, I'd suggest making the access of profiles
optional (perhaps by having different levels of conformance), and
providing one of the facilities described above to ensure that such
processors aren't completely unusable in those circumstances.
Usability
---------
My final concern is about the usability of RDFa when profiles are
introduced. If two profiles both contain mappings of the same term,
then the ordering in which they are listed within the profile
attribute will determine the meaning of that term when it's used
within RDFa.
This is a basic problem with using terms, really (because terms aren't
namespaced and can therefore clash), but I think that putting their
definitions into a separate file will make clashes harder for people
to identify.
These problems are exacerbated when individual profiles might not be
accessible, and thus a particular term can mean completely different
things on different occasions.
I don't see any way around this, frankly. All in all, I think that
RDFa profiles should be dropped.
That's all,
Jeni
--
Jeni Tennison
http://www.jenitennison.com
Received on Thursday, 29 April 2010 16:05:09 UTC