W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > March 2008

Re: LC comment: Don't discriminate against "useless" triples

From: Dan Brickley <danbri@danbri.org>
Date: Mon, 31 Mar 2008 09:44:05 +0100
Message-ID: <47F0A455.5000707@danbri.org>
To: Micah Dubinko <mdubinko@yahoo-inc.com>
Cc: RDFa <public-rdf-in-xhtml-tf@w3.org>

Micah Dubinko wrote:
>
> These are personal comments, sent separately for the benefit of the 
> tracking system
This is also a personal comment for the LC. If I understand 'useless' 
triples correctly,
>
> The Last Call specification mentions "useless" triples and defines 
> rules whereby they can be omitted ("garbage collected", as referred to 
> on the list). In algorithmic terms, the changes involved here were 
> quite minor, only changing the order of a few steps in the sequence so 
> that a small bit of processing occurs after the main recursion. BUT, 
> this change is only minor for implementations that more-or-less follow 
> the sequence in section 5.5 of the Last Call spec. For implementations 
> work a different way, this change may introduce much more complexity. 
> In particular, with XSLT 1.0.
>
> Take this example from the spec:
> <div rel="foaf:knows">
> <div rel="foaf:knows">
>   <div rel="foaf:knows">
>     ...
>   </div>
> </div>
> </div>
[...]
> BTW, I object to the description of triples such as the inner ones in 
> the example above as "useless". To call them such is to second-guess 
> document authors without good cause.
Yes, I don't understand why they are being called useless. Is it just 
because their is no grounded entity on either end of the chain of 
relationships? While this might be a relatively uninformative fragment 
of RDF, there are many other ways of being uninformative. While it 
unusual and of questionable modeling taste,

<div rel="xyz:soldCheaplyByDanToMicahOnMonday">
<div rel="xyz:soldExpensivelyByMicahToBenOnTuesday">
  <div rel="xyz:givenAwayByBenToIvanOnWednesday">
    ...
  </div>
</div>
</div>

.... could be used to carry information. Consider domain and range of 
these properties to be xyz:OwnershipRecord. We could read the above RDFa 
and (given some RIF-like expansion of the properties) unpack enough to 
answer questions like "Does Ivan have anything that has been highly 
valued? Who is the earliest owner of it?"; "Who is the last known owner 
of something sold by Dan to Micah?" etc. We can call these unwieldy 
properties 'curried' as they follow a pattern from programming, see 
http://esw.w3.org/topic/CurriedFunction and we could argue about whether 
they're a good thing; but RDFa shouldn't care.

One of the key strengths of RDFa and RDF/XML is that the syntactic 
grammar minds it's own business (see also 'missing isn't broken', 
http://rdfweb.org/mt/foaflog/archives/000047.html ). Having the syntax 
engine throw away data because it looks boring or uninteresting is like 
having a well-meaning friend come in and tidy up a messy desk. 
Information can be found in the strangest places. Property chains of 
linked bnodes can certainly carry information in RDF, especially if we 
make the properties do more of the work. This might be ugly, but so are 
rdf:_1 rdf:_4 etc yet they are occasionally useful.


cheers,

Dan

--
http://danbri.org/
Received on Monday, 31 March 2008 08:44:32 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:01:56 UTC