search-ws message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: proximity exclusion flag
- From: "Ray Denenberg, Library of Congress" <rden@loc.gov>
- To: <search-ws@lists.oasis-open.org>
- Date: Mon, 8 Sep 2008 17:13:37 -0400
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]