- From: Babich, Alan <ABabich@filenet.com>
- Date: Thu, 17 Jun 1999 18:47:52 -0700
- To: www-webdav-dasl@w3.org
<alan> My comments are interspersed. </alan> Alan Babich -----Original Message----- From: Yaron Goland [mailto:yarong@microsoft.com] Sent: Wednesday, June 16, 1999 3:42 PM To: 'Babich, Alan'; www-webdav-dasl@w3.org Subject: RE: Issue: JW7 (redirects) I suspect I may have missed the point here. Are we discussing getting rid of the concept of search arbiters (bad idea) or just getting rid of LDAP esque search redirections (good idea)? If the later than I have already said this probably isn't a V1 feature and given the solution I provided which allows the feature to be added later in a 100% backwards compatible way it would seem a really good idea to rip it out now. Also, Alan, your comment regarding XYZ is NULL is very disturbing to me. If DASL can't distinguish between "The property exists and its value is null" and "The property doesn't exist" then DASL has a very serious hole in its specification that needs to be immediately repaired. <alan> Yaron: First, let me say that the point of my e-mail was to recommend that we not use a particular rationale to justify (or refute) keeping, adding, or dropping a feature: I want to keep things simple and make it possible to implement things efficiently. So, I'm uncomfortable with arguments that assume that we could figure out what properties are supported by a specified arbiter for a specified scope, then figure out what role these properties play in the query, and then decide whether there can be any possible hits from the query from the arbiter in the specified scope, then if so ... (do whatever). <alan> <alan> Second, Yaron, let me try to put your mind at ease: There are no big holes in the DASL spec. One thing you can do in DASL is try to find out what properties are supported by query schema discovery (QSD). High end document management systems all have a centralized property schema, and presumably you could discover it. In contrast, low end systems do not necessarily have a centralized schema, but we consider them to be an important use case for WebDAV. Therefore, QSD is optional in DASL. Note that for the case QSD is not supported, it would be very expensive to discover what properties are supported, because you would have to fetch all the resources using PROPFIND, asking for all the properties supported on each resource, and take the union of all of the properties returned over the network. So, DASL needs a mechanism to deal with the following situations on a resource-by-resource basis: Relative to the current resource under scan, a given property in the query condition: (1) is defined and has a value for the current resource, (2) is not defined for (i.e. is not supported at all by) the current resource, (3) is supported by the current resource, but has no value for the current resource (or, you could think of it as having an empty value for the current resource). Remember, if a property is not supported by a resource, then PROPFIND returns an error 404 (not found), or maybe 403 (forbidden). If the property is supported by a resource, you get back something for the property, even if it doesn't have a value (or you could think of it as having an empty value). If you want to test whether or not a property is defined for (i.e., supported by) the current resource under scan in DASL, you can use the DAV:isdefined operator in your query condition. If you want to test whether the property is defined but has no value (or, you could think of it as having an empty value), you can use the DASL equal or the DASL unequal operator, and test against a literal with an empty body. Remember that we use three valued logic (1) to prevent queries from blowing up, and (2) also to return results that are as intuitive as possible, both for the case that properties in the query condition are not defined for the resource, and for the case that properties in the query condition are defined but have no value for the resource. So, you can query for anything you want to: You can retrieve (or not retrieve) a resource if any of the following cases pertain: (1) the property is defined for the resource and has a value satisfying some condition, (2) the property is defined for the resource but has no value, (3) the property is not defined for the resource. I'm sorry if my "SQL-ish" rendering of the example query and the way I worded things confused the issue. I hope this helps out. </alan> Yaron > -----Original Message----- > From: Babich, Alan [mailto:ABabich@filenet.com] > Sent: Mon, June 14, 1999 2:15 PM > To: www-webdav-dasl@w3.org > Subject: RE: Issue: JW7 (redirects) > > > There is something I'm not comfortable with. Suppose that > search arbiters tell each other what properties they support > on what resources as has been hypothesized. That's an interesting > issue in and of itself, but, I assume, a solvable problem. > > Assuming that, suppose you have a query > > Author != "Joe" OR Amount != 3 OR XYZ IS NULL. > > Any given resource can support one, some, or all of these > properties. By the rules of standard 3 valued > logic, you either retrieve the resource or not, depending > upon whether the property is supported and, if so, what it's > value for that property is. Fine. > > Here's what I'm not comfortable with: Suppose a search > arbiter does not support the Amount property at all, > but supports the Author property on some of its > resources. You can get tons of hits for this query > on such a search arbiter, even though it doesn't support > one of the properties. > > Even more interesting, suppose the search arbiter does > NOT support the XYZ property on any of its resources. > Then EVERY resource on that search arbiter would be > returned by the above query. Seems like such a search > arbiter ought to be included to me. > > So, the decision of whether to include a search arbiter or > not is not as simple as "does the search arbiter support > the one and only property of this query" for the one-property > simple queries used as examples so far, or even "does the > search arbiter support ANY of the properties mentioned > in this query" for queries mentioning multiple properties. > I don't think going down this path is a good idea. > Let's not go down this path. > > Alan Babich > > -----Original Message----- > From: Yaron Goland [mailto:yarong@microsoft.com] > Sent: Friday, June 11, 1999 8:56 PM > To: 'ejw@ics.uci.edu'; www-webdav-dasl@w3.org > Subject: RE: Issue: JW7 (redirects) > > > The idea is that different search arbiters can provide each other with > enough information to let them know what kind of data they > possess, not > necessarily the entire index of that data (which would probably be too > large). For example, the search arbiter might tell other > arbiters that it > supports the "author" property. Thus when you ask your search > arbiter for > all documents written by John Doe the arbiter will > immediately return all > the information it has and point you to other arbiters within > your request > scope which it knows support the author property. You can > then execute your > query on those other arbiters. So if the request scope is my > entire company > then there are a number of arbiters I may need to be talking to. > > Check out > http://search.ietf.org/internet-drafts/draft-ietf-find-cip-arc h-02.txt, it talks about these sorts of query routing concepts. BTW, as I said in my original letter, I'm not suggesting that we require redirectable multi-result queries in V1. I'm just saying that the feature is definitely useful and should be kept on the table, potentially for future revisions. In fact an easy way to add this later on would be to return a bunch of extra XML goop in the SEARCH response which specifies which other search arbiters to talk to. The beauty of this is that V1 DASL clients will just see search responses and ignore the extra group. V2 DASL clients will know what to do with the extra goop. Yaron > -----Original Message----- > From: Jim Whitehead [mailto:ejw@ics.uci.edu] > Sent: Thu, June 10, 1999 10:44 AM > To: www-webdav-dasl@w3.org > Subject: RE: Issue: JW7 (redirects) > > > > > 2) Also, I don't quite get how an arbiter could *know* that > it has only > > partial knowledge. Either it recognizes the scope (which > is a URI) or it > > does not. (I suppose you could have very smart arbiters > that recognize > > that they don't index certain properties, but know of > another than does, > > but that seems implausible.) > > I've been thinking about how your would configure a search engine to > properly send you to another arbiter, and I just can't > envision how this > configuration could easily be done. > > So, I'm agreeing with Jim Davis. > > - Jim >
Received on Thursday, 17 June 1999 21:47:50 UTC