Synopsis: how to state in OWL that a newer entry replaces an older one.

----

I have changed my mind on :Version. Reto had opened me to the idea that it should be possible for an entry to have multiple versions at the same time, as long as their content was different. So he suggested, one should have an English and a German version at the same time. This would be indeed an interesting structure, but it is not the one the Atom working group is working with, and so is not one for AtomOwl. (but other ontologies can work with those types of structures if they wish)

So I now believe that an entry is identified by its :id and :updated time stamp:

        [] cifp:productProperty ( :updated :id );
                a owl:InverseFunctionalProperty .          [1]

Ie: if two object have the same updated time stamp and id, then they are owl:sameAs.

We used to have a weaker relation that stated that :updated :id and :content had to be CIFPs [1]. This was weaker in that it would have allowed us to have two entries with the same time stamp if they had different contents (so they could have had an xhtml and an html content, or a German and a French content). This would have been an interesting concept, but it would not have been the one that the Atom working group is employing. How do I know?

I think this is made clear by the following things:

- The syntax spec states that there cannot be 2 entries with the same updated time stamp and id in the same feed (it is SHOULD restriction) - The protocol as far as I understand has a clear notion of one entry replacing another one. If it were possible to have 2 distinguishable entries with the same updated time stamp, then I think the protocol would have to be more subtle. (This needs more careful analyis) - The idea currently is that aggregators that read different feeds and see an entry with a later updated time stamp but same id, will present the later entry to the user (if they trust both feeds). No one is suggesting that one should only replace an earlier entry if the content is of the same type.

If this were not the case then an aggregator confronted with the following 2 entries

   [ a  :Entry;
     :id <tag:eg.com/e1>;
     :content [ :type "text/plain";
                :value "some text" ];
     :updated "2003-12-13T18:30:02Z"^^xsd:dateTime
   ].

   [ a  :Entry;
     :id <tag:eg.com/e1>;
     :content [ :type "text/html";
                :value "<html><body><b>some</b> text</body></html>" ];
     :updated "2003-12-15T20:50:33Z"^^xsd:dateTime
   ].

would not know what to present the user! Is the later entry presenting a new content that should be displayed side by side to the user? Or is the later entry replacing the earlier one?

I think the atom working group is clear about this. The later entry *replaces* the earlier one. But if the two entries have the same updated time stamp then it is impossible to tell which should replace which.

Kindof QED.

        Henry

[1] http://esw.w3.org/topic/CIFP

Reply via email to