[Date Prev][Date Next] [Chronological] [Thread] [Top]

A tricky matched values problem - I vote for (2)!!



Hi, David!

Good to have your analysis, which I *generally* agree with.  But ...

With 1A, consider a filter OR(A, B) where, with a particular entry, both
A and B are true; as a result of this (using 1A), assume that A would
cause a value x to be returned, and that B would cause a value y to be
returned.

Presumably you would return both x and y with 1A, even though neither A
nor B could be *completely* said to have contributed, since either could
be omitted without affecting the outcome.

It was consideration of this kind of issue that led to the simple and
easy-to-implement rough-justice rule: if a filter item is TRUE, send the
value anyway.  I don't defend it at all on philosophical grounds.

My view is that your solution 2 is *much* the better solution because of
its direct approach to solving the problem, since matched-values was
always a bit kloodgy for the reasons that you suggest.  I think that it
would be much better for FDAS/F.510, too.  Something has to change with
existing MVO implementations, and (2) presents no technical challenges.

Best wishes

Anthony

In message <E11cz2q-00018p-00@rhenium.btinternet.com>, David Chadwick
<d.w.chadwick@salford.ac.uk> writes
>First let me apologise for taking so long to answer all the emails on  this 
>topic, but I have been up to the proverbials in work (I still am, its  now 
>10,30pm on Sunday evening).
>
>Firstly I do not believe that the Molesworth principle should apply for  the 
>matched values control. This is because the user, in specifying  this control, 
>is obviously trying to limit the size of the response,  therefore the correct 
>action by the server would be the Molesless  principle if there were one i.e. 
>if 
>in doubt return less attribute values  rather than more.
>But I am not advocating either principle, but rather I am agreeing  with Paul 
>Dale that sound logic and a consistent and easily  reasoned scheme is needed. 
>And as Erik said "we need to be  precise".
>
>Harald has rightly pointed out that quote "it might be better to have a  
>control 
>that tells the server something about what the client wants  back rather than 
>something about how he wants the search criteria  treated." What matched values 
>was trying to do was both with one  simple boolean. ie. the matched values 
>boolean was saying  something about what the client wanted back (i.e. limit the 
>values),  but using the search filter to specify precisely which values are to  
>be limited in the return. The trouble as we can see arose because  the search 
>filter can be a mixture of truths, unknowns and falses,  and a simple 
>matchedValuesOnly boolean was too blunt a tool (as  currently specified) to 
>differentiate between them. It therefore was  not precise enough in its 
>specification.
>
>Therefore it seems that there are two sensible options that can be  taken:
>
>1) is to tighten up considerably on the definition of the current  MVO boolean. 
>There are three views of how to tighten up the  definition. 1A) One is to say 
>that only those attributes that  contributed to the overall truth of the filter 
>are governed by the MVO  boolean. 1B) Another is to say that if the filter item  
>was true then  MVO applies to the attributes in the filter item (even if the 
>subfilter  containing the filter item was false). 1C) And the final one 
>suggested  by Bruce was if the attribute was in the filter, even if the filter 
>item  was false, then apply MVO.
>
>2) the other is to replace the boolean by a return filter (as  suggested by 
>both 
>Harald and Bruce) that acts on the attributes to  be returned and filters out 
>some of the values. This works  independently of, and after, the Search filter.
>
>My preferred approach is the first, 1A) i.e.only those attributes that  
>contributed to the overall truth of the filter are governed by the MVO  
>boolean. 
>My reasons are as follows:
>
>I reject the current X.500 text (option 1B) for the following reason:
>subfilters that evaluate false or undefined might as well be missing  from the 
>filter, and if they were there on their own then no entries  would be returned. 
>THerefore they have no claim to act on the  returned values of any entries.
>
>I reject option 1C) as it is too loose and it does not work properly for  false 
>filter items, as presumably no attribute values would be  returned from these 
>attributes.
>
>Option 2) has its merits, and is clean. The reason for rejecting it is  
>compatibility with X.500, and that option 1A can (as Mark points out)  do the 
>same task anyway, but perhaps not quite as efficiently. So  option 2) might be 
>more efficient than 1A) but at the expense of  compatibility with existing 
>implementations.
>
>I am happy to update the ID was the proposed solution 1A unless  anyone has 
>strong objections to this.
>David
>
> ***************************************************
>David Chadwick IS Institute, University of Salford, Salford M5 4WT Tel +44 161 
>295 5351  Fax +44 161 745 8169 Mobile +44 790 167 0359 Email 
>D.W.Chadwick@salford.ac.uk Home Page  http://www.salford.ac.uk/its024/chadwick.
>h
>tm Understanding X.500  http://www.salford.ac.uk/its024/X500.htm X.500/LDAP 
>Seminars http://www.salford.ac.uk/its024/seminars.htm Entrust key validation 
>string MLJ9-DU5T-HV8J
>***************************************************

Anthony Hodson <aeh@xdotd.demon.co.uk>      X   X    DDD
XdotD Associates                             X X  O  D  D
Spring Lanes House, Holly Spring Lane         X  OOO D   D  
Bracknell, Berks RG12 2JL, ENGLAND           X X  O  D  D
Tel: +44 1344 310665                        X   X    DDD
Mob: +44 771 360 7086
Fax: +44 870 056 8242