Data comes in many different flavors and each piece of software defines its own particular format tailored to its own particular need. If we have a data source that is stored in such format and we want to use it in an AIMMS model, we somehow need to import this. We could create custom importers for all flavors but that would lead to a lot of extra coding, and model developers would need to learn the usage of many importers.
Furthermore there is a catch when using custom importers (and also exporters). In order to access the external data, somehow you have to ask for the data in the source in the “language” of that particular format. In the AIMMS model parts will be very specific not just for the format, but also for the data source itself. So even changing the data source may require the model to be modified.
DataLink is created with the idea that if the structure of data in a source follows some kind of schema, it is possible to implement a generic strategy to fetch the data from the source. This can then be possible without having to address the data elements in the language of the format, but in a more general, source independent, way.
As schema we consider data sources that are organized as a collection of tables, consisting of named columns. Examples of such sources include relational databases, excel files, or directories containing CSV files. DataLink can be used to read from and write to these sources, by only using the names of the tables and columns.
- ” Use the Source, Luke! “