On 16 Nov 2004, at 03:22, Bob Wyman wrote:
Walter Underwood wrote:
All the arguments for are based on structural similarity. That is
enough to suggest that they are related, but not enough to prove
it. A shopping cart and a baby stroller are structurally similar,
but that doesn't automatically make them related.
Darn. Walter beat me to it... Yes, the key is that Roundy's
arguments address only the form of the two elements, not their substance or
function. This is like saying that monkeys and men are the same because they
both have two arms, two legs, etc. -- they even share common ancestry.
Admittedly, in some contexts, it is useful to see both as "primates,"
however, in most other contexts, it is best to treat them as dissimilar.

Monkeys and men have a lot more dissimilarities than the structure that goes into the head of a document and the structure that is an Entry. At least on mine, Roundy's, Robert Sayre's and others analysis.


Structural similarity is of course no final criterion of identity. For physical bodies it is spacio-temporal identity. For structures that appear in specifications of the type we are dealing with, it structural similarity is a lot more weighty, especially if one finds no lack of functionality by attempting the equivalence.

The mere fact that we've chosen to provide a "title" in both head
and entry does not mean they are the same nor does it mean that "title"
means the same in both contexts. In fact, it does not. The "title" of a head
is not the head's title. Rather, it is the title of the feed that contains
the head. The title of an entry, on the other hand, is that of the entry
itself. One element contains data that describes itself -- the other
contains data that describes its parent and the parent of the entries in the
same feed. These differences are significant.

That is a good constructive point. :-)

There are I think, two different solutions to this.

1. Feed is a pair feed(head,stream)

a) The title of the Entry that goes into the head is the title of that Entry.
b) The feed has a head relationship to one and only one Entry.
This 'head' relationship is a special relationship, which makes an assertion about the Feed and the Entry. This can be paraphrased as saying that the Entry related to the Feed by the head relationship, that that Entry, call it headentry, that its copyright is the feed's copyright, that the headeantry's title is the feed's title, etc...


2. A Feed is a Entry

The feed *is* the Entry that is its head. This is simplest to understand. The
copyright of the head entry is the copyright of the feed, since that feed and the head Entry are the same object. A Feed in this conceptualization, simply is an Entry that points to other Entries.


        in programming terms

        class Feed extends Entry {
                List<Entry> entries = new ArrayList<Entry>();

                Entry getHead() {
                        return (Entry)this;
                }

                List<Entry> getEntries() {
                        return entries;
                }

                void addEntry(Entry e) {
                        entries.add(e);
                }
        }

In both situations you end up with the same result.

note: There may be another solution I have not thought of.

I think one could argue that many of these apparent similarities are
mere artifacts of the forms we've chosen. For instance, while I think it is
natural to think of the "title" of an entry, I would not have been surprised
if the supposedly similar element in head had been called "name." It seems
odd to me to speak of the "title" for a feed. While I won't write a Pace to
propose this, I would more comfortable speaking of the "name" of a feed and
the "title" of an entry. (It's just a personal aesthetic thing...)

Yes, but I might still have seen through your tricks ;-)

Other differences are very clear to me -- even though element names
are similar. For instance, I see a great difference (under US law) between
the "copyright" of the collection which is held in head and the copyright
for a distinct entry. These two similarly named elements are just as
different from each other as they are similar.

Ok, so perhaps you would really like the model in which a Feed is a subclass of Entry.


The copyright of the Feed is the copyright of the head Entry (ie. itself cast as an Entry, though that cast is not really necessary, due to property inheritance). As new Entries are added to the Feed the collection of Entries is of course copyrighted under the copyright of the Feed.

I think you would probably really like this model. It pushes the simplification even further. Atom would really deserve its name: the Entry is the Atom of the Blogging universe.

"It's All about the Entries, Stupid!"

Just because head and entry share a large number of similarly named
elements does not mean they are the same. Similarity of form does not imply
similarity of substance.


bob wyman



Reply via email to