AUCQL logo
 
Using AUCQL's COLLAPSE Operation
A Query Language for Semistructured Data with Metadata Properties
Home        
Publications   
Prototype  
Examples    
  The DB
  Start       
  Defaults
  Match
  Property
  Collapse
  Coalesce
  Security
  Time
 
Curtis Dyreson
  Home
  Publications
  Projects
  Software
  Demos
  Teaching
  Contact me

Syntax

The general form of a COLLAPSE is given below.
COLLAPSE(variable)
COLLAPSE collapses a path, represented by the variable, to a single edge. How each property in the path is collapsed depends on the semantics of the property.

Collapsing the NAME property

The NAME property is collapsed by concatenating names.
The names of paths to all nodes.:
SELECT *
FROM   (SECURITY: 'over 18, paid, subscriber')* All,
       COLLAPSE(All) Collapsed,
       PROPERTY(NAME, Collapsed) Names;

Note that the NAME of a root edge is missing ('@').
The PROPERTY operation does an implicit COLLAPSE, so the following query is effectively equivalent to the one given above.
The names of paths to all nodes redux.:
SELECT *
FROM   (SECURITY: 'over 18, paid, subscriber')* All,
       PROPERTY(NAME, All) Names;

Collapsing security

The SECURITY property is collapsed by determining which certificates are needed.

The security on paths to all nodes.:
SELECT *
FROM   (SECURITY: 'over 18, paid, subscriber')* All,
       PROPERTY(NAME, All) Name,
       PROPERTY(SECURITY, All) Security;

Note that manyùnodes are reachable without any security.

Collapsing transaction time

The TRANSACTION TIME property is collapsed using temporal intersection.
The security and transaction time for all nodes.:
SELECT *
FROM   (SECURITY: 'over 18, paid, subscriber')* All,
       PROPERTY(NAME, All) Name,
       PROPERTY(SECURITY, All) Security,
       PROPERTY(QUALITY, All) Quality,
       PROPERTY(TRANSACTION_TIME, All) TT;

Other properties

Other properties, such as QUALITY, are also collapsed.
The security, transaction time, and quality for all nodes.:
SELECT *
FROM   (SECURITY: 'over 18, paid, subscriber')* All,
       PROPERTY(NAME, All) Name,
       PROPERTY(SECURITY, All) Security,
       PROPERTY(QUALITY, All) Quality,
       PROPERTY(TRANSACTION_TIME, All) TT;


                                                                                                                                                                                                                                     
Curtis E. Dyreson, Michael H. Böhlen, and Christian S. Jensen © 1998-2000. All rights reserved.
  E-mail questions or comments to Curtis.Dyreson at usu.edu Valid HTML 4.01!