Intake
Load one or more files into the cargo. Nothing is interpreted yet. The dialect is sniffed and shown with the evidence it was sniffed from, and the override below it is always available.
Cargo
Rejected rows
Every row that did not become a point is listed here with the reason. No row is ever dropped quietly.
| Parcel | Row | Reason | Literal |
|---|
Loom
Point names are tokenised and stood up as vertical slot columns. A settled convention makes a narrow first column and a wide tail. Ragged columns are marked, because raggedness is information. Assign a role to each column, then apply.
Why this delimiter set won
Every candidate set is scored on how consistently it cuts the cargo into the same number of columns. A set that cuts nothing scores zero however consistently it fails. The runners up are here so the ranking can be argued with rather than trusted.
| Delimiter set | Score | Modal columns | Agreement | Distinct widths |
|---|
Orphans
Rows that fit no grammar family. These must be assigned to a family or explicitly excused before Emit will run.
| Parcel | Name | Tokens | Action |
|---|
Lexicon
The abbreviation bench. Entries ship as data, not as code. Edit them, add your own, export the dictionary and carry it to the next station.
| Token | Concept | Tags | Role | Kind |
|---|
Ambiguities in this cargo
Where a token has more than one reading, the candidates are ranked with the evidence for each. The instrument will not pick one on its own.
Units
One table across four dialects. An approximate mapping is labelled as approximate and carried into the exception report.
| BACnet id | BACnet name | Niagara facet | Haystack | QUDT | Exact |
|---|
State text
Binary and multi-state wording carried through from the source rather than discarded.
| Point | Source | States |
|---|
Model
The class table shipped inside this file was entered by hand from the Brick 1.3 class list. It is a working subset, it is not the ontology, and it has not been checked against the ontology by any machine. Load a class list here to replace it with the real thing. One class per line, child then parent, as Zone_Air_Temperature_Sensor < Air_Temperature_Sensor. A class this instrument does not know is not invented, it is generalised up the chain until it reaches something known, and the exception report names every point that happened to.
Equipment
Points and the evidence ladder
| Name | Equipment | Tags | Brick class | Unit | Band | Ladder | Committed |
|---|
Relationships
Feeds and parts are the information no point list contains. Draw them here. A relationship a human asserted is dashed, and it says so in the exception report. hasPoint is deliberately absent from this list: the cargo already answered that one, so the instrument derives it and the operator does not get to assert it by hand.
| From | Relationship | To | Origin |
|---|
Emit
Round trip check
The emitted artefact is read back with this instrument's own inbound parser and compared against the model. Lossy is fine. Silently lossy is not.
| Field | Survived | Lost | Note |
|---|
Exception report
Mandatory. It cannot be turned off and it travels with the artefact.