Re: Proposal for an additional 'link type' for rdf:type

Mark Birbeck wrote:
> Hi Ivan,
> 
> I'm not sure if I'm following you here, so my apologies.
> 
> Tthe only thing left to resolve on @instanceof is what should happen
> if *both* @about and @resource are on the same element, along with
> @instanceof. And even then, the only thing to resolve is whether
> @instanceof takes its subject from @about or from @resource--the
> behaviour of chaining is clearly defined, and unaffected.
> 
> So the question I believe I have stumbled upon is this; @instanceof
> appearing on its own on an element will generate a bnode (that's
> already agreed):
> 
>   <div instanceof="foaf:Person">
>     ...
>   </div>
> 
> yields:
> 
>   _:div1 a foaf:Person .
> 

O.k., it is good that this came up. So, a purely procedural issue (not
to you, but the group!): has all the issues around @instanceof been 100%
closed? I tried to look in the recent minutes, I found only:

http://www.w3.org/2007/09/20-rdfa-minutes.html#item03

but it does not give a ful answer to the issues of

- what happens if there is @instanceof with both @about/@resource
- what happens if there is an @instancof only and nothing else

I know that the current syntax document does give answers, but I was not
sure whether this was a place holder only or a final decision. The
second issue is raised by, eg,

http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2007Sep/0169.html

but I have not seen any resolution or vote. No trace in the issues' list
either. _It may be my fault_, in which case sorry...

(Yes, all these do not affect chaining, but they do affect your issues,
that is why I raise this...)

Maybe it is a good time to look at the test cases I just submitted

http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2007Oct/0001.html

and see whether the anticipated results are really what we want. That
would put that part of the discussion behind us.... We can then look at
your stuff:-)

Ivan




