You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Model Documentation

The WhereClauseCompoundExpression class is used to define compound expressions in the compoundExpression attribute of the WhereClause class (and any of its specializations).

Error rendering macro 'excerpt-include'

No link could be created for 'ARSP:Class Diagram: WhereClauseCompoundExpression'.

There are 3 specializations of the WhereClauseCompoundExpression class:

  • The CompoundSetExpression specialization is used to define compound expressions in the AnalysisSet specialization of the WhereClause class, as shown in the AnalysisSet section.
  • The CompoundSubsetExpression specialization is used to define compound expressions in the DataSubset specialization of the WhereClause class, as shown in the DataSubset section.
  • The CompoundGroupExpression specialization class is used to define compound expressions in the Group specialization of the WhereClause class, as shown in the GroupingFactor section.

In each instance of the WhereClauseCompoundExpression class (or 1 of its specializations):

  • The logicalOperator attribute contains a value from the ExpressionLogicalOperatorEnum enumeration:
    • "AND" or "OR" are used in compound expressions that combine 2 or more "sub-clauses", each of which may be either a simple condition or another compound expression.
    • "NOT" is used in compound expressions that negate another (single) sub-clause, which will be another compound expression.
  • The whereClauses attribute contains:
    • In a compound expression that combines selection criteria: 2 or more sub-clauses, each represented as an instance of the WhereClause class or 1 of its specializations, or
    • In a compound expression that negates another compound expression: a single "sub-clause" represented as instance of the WhereClause class or 1 of its specializations.

The representation of the instance(s) of the WhereClause class (or its specializations) in the whereClauses attribute depends which type of WhereClauseCompoundExpression is being used.

    •  In instances of either the WhereClauseCompoundExpression class itself (which is used in instances of the WhereClause class) or the CompoundSubsetExpression specialization (which is used in the DataSubset specialization of the WhereClause class), the whereClauses attribute contains specification(s) of sub-clauses, each represented as an instance of the WhereClause class, in which:
      • The level is 1 greater than the level of the instance of the WhereClause in which the compound expression is being defined.
      • The order attribute is:
        • used to order this sub-clause with respect to the other sub-clauses with which it is being combined (i.e., 1 for the first, 2 for the second, etc.)
        • assigned as "1" for a sub-clause that is being negated.
      • Either the condition attribute is used to specify the sub-clause as a simple condition (for sub-clauses being combined) or the compoundExpression attribute is used to specify the sub-clause as another compound expression.
    •  In instances of the CompoundSetExpression specialization (which is used in the AnalysisSet specialization of the WhereClause class), the whereClauses attribute can only contain other instances of the AnalysisSet class referenced by identifier value.
    •  In instances of the CompoundGroupExpression specialization (which is used in the Group specialization of the WhereClause class), the whereClauses attribute can only contain other instances of the Group class referenced by identifier value.

Example


Example


Note that the ARS model is designed to support the specification of analyses of data in ADaM datasets, which are expected to be "analysis-ready". In analysis-ready datasets, any complex criteria needed to define either subject populations or the grouping of data for analysis will usually have been applied to create flagging or grouping variables. These flagging and grouping variables can usually then be referenced in the specification of simple conditions, so the use of compound expressions in the definition of subject populations (using the AnalysisSet class) or groups within grouping factors (using either the AnalysisGroup or DataGroup class) is expected to be limited.


  • No labels