DASL Goals
Jim Davis
42nd IETF, Chicago.
Aug 25, 1998
Slides as presented at IETF, with
modifications to reflect annotations made during discussion.
DASL Motivation
- DAV sufficient for client-side search, but
- wastes network resources
- can’t exploit server intelligence
- DASL is server-side search
- client formulates query
- server returns list of resources
Outline
- Scenarios
- Terminology
- Requirements
- Related work
Scenario: property search
- DASL must support queries against DAV-defined properties, e.g.
- media type, (audio/mpeg, image/jpeg)
- resource type (collection)
- date created or modified
- language
- and against user-defined properties, e.g. author
How important are queries against structured properties?
Scenarios: content search
- e.g. find texts containing "efficient car"
- hit highlighting shows where in the document the matching content occurs. It helps identify false positives
- "...Ford’s fuel-efficient car is …
- "… to be efficient, car of the cdr is cadr"
Scenario: site navigation
- find resources locked more than 7 days
- find resources unchanged this year
- find resources that User X can write
Scenario: search options
- specify size and time limits
- partial results
- paged results
Terminology
- result set: one record for each resource that matches criteria
- result record: set of properties for each resource in the result
- scope: set of resources to be searched
- criteria: determines membership in result set
- result record definition: set of properties in the result record
- sort specification: order of records
- search attributes: other instructions
- e.g., maximum number of results, paged results
Requirements
- S: Scope
- C: Criteria
- R: record definition
- O: other
- D: discovery
All requirements below are to be understood as being prefaced by either "It must be possible to" or "It should be possible to"
Scope
- S1: specify a number of distinct, unrelated resources in the scope.
- S2: specify a collection as scope
- S2.1: specify the depth of a scope.
- S3: specify a scope within a resource
Criteria
- C1: search both properties and content in one query
- C2: combine criteria with Boolean operators
- C3: support undefined properties (e.g. queries that refer to undefined props are not an error, test whether property is defined)
- C4: compare property values to
- C4.1 constant values
- C4.2 other properties
- of the same resource
- of other resources
- C4.3 expressions
- C4.4 a regular expression
- C5: operators
- C5.1 equality
- C5.2: with relative operators
- C6: existence
Criteria 3: string properties
- C7: specify case-sensitivity
- C8: specify national sorting order
Content search
- C9: search content of any media type
- C10 specify searches using:
- C10.1 like
- C10.2 contains
- C10.3 near
- C10.4 in
- C11 specify use of
- stemming
- phonetic (soundex)
- keyword expansion
- case sensitivity
Result Records
- R1: specify the maximum size of result
- R2: define the set of properties or content in result records
- R2.1 result records and criteria are distinct
- R3: specify a sort order for result set
Other
- O1: Extensibility
- 01.1: multiple grammars
- 01.2: optional operators in grammars
- O2: request paged results
- O3: server can redirect query
- O4: request "hit highlighting"
Discovery
- D1: discover grammars a server supports
- D2: discover operators allowed by a given grammar
- D3: discover scope information
- e.g. searchable properties, indexing
External to DASL
DASL should follow DAV and HTTP standards for:
- authentication
- access control
- international content
Out of Scope (until DAV defines)