> However, if we take that behaviour to <head>, and add in some other metadata:
> 
>   <head instanceof="foaf:PersonalProfileDocument">
>     <link rel="foaf:maker" href="#me" />
>   </head>
> 
> we get this:
> 
>   _:head1 a foaf:PersonalProfileDocument .
>   _:head1 foaf:maker <#me> .
> 
> Now you could say that it's the author's own fault, but in keeping
> with the idea of not 'messing with' the host language, I believe that
> this is undesirable, and changes the behaviour of @rel in a way that
> we should not be considering. Since we'd probably agree that it would
> be better to generate this:
> 
>   <> a foaf:PersonalProfileDocument .
>   <> foaf:maker <#me> .
> 
> I was simply suggesting that we take advantage of the fact that we
> already say that there is an 'implied' @about="" on <head>, and that
> what we needed to do was to draw that out a little more explicitly.
> 
> (To put it a different way, I think it's quite easy to present this as
> *not* an exception; the rules for obtaining a 'unique element
> identifier' already say that @about takes precedence, so we need to be
> clear that this rule should include implied values for @about--such as
> the one on <head>--as well as 'real' values. It's not really very
> different to saying that there is a default attribute value in a
> schema.)
> 
> If I've missed your disagreement then I apologise. :)
> 
> Regards,
> 
> Mark
> 
> On 01/10/2007, Ivan Herman <ivan@w3.org> wrote:
>> (This is also an answer to Niklas' response and your response to Niklas'
>> response...)
>>
>> I am still not convinced:-( And the for the same reasons as before: I
>> would like to avoid the type of spaghetti specification that says: "this
>> is the general rule, but with these and these values the behaviour is
>> different...".
>>
>> However. Let us make one step back. AFAIK, the rules of @instanceof are
>> still _not_ cast in concrete. There were several alternatives in the
>> past but I have not seen any final resolution around those. I also
>> remember that the issue of what would happen with
>>
>> <div instanceof="bla:bla">
>>
>> ie, when 'instanceof' was the only RDFa attribute. I know that the
>> current rule are aimed at what you say, ie, a blank node is generated as
>> a subject of instanceof and that should be chained down. But I also
>> remember another line of thought by Ben who, essentially, said:
>>
>> [[[
>> @instanceof applies to the subject for all the children (ie, no special
>> treatment for @about, just as if @instanceof was part of a a child
>> element), _except_ when @instanceof is the only element, in which case
>> it applies to the [current element]
>> ]]]
>>
>> another way of defining @instanceof would be something like
>>
>> [[[
>> if the attributes @rel/@rev/@resources are present on the element, then
>> @instanceof applies on [current object resource]; otherwise it applies
>> on [current element]
>> ]]]
>>
>> In both cases, your issue would become moot because, in both cases,
>>
>> <head instanceof="foaf:PersonalProfileDocument">
>>
>> would yield exactly what you need.
>>
>> Bottomline: I would propose to postpone this issue until @instanceof is
>> 100% defined and cast into the syntax document. (My test cases might
>> help.) We can come back to this later.
>>
>> Ivan
>>
>> Mark Birbeck wrote:
>>> Hi Ivan,
>>>
>>> Thanks for forcing me to think it through more. :) I think that there
>>> is probably a neat way to write this using current mark-up, although
>>> working through it has highlighted something that I think we need to
>>> clarify.
>>>
>>> Sticking purely with trying to make the rdf:type use-case easier
>>> (i.e., rather than the general use of RDF/RDFS namespaces), there is
>>> nothing to stop us doing this:
>>>
>>>   <html
>>>    xmlns="http://www.w3.org/1999/xhtml"
>>>    xmlns:foaf="http://xmlns.com/foaf/0.1/"
>>>   >
>>>     <head>
>>>       <title>My profile</title>
>>>       <link about="" instanceof="[foaf:PersonalProfileDocument]" />
>>>     </head>
>>>      .
>>>      .
>>>      .
>>>   </html>
>>>
>>> It looks odd, since there is no @rel or @rev, but it is allowed by the
>>> syntax. But once you go down that route, you might as well use the
>>> following, which is also allowed by the syntax, and is probably much
>>> clearer in terms of intent:
>>>
>>>   <html
>>>    xmlns="http://www.w3.org/1999/xhtml"
>>>    xmlns:foaf="http://xmlns.com/foaf/0.1/"
>>>   >
>>>     <head about="" instanceof="[foaf:PersonalProfileDocument]">
>>>       <title>My profile</title>
>>>     </head>
>>>      .
>>>      .
>>>      .
>>>   </html>
>>>
>>> Which brings us to the point that I think we need to clarify; what if
>>> I wrote this:
>>>
>>>     <head instanceof="[foaf:PersonalProfileDocument]">
>>>       <title>My profile</title>
>>>       <meta property="dc:creator" content="John Doe" />
>>>     </head>
>>>
>>> In our current rules this would generate a new bnode for <head>, and
>>> the dc:creator property would apply to that, which I don't think is
>>> desirable. But if we were to make it a little more explicit that the
>>> 'identity' of <head> is the current document, unless overridden
>>> *explicitly* by @about, then my rdf:type use-case falls out quite
>>> neatly to the following mark-up:
>>>
>>>   <html
>>>    xmlns="http://www.w3.org/1999/xhtml"
>>>    xmlns:foaf="http://xmlns.com/foaf/0.1/"
>>>   >
>>>     <head instanceof="[foaf:PersonalProfileDocument]">
>>>       <title>My profile</title>
>>>     </head>
>>>       .
>>>       .
>>>      .
>>>   </html>
>>>
>>> I think that's actually quite clear from the point of view of what an
>>> author is trying to do, and it has also exposed that we might need to
>>> say a little more about what happens with the <head> element.
>>>
>>> What do you think?
>>>
>>> Regards,
>>>
>>> Mark
>>>
>>>
>>>
>>> On 01/10/2007, Ivan Herman <ivan@w3.org> wrote:
>>>> Hm. You won't like me, but I am not sure I like it:-)
>>>>
>>>> Though is see the rationale, we create some sort of an odd case. At the
>>>> moment the agreement is that a @rel value without a CURIE prefix is
>>>> considered to be in
>>>>
>>>> http://www.w3.org/1999/xhtml/vocab#
>>>>
>>>> and that is it. This is a very clear and easy-to-follow rule. What you
>>>> propose is that, well, this is true, _except_ for the value of
>>>> instanceof that behaves differently. I am not sure it is good if we
>>>> begin to introduce such exceptions.
>>>>
>>>> Or did I misunderstand you?
>>>>
>>>> A possible way out is to say that the 'rdf:' prefix (and probably the
>>>> 'rdfs:' prefix) will always be added to the result of an RDFa processor
>>>> with the usual values. This is not very nice either, but I would prefer
>>>> to solve your problem that way...
>>>>
>>>>
>>>> Ivan
>>>>
>>>> Mark Birbeck wrote:
>>>>> Hello all,
>>>>>
>>>>> Whilst considering RDFa use in the wild, it occurred to me that
>>>>> constructs like the following would almost certainly become quite
>>>>> common:
>>>>>
>>>>>   <html
>>>>>    xmlns="http://www.w3.org/1999/xhtml"
>>>>>    xmlns:foaf="http://xmlns.com/foaf/0.1/"
>>>>>    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>>>>   >
>>>>>     <head>
>>>>>       <title>My profile</title>
>>>>>       <link rel="rdf:type" resource="[foaf:PersonalProfileDocument]" />
>>>>>     </head>
>>>>>     .
>>>>>     .
>>>>>     .
>>>>>   </html>
>>>>>
>>>>> If the author wants to avoid having to include the RDF namespace, they
>>>>> would have to change their mark-up to look something like this:
>>>>>
>>>>>   <html
>>>>>    xmlns="http://www.w3.org/1999/xhtml"
>>>>>    xmlns:foaf="http://xmlns.com/foaf/0.1/"
>>>>>   >
>>>>>     <head>
>>>>>       <title>My profile</title>
>>>>>     </head>
>>>>>     <body about="" instanceof="foaf:PersonalProfileDocument">
>>>>>       .
>>>>>       .
>>>>>       .
>>>>>     </body>
>>>>>   </html>
>>>>>
>>>>> However, if we added an additional link type, such as 'a' or
>>>>> 'instanceof', we could also allow the following mark-up:
>>>>>
>>>>>   <html
>>>>>    xmlns="http://www.w3.org/1999/xhtml"
>>>>>    xmlns:foaf="http://xmlns.com/foaf/0.1/"
>>>>>   >
>>>>>     <head>
>>>>>       <title>My profile</title>
>>>>>       <link rel="instanceof" resource="[foaf:PersonalProfileDocument]" />
>>>>>     </head>
>>>>>     .
>>>>>     .
>>>>>     .
>>>>>   </html>
>>>>>
>>>>> This avoids the need to declare the RDF namespace, and keeps the
>>>>> metadata in the head of the document which seems more appropriate for
>>>>> this particular kind of statement.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Mark
>>>>>
>>>>>
>>>> --
>>>>
>>>> Ivan Herman, W3C Semantic Web Activity Lead
>>>> Home: http://www.w3.org/People/Ivan/
>>>> PGP Key: http://www.ivan-herman.net/pgpkey.html
>>>> FOAF: http://www.ivan-herman.net/foaf.rdf
>>>>
>>>>
>>>
>> --
>>
>> Ivan Herman, W3C Semantic Web Activity Lead
>> Home: http://www.w3.org/People/Ivan/
>> PGP Key: http://www.ivan-herman.net/pgpkey.html
>> FOAF: http://www.ivan-herman.net/foaf.rdf
>>
>>
> 
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Monday, 1 October 2007 13:58:26 UTC