← Prev in month ← Prev in thread

proximity exclusion flag

From
Ray Denenberg, Library of Congress <>
Date
2008-09-08T21:12:53+00:00
ID
011901c911f7$c2f5e920$
Thread
proximity exclusion flag
I've run across a problem with our proximity 
"proposal" in the message I posted last week, specifically:

----------------------------------------------------------------
-- 
Adding a boolean modifier 'prox' which acts the same as the current
boolean, 
however can be attached to either AND (the current style of
proximity) 
or  NOT for negative proximity.
Example:
* "fish and" not/prox 
chips
   ("fish and" followed by anything other than 
chips)
---------------------------------------

The problem is, I don't see how you can add proximity 
modifiers: if you put a slash after prox above, how do you know whether the 
modifier following the slash is a boolean modifier (modifying NOT) or a 
"modifier modifier" (modifying PROX).  

('m trying to come up with an example for the PPT I'm 
preparing, for the OGC meeting, something along the lines of "find cities with 
name 'washington' not within 50 miles of a city with name 'baltimore' 
".)

Back up and recall (nearly 20 years ago) that we had 
this conversation for Z39.50 as reflected in:

http://www.loc.gov/z3950/agency/markup/09.html

--------------------------------------------------------

3.7.2.1 The Proximity Test
The proximity test, 
ProxTest, includes a Distance, Relation, Unit, and two boolean flags: Ordered 
and Exclusion. 

  
Distance: Difference between the ordinal 
  positional values of the two operands. (e.g., if unit is 'paragraph,' distance 
  of zero means "same paragraph".) Distance is never negative.

  
Relation: LessThan, LessThanOrEqual, Equal, 
  GreaterThanOrEqual, GreaterThan, or NotEqual.

  
Unit: Character, Word, Sentence, Paragraph, 
  Section, Chapter, Document, Element, Subelement, ElementType, Byte, or a 
  privately defined unit.

  
Ordered flag: if set, the test is for "right" 
  proximity only (the left ordinal must not exceed the right ordinal and 
  Distance is compared with the difference between the right and left ordinals); 
  otherwise, the test is for "right" or "left" proximity. (Distance is compared 
  with the absolute value of the difference between the left and right 
  ordinals.)

  
Exclusion flag: if set, "not" is to be applied to 
  the operation (for example if the test with Exclusion flag 'off' is "'cat' 
  within 5 words of 'hat'," then the same test with Exclusion flag 'on' is 
  "'cat' not within 5 words of 'hat'").

---------------------------------------

 

In other words, in Z39.50 we have an exclusion flag 
for this purpose, which we don't have in CQL.   (Thanks to Ralph, who 
first articulated the distinction. I still remember, after all these 
years.  Or was it Bob Waldstein.  Oh well. Many Mark 
Hinnebusch.)  So I think that rather than changing proximity from a boolean 
to a boolean modifier, maybe we should just add this "exclusion" flag. 

 

Anyone agree with me on this?

 

--Ray
← Prev in month ← Prev in thread