Inquisitor

Introduction

This document describes a query language facility written for VULCAN that will allow questions to be asked of relational data inside any type of database, and to manipulate the data if required.

The inquiries can be made in one relationship group at a time. A relationship group being of the sort of structure outlined below.

Figure 1: Relationship Group Structure

Although this diagram has described a one-to-many relationship, one-to-one, and many-to-one are also permitted.

The relationship groups are described in terms of a drill hole as most of you will be familiar with drill-hole structures. However, Inquisitor is not limited to dealing with drill holes alone, it can handle any sort of data.

Figure 2: Relationship Group Drillhole Structure

The relationship group in the above diagram would be all of the records associated with one drill hole; that is, in this case, the header record containing the hole id (key) etc., a logger record, a number of lithology records, each of which may have associated assay record(s). It could, of course, be more complicated.

To keep things familiar, consider a database that might have data in one of two formats.

First, the records could be ordered exactly as in Diagram 2, with each assay record following its associated lithology record:

Drillhole ID Record 
Logger Record 
Lithology Record 
Assay Record 
Lithology Record 
Lithology Record 
Assay Record
.
. 
Lithology Record 
Assay Record

Second, the lithology records could be in one group, and the assay records in a separate group either before or after them:

Logger Record 
Lithology Record 
Lithology Record
.
. 
Lithology Record 
Assay Record 
Assay Record
.
. 
Assay Record

Whichever way the data is ordered is immaterial to the Inquisitor program. This example type database will be used throughout the documentation in worked examples on how to use the language.