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/