tagsMerge.csv) is created by the Make Import Files action on the Haystack tag dictionary. This file is used to add a new tag or relation, modify an existing tag or relation,
or remove an existing tag or relation to/from the haystack dictionary.
The Tags Import File is a CSV file that can be edited using MS Excel (or other CSV-compatible software).
Version row: Row 1 — The file must start with “version” in the first column and version string in second column.
Header rows: Rows 2 and 3 — Header rows that contain the column headings.
Data rows: Rows 4 and beyond — Each data row has 12 columns. In a text editor each column is separated with a “,” (comma). The column definitions follow. Each row defines an individual tag or relation (Ref kind).
**” or “##” characters), and as such they will be ignored on import. To edit a row, you must remove the comment characters so that
your changes will be recognized and imported.

Data columns:
| Column | Description |
|---|---|
| Name | Name of the tag defined by this row. If the tag with this name already exist in the haystack dictionary, the tag’s definition will be overwritten by the definitions in this row. If the tag with this name does not exist in the haystack dictionary, a new tag will be added with this row’s tag definitions. |
| Kind | Defines the tag kind (e.g. Marker, Bool, Number, Str, URI, Ref, Date, Time, Datetime, Obj, Coord).
Note: Ref kind will be defining a relation and not a tag. Note: Remove in the Kind column will cause this tag to be removed from the haystack dictionary. |
| Smart Type | If the row is defining a smart tag or smart relation this will define the class for the smart type. It is in the form of module:typeName.
If no type is entered and there are no implied tag rules, the tag type will be SimpleTagInfo. If no type is entered and there are implied tag rules, the type will be SmartTagInfo If Kind is “Ref” and no type is defined, the relation type will be RelationInfo |
| impliedTagRules (columns) | Used in defining a TagRule in the TagRules section of the Haystack dictionary.
These colums are used to define the condition rules for a smart tag. If more that one column is used then it will use a "and" function to evaluate the combined condition rules. Not used if the Kind is Ref. |
| ValidityRules (columns) | These columns are used to define the validity for a tag or relation. The validity is used by user interface components to
filter tags or relations that may be added to
NOTE: If the Kind value is “Ref” then it is used in creating the RelationInfo entry in the RelationsDefinitions of the Haystack
dictionary.
|
| hasTags | Contains a list of space delimited tags. It will generate a Boolean filter with an "or" between each tag. It is indicating that this tag may be implied if the given component has one of these tags. If a haystack tag, only enter the tag name. |
| isType | Generates a IsTypeCondition using the type provided. In the form of module:typeName. This tag may be implied if the given component is of this type. |
| hasAncestor | Generates a HasAncestorCondition using the tag specified. If more that one tag is specified then an Or function is used to evaluate. This tag may be implied if the given component has an ancester with one of these tags. If haystack tag, only enter tag name. |
| filter | Generates a BooleanFilter using the contents of this filter. The filter must be a fully qualified NEQL predicate.
NOTE: You must include nameSpace for tag entries.
|
| Units | Defines the units for the given tag. The value is the unit long name and must be contained in the UnitsDatabase. The value appears as a defaultFacet Facet property added to the TagInfo entry for the tag in the TagDefinitions of the haystack dictionary. |