- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Wed, 25 Apr 2012 16:50:41 -0400
- To: Dan Brickley <danbri@danbri.org>
- CC: Ivan Herman <ivan@w3.org>, Alex Milowski <alex@milowski.com>, RDFa WG <public-rdfa-wg@w3.org>
On Apr 25, 2012, at 1:32 PM, Dan Brickley wrote: > On 25 April 2012 21:50, Ivan Herman <ivan@w3.org> wrote: >> [snip] > > Could someone clarify what the story looks like if all RDF-ish stuff > goes into @property, along lines of RDFa Lite? is the risk just that > of some 'junk' or poorly patterned triples driven from rel='me', > rel='nofollow' etc? Yes, the risk is basically that if someone sticks to RDFa 1.1 Lite, and only uses the basic properties (@property, @voabulary, @resource, @typeof and @prefix), that the generated RDF could be different if an @rel value was inserted, perhaps after the fact. The example that's been sited is one with an anchor having @rel="nofollow": <p vocab="http://schema.org/" typeof="Person"> My name is <a href="http://example.com/" property="homepage">Stéphane Corlosquet</a>. </p> The code could have ben generated without the rel="nofollow" and generate the RDF as expected: <a> a schema:Person; schema:homepage <http://example.com/> . If some well-meaning person then cam along and added @rel=nofollow, it would generate entirely different results: <a> a schema:Person; xhv:nofollow <http://example.com/>; schema:homepage "Stéphane Corlosquet" . The idea is to remove @rel from consideration for RDF generation if it is comprised solely of HTML link relation terms that are not also RDFa terms. The thing is that @rel remains a valid RDFa 1.1 property (not RDFa 1.1 Lite conformant, but a conforming processor MUST process @rel). Adding a rule, specifically for HTML+RDFa 1.1 (which includes both HTML5 and XHTML5), that removes these "junk" link relations from consideration solves the problem for the typical junk link relation terms. Gregg > Dan > >> Sorry if we disagree here, Alex... >> >> Cheers >> >> Ivan >> >> --- >> Ivan Herman >> Tel:+31 641044153 >> http://www.ivan-herman.net >> >> (Written on mobile, sorry for brevity and misspellings...) >> >> >> >> On 25 Apr 2012, at 20:24, Alex Milowski <alex@milowski.com> wrote: >> >>> On Wed, Apr 25, 2012 at 9:28 AM, Gregg Kellogg <gregg@greggkellogg.net> wrote: >>>>> >>>>> Bottom line: I am still in favour of Stéphane's option 1. The only other alternative I can live with is to stay with the status quo and move on. >>>> >>>> I think Stéphane's option 1 is the way to go. Not doing this will result in much more bad behavior than leaving the status quo, IMO. >>>> >>> >>> Here is, hopefully, my final take on all of this. Thanks for bearing with me. >>> >>> >>> I went back through all of this and option 1 is stated as: >>> >>> Option #1: ignore @rel if it only includes HTML Link types as >>> defined at http://www.w3.org/TR/html5-author/links.html#linkTypes >>> >>> and the original problem was: >>> >>> <p vocab="http://schema.org/" typeof="Person"> >>> My name is <a href="http://example.com/" property="homepage" >>> rel="nofollow">Stéphane Corlosquet</a>. >>> </p> >>> >>> generates, for text/html: >>> >>> <> a schema:Person; >>> schema:homepage "Stephane Corlosquet"; >>> schema:nofollow <http://example.com/>. >>> >>> and generates for application/xhtml+xml: >>> >>> <> a schema:Person; >>> schema:homepage "Stephane Corlosquet"; >>> <http://www.w3.org/1999/xhtml#nofollow> <http://example.com/>. >>> >>> There are really three problems that have been identified: >>> >>> 1. The different interpretation of @property given the presence of @rel. >>> >>> 2. Do values like "nofollow" and "alternate" generate triples in >>> HTML or XHTML documents? >>> >>> 2. Different triples are generated depending on whether the >>> fragment is in an HTML or XHTML serialized document. >>> >>> It is quite possible for the same document markup to be serialized via >>> HTML5 as either HTML syntax or XHTML syntax. The referring >>> specification is still HTML5. I think it would be really, really >>> unfortunate to continue generating different triples. Personally, I >>> wish I had noticed that earlier but I didn't. >>> >>> We need to parse out what option #1 really means in terms of the three >>> specifications HTML+RDFa 1.1, XHTML+RDFa 1.1, and RDFa Core 1.1 and >>> these three problems. >>> >>> For problem 1: >>> >>> Adjusting the interpretation of @rel values for HTML doesn't fix the >>> problem in general. @property will be interpreted differently if you >>> use a CURIE. The status quo is a "you lose, it is a quirk" situation >>> and having special cases for HTML/XHTML feels very unsatisfactory. >>> Especially given that we have no dynamic mechanism for loading a >>> profile for a host language. That is, we're building in special case >>> process for specific media types that only "fixes" this form them >>> alone. >>> >>> In retrospect, it was probably a mistake to use the presence of the >>> @rel/@rev attributes rather than their resolved values regardless of >>> the kind of document being processed. >>> >>> Fixing this for HTML/XHTML without changing RDFa Core 1.1 requires >>> change HTML+RDFa 1.1. and/or XHTML+RDFa 1.1 to modify the definition >>> of "present" used in step 11 of section "7.5 Sequence" in the RDFa >>> Core 1.1 document. It would only be available with these two media >>> types. Note that we have the same problem if someone puts an empty >>> @rel attribute. >>> >>> It would be much better to have the language adjusted in RDFa Core 1.1 >>> to address the resolved value. That's probably a substantive change >>> to that specification. >>> >>> >>> For problem 2: >>> >>> I just had a long talk with Murray Maloney about the history of >>> @rel/@rev in HTML. One gem that came from that conversation was that >>> it would have been much better to have used a CURIE or a URI. I can >>> see that viewpoint and what we have today can be considered a >>> syntactic convenience. Does that mean that they shouldn't generate a >>> triple? @rel="license" is just as important as @rel="dc:rights" >>> >>> I've said myself, that the set of actual values isn't well defined >>> beyond what is listed in the HTML5 (or previous) specification. XHTML >>> 1.1 had a different set but, looking forward, the only consistent set >>> is what is in HTML5. >>> >>> If a @rel value can be ignored, there is a new feature being >>> introduced for terms. Essentially, there is a set of term tokens that >>> can be ignored. All places where terms are processed should have the >>> same interpretation. >>> >>> If we go as far as excluding @rel="alternate", etc. in XHTML as well, >>> we'd have a problem in that other attributes like @property would have >>> inconsistent term processing unless we excluded them there as well. >>> >>> So, terms that are ignored need to be ignored everywhere. >>> >>> >>> For problem 3: >>> >>> Even though I have stated a preference for allowing and using HTML5's >>> rel values, I want even more a consistent world view between HTML and >>> XHTML syntaxes. We should get the same triples for the same markup. >>> Choices about the terms being ignored in HTML syntax documents should >>> be the same for XHTML syntax documents. >>> >>> We want these worlds to converge as much as possible. This does mean >>> we might be breaking with the past in terms of RDFa and XHTML 1.1. >>> Since we have HTML5, I assert that all we will have is XHTML as HTML5 >>> defines it. >>> >>> All this means we would need to change both HTML+RDFa 1.1 and >>> XHTML+RDFa 1.1 in some way (or combine them) so that their initial >>> contexts and other processing rules are virtually the same. >>> >>> -- >>> --Alex Milowski >>> "The excellence of grammar as a guide is proportional to the paucity of the >>> inflexions, i.e. to the degree of analysis effected by the language >>> considered." >>> >>> Bertrand Russell in a footnote of Principles of Mathematics >>> >> >
Received on Wednesday, 25 April 2012 20:52:40 UTC