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

(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

Received on Monday, 1 October 2007 13:19:25 UTC