Hi Mark,

thanks for doing this work. You know I'm not happy with anything that leaves ambiguity, but it certainly is a step into the right direction.

Some comments in-line.

Mark Birbeck wrote:
...
FALSE POSITIVE CURIES

The scenarios that seems to be causing concern is that when a URI
begins with the same string as a prefix mapping, it creates a 'false
positive' CURIE.

Using Julian's example:
...

I think it was Sam's...

...
The problem with this example is that it is relying on a situation
that won't arise to make its point; as RDFa stands at the moment, why
would anyone place a URI into the @rel or @rev attribute? Nothing in
the spec gives the impression that URIs are valid in @rel, and no
other host languages seem to indicate this either.
...

But then the host languages do not disallow it either.

...
This creates a lot of extra work, and in particular makes
cut-and-paste examples more difficult. An obvious question then is why
RDFa doesn't simply support this kind of mark-up:

  <div about="#me" typeof="http://xmlns.com/foaf/0.1/Person";>
    <a rel="http://xmlns.com/foaf/0.1/knows";
      href="http://www.w3.org/People/Ivan/#me";
      >Ivan Herman</a>
  </div>
...

Indeed!

WAY BACK...

This is a pretty obvious technique, so it probably won't surprise
anyone that it was considered...way back. :)

The problem we had at the time we discussed this was that if we went
for URLs in @rel, then we'd need to go for safe-CURIEs also. And that
then raised problems with the pre-existing tokens from HTML
...

Interesting...

...
The issue is, how would we know when we had a relative path, and when
we had a reserved value:

  @rel="next"

  @rel="relative-url"
...

Could you elaborate on why this matters?

At the time, the only solution we could think of was to insist on
safe-CURIEs for all non-URI values:

  @rel="[next]"

  @rel="[dc:rights]"

  @rel="relative-url"

Why not simply state that something that looks like an absolute URI/IRI *is* one, and that everything else is a token?

...
DIFFERENTIATING BETWEEN CURIES AND URIs

Interestingly enough, it is possible to solve this problem, by simply
saying that any string of characters that begins with a predefined
prefix is a CURIE, and anything else is a URI.
...

With the caveat that this is a bit fragile, because the semantics of a @rel value can be broken by a change somewhere else in the document.

This is quite a different approach to the one normally taken to
differentiation. The usual discussion is to say that it's impossible
to tell if:

  x:y

is a URI or a CURIE because 'x' could be a protocol, and 'y' could be
any part of a URI. It might seem an obvious remedy to say that if 'x'
is a protocol, then treat 'x:y' as a URI. However, this would 'break

s/protocol/URI scheme/

...
PROPOSAL

So to bring everything together, the proposal is:

 (a) RDFa should add support for URIs in attributes that currently only
     support CURIEs;

+1

 (b) authors should be encouraged to use safe-CURIEs in those
     attributes;

+1

 (c) but since ordinary CURIEs may still be used, we should differentiate
     by saying that anything appearing before a colon, that is not a
     mapped prefix, is a protocol.

+-0; but I understand that going further would break existing content.

Now, *technically*, existing content will be in XHTML, not HTML, right?

So maybe in the process of defining RDFa-in-HTML, we could go even further than that?

...

BR, Julian

Reply via email to