Design of a URL encoded language to specify sets of files on a WebDAV server

Dieter Maurer dieter at handshake.de
Sat Nov 20 14:04:51 EST 2004


Andrew James <drew at gremlinhosting.com> writes on Thu, 18 Nov 2004 23:10:14 +0000:
> ...
> {BASE}/fs/photos/america/beach[type=jpeg,author='Andrew James']
> 
> This query is equivalent to searching for files which are in the
> photos,america and beach categories (the intersection), have a jpeg mime
> type and whose author is Andrew James.

Why are you using path syntax when in fact you mean intersection?

Note that genuine "path"s, too, have an idependent meaning in a WebDAV
repository.

> ...
> Reserved Operator Characters 
> 
> / 
> Boolean AND (categories only)
> ^ 
> Boolean OR (categories only)

There are more familiar symbols for "and" and "or"...

> ...
> - 
> Less than (criteria only)
> + 
> More than (criteria only)

"+" and "-" usually mean something different.

> = 
> Logical EQUALS (criteria only)

What does that mean?

You want a more general "EQUALS" relation (not only on boolean values).

> ~ 
> Logical CONTAINS (criteria only)

What does that mean?

> , 
> Boolean AND (criteria only)

Why are your "and" operators for categories and criteria different?

> This allows us to create much more complex queries, such as
> 
> {BASE}/fs/photos/~(america^france)

Above, I had the impression that criteria were enclosed in "[...]".
Seems not to be the case.


I stop here: I would not like your query language:

  It uses unfamiliar symbols for well known operators (rather
  than the standard ones).

  It uses different symbols for the same operator in different
  contexts.

  It appears to be defined via examples (and not formally).



More information about the Python-list mailing list