Re: Whois++ constraints
Peter Deutsch <peterd@bunyip.com> Thu, 08 April 1993 08:03 UTC
Received: from aggie.ucdavis.edu by ucdavis.ucdavis.edu (5.61/UCD2.04) id AA10442; Thu, 8 Apr 93 01:03:17 -0700
Received: from ucdavis.ucdavis.edu by aggie.ucdavis.edu (5.61/UCD2.04) id AA18952; Thu, 8 Apr 93 00:29:50 -0700
Received: by ucdavis.ucdavis.edu (5.61/UCD2.04) id AA09135; Thu, 8 Apr 93 00:22:19 -0700
Sender: ietf-wnils-request@ucdavis.ucdavis.edu
Received: from mocha.bunyip.com by ucdavis.ucdavis.edu (5.61/UCD2.04) id AA09034; Thu, 8 Apr 93 00:19:25 -0700
Received: from [192.197.208.2] by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b) id AA10919 (mail destined for ietf-wnils@ucdavis.edu) on Thu, 8 Apr 93 03:17:03 -0400
Received: by expresso.bunyip.com (NX5.67c/NeXT-1.0) id AA26846; Thu, 8 Apr 93 03:14:41 -0400
Message-Id: <9304080714.AA26846@expresso.bunyip.com>
From: Peter Deutsch <peterd@bunyip.com>
Date: Thu, 08 Apr 1993 03:14:39 -0400
In-Reply-To: Mark Prior's message as of Apr 8, 15:16
X-Mailer: Mail User's Shell (7.2.4 2/2/92)
To: Mark Prior <mrp@itd.adelaide.edu.au>
Subject: Re: Whois++ constraints
Cc: ietf-wnils@ucdavis.ucdavis.edu
g'day Mark, Welcome back. I trust it wasn't too gruelling a flight across the pond... [ You wrote: ] > Can we please agree to change the syntax for the constaints before our > respective servers are released. > > I would suggest the following syntax > > <keyword> [ "=" <value> ] { "," <keyword> [ "=" <value> ] } I see no problems with this as the general structure of global constraints, although we'll obviously have to watch things to be sure that the BNF allows for the various legal constaints and options. One example that comes to mind is that I've been assuming so far that we can allow only one of the possible output format specifiers per query. Ditto for search type and so on. Of course, in these particular examples, we may be able to punt the problem. I'm actually wordsmithing the document right now and I've added the following section to the overview part in response to your question about how to handle muliple template specifier terms, and multiple terms in general: # The WHOIS++ Search Selection Mechanism # --------------------------------------- # # The WHOIS++ search mechanism is intended to be extremely simple. A search # command consists of one or more search terms, with an optional set of # global constraints and option specifiers that modify or control the search. # Search terms allow the user to specify template type, attribute, value # or handle that any record returns must satisfy. # # A WHOIS++ database may be seen as a single rolodex-like collection of # typed records. Each term specifies a further constraint that the # selected set of output records must satisfy. Each term may thus be # thought of as performing a subtractive selection, in the sense that any # record that does not fulfill the term is discarded from the result set. # There is currently no provision for Boolean searches (other than an # implied AND between search terms) or other elaborate more search # mechanisms in WHOIS++. # # The simple, subtractive nature of WHOIS++ queries, and the lack of # Boolean search operations, could lead to possible ambiguities if # certain combinations of search terms were allowed. For example, if the # user were to specify more than one template type for a given search # either no matches could occur (since it is implicit that no record can # have more than one template type associated with it) or a logical OR # operation would have to be inferred. # # To handle such cases, the second and all subsequent terms are to be # discarded and a suitable warning returned along with the results of # the search. This occurs when either multiple template types, or # multiple handles are specified in a search. Thus, we _could_ handle such things as multiple output format specifiers the same way I've proposed handling multiple template or handle specifiers - accept the first, then toast the rest, then run the query. The problem with this approach for output format is that if somebody goofs, it's conceivable that they end up specifying (and thus receiving) lots of unwanted full record search results (which when we have MIME output sound and video is going to be a bear.. :-( Because of this, in the case of output format it may be better if we were to take a more conservative approach and simply declare an error and bail out. This raises the whole spectre of fully specifying error conditions (eeew!). At Alan's suggestion, I've printed out RFC 959 (the ftp spec) to consider their various error messages for inspiration. I like the general scheme of classifying errors by type and severity. I'll post more on this once I've had to chance to study this more closely. So, Mark, on a first reading I see no problem with what you're proposing and it seems to fit in with the growing power of the general constraints and options features nicely (of course, it's 2:30 here and I'm getting punchy. I may disagree with myself tomorrow, but I doubt it). > Having "," as a separator allows an implementation that doesn't support > all the options to easily skip over constraints it doesn't understand > by just skipping up to the next ",". Sure does. Don't know why I didn't put that in on the first pass. Probably because it, too, was written at 3am. Or maybe because at that point the only constraints we had were search type and response type (and maybe MAXHITS). Now they're taking shape your approach seems to make a lot of sense. > I would also like to transform the constraints "full", "handle", > "abridged", and "summary" into "format=(full|handle|abridged|summary)". > This will allow us to easily add formats, such as mime, later on > without extending the keywords into infinity. I definitely agree. Consider the doc revised on this (unless someone else squeals RSN??). FYI, I've finished most of the revision of the first part (the easy bit since this is all exposition). I've done some basic wordsmithing (eg: I've added the standard INTERNET DRAFT intro, a contents page, an ACKNOWLEDGEMENTS section, revised the wording throughout the first part, etc.) The doc really is starting to take shape. I still have a lot of detailed grunge work to do in paret II, to finish adding the options stuff, redoing the output format stuff to know about MIME, adding the new error and warning message stuff and cleaning up the BNF (which just never got done, and is now obviously changed considerably after Columbus). There's obviously still lots to do but I'll post a new draft as soon as I have something. Meanwhile, please keep posting comments and feedback... It's late enough here now that I'm going to call it a night. As more issues come up I'll post (unless Mark beats me to it?? :-) - peterd -- ------------------------------------------------------------------------------ Peter Deutsch, peterd@bunyip.com President, (514) 875-8611 (phone) Bunyip Information Systems Inc. (514) 875-8134 (fax) "any sufficiently advanced magic is indistinguishable from technology" (- with apologies to Arthur C. Clarke, who almost got it right...) ------------------------------------------------------------------------------
- Whois++ constraints Mark Prior
- Re: Whois++ constraints Peter Deutsch
- Re: Whois++ constraints Mark Prior
- Re: Whois++ constraints Mark Prior
- Re: Whois++ constraints Peter Deutsch
- Re: Whois++ constraints Peter Deutsch
- Re: Whois++ constraints Mark Prior
- Re: Whois++ constraints Peter Deutsch
- Re: Whois++ constraints Mark Prior