- From: Jim Davis <jrd3@alum.mit.edu>
- Date: Thu, 29 Nov 2001 08:58:31 -0800
- To: Bita Shadgar <shadgar@cs.bris.ac.uk>, www-webdav-dasl <www-webdav-dasl@w3.org>
At 03:09 PM 11/29/2001 +0000, Bita Shadgar wrote:
> Now, consider we want to compare a value of especial property of a
resource in a
> collection with the value of the same property(or something else) of
resources in other
> collections. In this case you should use many propfind method to compare
value of our
> given property with the value of the properties in all other resources
in different collection.
> However, if we were allowed to have more than a collection in DAV:from ,
we would able
> to handle it in one request.
I think I begin to understand the problem you are trying to solve, but I am
not sure. Here is an example use case. If the use case is not correct,
please say how I misunderstand.
The example application is for shopping comparisons. You have N
collections, each of which represents a vendor catalog. Each collection
contains resources that represent products, for example MP3 songs. The
resources have properties such as title, artist, size in bytes, and cost in
euros.
An example query is to find, for a given title, the vendor with the lowest
price.
Is this a good example of what you want? if it is not, then please provide
an example.
If this example is correct, then the problem is not just in dav:from, it's
the entire basicsearch query language. The comparison operators in
DAV:basicsearch allow you to compare a property value to a *literal*, not a
variable. you can not write a query that compares the properties of two
resources even if they are in the same collection.
If this is what you need, then you need a more powerful language that
dav:basicsearch.
dav:basicsearch is, as the name implies, *basic*. it is intended to meet
the most common needs for simple searching ("find all MP3 by Zakir Hussein
with price less than 20"). There is nothing in it like the SQL join, for
example.
Note that DASL is not limited to the DAV:basicsearch query language, it's
just that DAV:basicsearch is the lowest common denominator that every
server must provide.
In the real world, if you need to provide this kind of application now,
using only DASL and the basicsearch, you would have to write a "web
crawler" that visited each catalog, and merged the records. Then you could
do a search and sort by price.
I hope this is helpful
Jim
Received on Thursday, 29 November 2001 11:59:14 UTC