- From: Henry Story <henry.story@bblfish.net>
- Date: Fri, 14 May 2004 15:40:36 +0200
- To: public-cwm-talk@w3.org
Two further notes on this subject: -------------- concerning the two versions of diff proposed by TimBL at http://www.w3.org/DesignIssues/Diff, namely diff:replacement or the pair diff:deletion and diff:insertion, I feel that the first make a lot more sense to me. With diff:replacement it is very clear that one thing has to be replaced with another. With diff:deletion and diff:insertion, it is not clear what the role of the Object of the statements are. { ?x bank:accountNo "1234578"} diff:deletion { ?x bank:balance 4000}; diff:insertion { ?x bank:balance 3575}. Well in the example it is clear that the first part is there in order to allow the variable ?x to be bound. But what if the node that is to be deleted does not contain a variable node, as here: {} diff:deletion { uri://something created 1948 } This would be the base case. And here one has to wonder what the role of the Object is. In any case I had such a situation and was not able to get cwm to work with this. I kept wondering what should go into the Object position. ---------------- As my understanding of cwm improves I think I can now more clearly state the thought I tried clumsily to express in the original post. I now agree that a diff as stated says what it is meant to say. If one wanted to be more specific and specify what the diff was about one could do it this way, assuming one has the facility to name graphs, as proposed by the Trix folks: (graph://OriginalGraph,graph://DiffedGraph) diff:transform ( {originalObject relatesTo originalValue} diff:replace {originalObject relatesTo differentValeu}, {OriginalObject2 relatesTo orgiginalValue} diff:replace {originalObject relatesDifferentlyTo differentValue} ) Ie one could use a new predicate diff:transform that would relate a pair of graphs to some (all?) of the differences between them.
Received on Friday, 14 May 2004 09:40:42 UTC