MACHO Project: Image Retrieval

Editing the Logical Query


Index

  • Editing the prefabricated query
  • CCL Search Keys
  • CCL Syntax
  • Regular Expressions
  • Field Matching
  • CCL Examples


    Editing the prefabricated query

    The user's input to the query form is converted into a symbolic language for expressing boolean query structures. The language is known as CCL and is defined by the ISO 8777 standard. The user may modify the prefabricated query but additional syntax checking will not occur until the query is processed during the DBM search request.

    CCL Search Keys

    The search keys, all of which follow, are case sensitive:

    Airmass_x100numeric allows arithmetic operators: < <= = > >= <>
    AveSkyValuenumeric allows arithmetic operators: < <= = > >= <>
    Decword allows regular expressions, pattern matching
    DecRad_x100Knumeric allows arithmetic operators: < <= = > >= <>
    Exposurenumeric allows arithmetic operators: < <= = > >= <>
    Domainword allows regular expressions, pattern matching
    Fieldnumeric allows arithmetic operators: < <= = > >= <>
    ObsDategeneralized date allows arithmetic operators: < <= = > >= <>
    ObsIdnumeric allows arithmetic operators: < <= = > >= <>
    PhotTypeword allows regular expressions, pattern matching
    RAword allows regular expressions, pattern matching
    RARad_x100Knumeric allows arithmetic operators: < <= = > >= <>
    Seeing_x10numeric allows arithmetic operators: < <= = > >= <>
    SideOfPierword allows regular expressions, pattern matching

  • The database manager does not support floating point search keys, so the affected keys have been multiplied by an appropriate factor to convert to integer. The keywords RARad_x100K and DecRad_x100K are RA/Dec in radians multiplied by 100000. The keyword Seeing_x10 is the user's input for Seeing multiplied by 10. The keyword Airmass_x100 is the user's input for Airmass multiplied by 100.
  • The bounding box radius is not provided since the database manager does not have the geographic concept of a point within a bounded region. The equivalent logical expression is fabricated by the initial query form.

    CCL Syntax

    The following is a simplification of the CCL definition in order to quickly illustrate valid syntax.

  • CCLFind ::= CCLFind Op Elements | Elements

  • Op ::= "and" | "or" | "not"

  • Elements ::= '(' CCLFind ')' | Term | Keyword Relation Term | Keyword Relation '(' CCLFind ')' | Keyword '=' string '-' string
    I.e. Elements are either a recursive definition, a list of Terms, Keywords followed by Terms, Keywords followed by a recursive definition or Keywords in a range (lower-upper).

  • Term ::= Term string | string
    I.e. Term may contain a blank

  • Relation ::= '=' | '>=' | '<=' | '<>' | '>' | '<'

    Regular Expressions

    Specific text fields allow pattern matching using regular expressions. The syntax follows:

  • x matches the character x.
  • . matches any character.
  • [...] matches the set of characters specified; such as [abc] or [a-c].
    and the operators:
  • x* matches x zero or more times.
  • x+ matches x one or more times.
  • x? matches x once or twice.
  • xy matches x, then y.
  • x|y matches either x or y.
    The order of evaluation may be changed by using parenthesis.

    Note the difference between '*' in the regular expression used by this search and its use by a Unix shell. A close approximation to the shell construct is '.*' (that's dot followed by star).

    Field Matching

    Field matching occurs with the following constraints:

  • Matches are case insensitive.
  • List elements within a field are separated by field separators; an incomplete list of separators includes { ,.&|/*=%}.
  • Any field separator may be interchangeably used.
  • If the field specifically allows regular expression matching, each list element may contain a regular expression.

    Field Matching Examples

    To search on selected Domains,

  • (Domain = LMC) finds all LMC entries
  • (Domain = lmc) finds all LMC entries
  • (Domain = LMC SMC) finds all LMC and SMC entries
  • (Domain = LMC, SMC) finds all LMC and SMC entries
  • (Domain = .MC) finds all LMC and SMC entries
  • (Domain = L..) finds all LMC entries
  • (Domain = Bulge.*) finds all Bulge-1, Bulge-2, Bulge-3 entries

  • (Domain = Bulge) finds no entries
  • (Domain = LM) finds no entries
  • (Domain = L*) finds no entries--use '.*'
  • (Domain = L.) finds no entries--use match on 2 chars

    CCL Examples

  • someday .....

    Acknowledgement to use when referencing MACHO Project data

    "This paper utilizes public domain data originally obtained by the MACHO Project, whose work was performed under the joint auspices of the U.S. Department of Energy, National Nuclear Security Administration by the University of California, Lawrence Livermore National Laboratory under contract No. W-7405-Eng-48, the National Science Foundation through the Center for Particle Astrophysics of the University of California under cooperative agreement AST-8809616, and the Mount Stromlo and Siding Spring Observatory, part of the Australian National University."


    email enquiries

    and