Valid Names for Datasets, Columns, Aliases, Paths and Functions
Column, Path, Alias and Function Names
Both RAQL and EMML have the following rules for valid column or alias names and the names within paths to dataset rows:
Column, alias, path and function names may contain letters, numbers and the underscore (_) character. They
cannot contain:
Spaces
Common punctuation or special characters such as
$,
. (period),
- (dash) or
: (colon).
There are two exceptions to rule for using periods in names:
Function names use a period to separate the library name for the function from the function name. For example:
myLibrary.myFunction(someColumn)
Dataset names can be prepended to column names with a period to clarify the exact context for a column in queries where multiple datasets are used. For example:
select datasetA.columnAA, datasetB.columnBA, ...
Column, alias or function names
must begin with a letter. A column name of
2000 is not a valid name, but
Y2000 is.
The names in paths used with XML datasets must follow XML name rules. They can contain letters, numbers and underscores(_).
Column and alias names are case insensitive and must be unique within a dataset. For example, a dataset row could not contain both a column named
item and another named
Item.
Functions for
RAQL queries are written in Java and thus must also follow Java name requirements.
There are work arounds to handle some invalid name issues. See
Fixing Invalid Names for instructions.
Dataset Names
Names for datasets are the names of the
EMML variables that hold the dataset stream within a mashup. Dataset names have the same character and reserved keyword restrictions as column, alias and path names (See
Column, Path, Alias and Function Names and
RAQL
Reserved Keywords).
They must also be unique within the mashup, but dataset names are case sensitive. Although it is not a good practice, a mashup could have a dataset named events and another named EVENTS.
Fixing Invalid Names
RAQL automatically fixes some issues in invalid names for datasets. With CSV datasets, for example, RAQL will replace spaces in column names with an underscore (_) or change numeric column names to column_original-number.
You can also enclose invalid names in double quote marks ( " ) to fix many invalid name problems.
For example, this query will run even though three of the columns names are invalid or match reserved keywords:
select "dash-column", "dot.column", "date", valid_column from myDataset