- From: Shane McCarron <shane@aptest.com>
- Date: Thu, 11 Sep 2008 10:24:35 -0500
- To: Steven Pemberton <steven.pemberton@cwi.nl>
- CC: Mark Birbeck <mark.birbeck@webbackplane.com>, Micah Dubinko <Micah.Dubinko@marklogic.com>, Toby A Inkster <tai@g5n.co.uk>, RDFa <public-rdf-in-xhtml-tf@w3.org>
The problem is @typeof might have a value, but that value might be an INVALID curie. An INVALID curie would map to "", so at that point you need a rule for what the behavior is. Steven Pemberton wrote: > > But is typeof="" even valid? If it isn't, then surely we don't have to > define it. > > The datatype for typeof says it is a list of CURIEs, but doesn't say > if it is one or more, or zero or more. I had always assumed one or more. > > Of course if typeof="" is a useful use-case, then we can define it, > but I am not in favour of defining semantics for incorrect markup, > because it is a neverending process. What happens with > typeof="foo:bar:bla" or type-of="bla", etc, etc. > > Steven > > > On Sun, 07 Sep 2008 21:48:33 +0200, Mark Birbeck > <mark.birbeck@webbackplane.com> wrote: > >> Hi Micah/Toby, >> >> I haven't had chance to check the wording, but Micah is right. :) >> >> A similar issue came up in relation to @rel and @rev (spotted by Ben >> and Ivan, I believe), which we fixed. It's a shame that we didn't spot >> the related @typeof issue at the same time. >> >> Anyway, the core idea is that there are a number of different ways >> that you might end up with an 'empty' value, not just one that is >> literally empty. >> >> For example, if you have @typeof="foo", and "foo" is not a known >> token, then the default graph will contain no representation of the >> type of the bnode. To all intents and purposes, the @typeof is >> 'empty'. >> >> But since the specification allows other graphs to be created, there >> may be some other graph that contains: >> >> _:bnode a <whatever foo is> . >> >> So if we want to tie two graphs together, we need to know the bonde >> value. >> >> This means that when we see a @typeof we need to create the bnode, >> regardless of whether the @typeof itself contains anything for our >> graph, because we cannot tell the difference when parsing between >> this: >> >> typeof="" >> >> and this: >> >> typeof="notforus" >> >> I.e., we need to unconditionally create the bnode. >> >> Regards, >> >> Mark >> >> On Sun, Sep 7, 2008 at 6:36 PM, Micah Dubinko >> <Micah.Dubinko@marklogic.com> wrote: >>> >>> This is an interesting case. >>> >>> My impl produces this: >>> >>> _:bnode dc:title "xyzzy" >>> >>> Which I think might actually be right. >>> >>> The mere presence of @typeof triggers creating a new bnode. >>> But since it doesn't have a valid CURIE, there is no generated >>> triple with >>> rdf:type. >>> >>> Agree that a minor editorial clarification would be nice. >>> >>> -m >>> >>> >>> On 9/7/08 2:30 AM, "Toby A Inkster" <tai@g5n.co.uk> wrote: >>> >>>> >>>> What is the meaning of this? >>>> >>>> <div about="#foo"> >>>> <div typeof=""> >>>> <span property="dc:title">xyzzy</span> >>>> </div> >>>> </div> >>>> >>>> Is "xyzzy" the title of "#foo" or the title of a BNode created by the >>>> second <div>? >>>> >>>> Step #4 and #5 in the processing sequence say "if @typeof is present" >>>> then typeof sets a new subject. However, step #6 says of @typeof: "if >>>> present, the attribute must contain one or more URIs" (i.e. not zero >>>> or more). >>>> >>>> Can an empty typeof set a new subject, or is it invalid and thus >>>> ignored? It would be nice if the syntax document could be clarified. >>>> >>>> Yes, I know it would be helpful if I'd raised this issue before RDFa >>>> reached PR stage, but I've only just noticed it. >>> >>> >>> >> >> >> > > -- Shane P. McCarron Phone: +1 763 786-8160 x120 Managing Director Fax: +1 763 786-8180 ApTest Minnesota Inet: shane@aptest.com
Received on Thursday, 11 September 2008 16:02:26 UTC