- From: Ivan Herman <ivan@w3.org>
- Date: Fri, 25 Mar 2011 12:12:50 +0100
- To: nathan@webr3.org
- Cc: Manu Sporny <msporny@digitalbazaar.com>, RDFa WG <public-rdfa-wg@w3.org>
- Message-Id: <82732414-0EAF-44EA-B652-C6C47B7E0AF8@w3.org>
This is where we are, I believe:
- I believe (and this seems to what Nathan or Greg also say) that the current spec for XML+RDFa is such that, in the absence of an explicit @about attribute no triples will be generated. Ie
<a>
<b property="q:r">something</b>
</a>
will generate no triples and the same holds, in my view, for
<a>
<c>
<b property="q:r">something</b>
</c>
</a>
In this sense I do not believe our decision on this week's call was wrong in a _logical/specification sense_. But it is also true that some of the RDFa 1.0 tests, related to SVG, were indeed wrong.
- All that being said, and thinking about it a bit further, I think we indeed made a mistake yesterday with the decision in terms of what the community expectation on this would be. We now formalize/generalize the XHTML+RDFa spec to the more general XML world; in the former case we did define an implicit @about on <body> and <head> and I believe it is a reasonable thing to say that we generalize this instead of the decision we took yesterday. In _that_ sense, that decision was wrong. Manu's proposal is therefore to overturn the decision of yesterday and introduce a rule that says "have an explicit @about=BASE on the top element, unless there is already one" (it is more complicated, I know, but it boils down to that, effectively.) _And I agree with the proposal_.
The current text in the XHTML+RDFa document says:
[[[
In section 7.5, processing step 6, if no URI is provided by a resource attribute (e.g., @about, @href, @resource, or @src), then first check to see if the element is the head or bodyelement. If it is, then act as if there is an empty @about present, and process it according to the rule for @about.
]]]
and the same for 7.6. I would propose to add this to the XML+RDFa language profile except for the fact that this is for the top level element rather than for <head> or <body>. This means that other host languages may define this to be different than others.
For backward compatibility reasons, however, I do not think we can remove these from the XHTML definition and rely on some generic approach. Indeed
<html about="something">
<head>
<meta property="a:b">aaaa</meta>
</head>
</html>
have to generate
base a:b "aaaa" .
according to RDFa 1.0!
One more reasons to make this language specific, so to say.
Ivan
On Mar 25, 2011, at 10:46 , Nathan wrote:
> Manu Sporny wrote:
>> On 03/24/2011 10:39 AM, Shane McCarron wrote:
>>> I disagree - we say this EXPLICITLY already. For all contexts. ...
>>> Note that the parent subject is set to the base value. What am I
>>> missing here?
>> That 'parent subject' has nothing to do with setting the 'new subject'
>> when operating on the root element of the document. However, the 'new
>> subject' is eventually initialized to the 'parent subject' when step #13
>> is hit when processing all elements nested under the root element.
>> We have a problem - and I've verified that problem with Shane, Mark, and
>> Gregg. This is a non-editorial problem, and is a bug with RDFa 1.0. We
>> didn't see the issue until now because the XHTML+RDFa spec masked the
>> problem by setting about="" on HEAD and BODY.
>> However, XML+RDFa 1.1 doesn't do this, but the processing rules will
>> eventually set the 'new subject' to the value of 'base' via this rule in
>> step #13:
>> http://www.w3.org/2010/02/rdfa/sources/rdfa-core/#PS-recurse
>> Specifically, this is run for the root element:
>> """
>> * the base is set to the URI of the document (or another value
>> specified in a language specific manner such as the HTML base
>> element);
>> * the parent subject is set to the base value;
>> """
>> and then this
>> """
>> the parent object is set to value of current object resource, if
>> non-null, or the value of new subject, if non-null, or the value of the
>> parent subject of the current evaluation context;
>> """
>> then this is run for the element under the root element:
>> """
>> new subject is set to the URI obtained from the first match from the
>> following rules:
>> ...
>> otherwise, if parent object is present, new subject is set to the value
>> of parent object. Additionally, if @property is not present then the
>> skip element flag is set to 'true';
>> """
>
> base value = null (initial evaluation context)
> parent subject = base value (initial evaluation context) = null
> parent object = null (initial evaluation context)
> current object resource = null (step 1)
> new subject = parent object (step 6/7) = null
>
> step 13:
>
> the parent subject is set to the value of new subject, if non-null, or the value of the parent subject of the current evaluation context;
> = null
>
> the parent object is set to value of current object resource, if non-null, or the value of new subject, if non-null, or the value of the parent subject of the current evaluation context;
> = null
>
> all the values are set to null.
>
>> That makes the resolution we made today absolutely wrong:
>> http://www.w3.org/2010/02/rdfa/meetings/2011-03-24#resolution_2
>
> how?
>
>> It also means that we have had a bug for SVGTiny1.2+RDFa 1.0 for quite
>> some time (but it really didn't affect anybody).
>> We need to fix this before 2nd Last Call because it could result in a
>> 3rd Last Call. We /could/ go into 2nd Last Call and say that we're not
>> going to address this issue, but it will inevitably lead to someone
>> asking why this:
>> <svg property="dc:title" content="The Image">...</svg>
>> doesn't result in a triple, but this does:
>> <svg><g property="dc:title" content="The Image">...</g></svg>
>
> doesn't look like it to me! I can't say any way for that to produce a triple. for it to produce a triple then one of the following would need to be satisfied /after/ the root element has been processed:
>
> - base != null
> - parent subject != null
> - parent object != null
>
> and they are all null.
>
> Best,
>
> Nathan
>
>> and why this results in a blank-node of type "foaf:Document":
>> <svg typeof="foaf:Document">...</svg>
>> The current approach to fix this is to assume about="" on the root
>> element of all RDFa documents. This works across HTML, XML, SVG and all
>> other document types. We already explored initializing 'new subject' to
>> 'base', and 'parent object' to 'base' - they're both problematic.
>> Shane's having a think on it.
>> Here's what we'll try to do tomorrow:
>> 1. PROPOSE and RESOLVE to fix the issue above, retracting the decision
>> made today about XML+RDFa and about="" (which is clearly wrong).
>> 2. PROPOSE and RESOLVE to go into 2nd Last Call with the change made
>> in #1.
>> We will be PROPOSE/RESOLVING via this mailing list, so it is vital that
>> as many RDFa WG members respond with their "+1/-1" as possible. So, keep
>> your eyes peeled for the proposals tomorrow and make sure to send in
>> your +1/-1 or we'll miss our narrow window for 2nd LC.
>> -- manu
>
>
----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf
Attachments
- application/pkcs7-signature attachment: smime.p7s
Received on Friday, 25 March 2011 11:13:46 UTC