% a description of the context and state of the art

Generating data is becoming more and more common in mathematics,
but there are no easy ways to store and share it.
In particular, providing a user-friendly interface to a dataset
typically represents a non-trivial investment of resources for an author.
Many datasets, especially the smaller ones, end up stored and shared in an ad hoc manner.
Text files with one entry per line or 
code that produces an array of objects for a computer algebra system
(and similar) are not uncommon.

% In description: available math, data types - how extend (contact us) - future work: making it easier to extend

\paragraph{Related Work}
The work in progress living survey of mathematical databases~\cite{bercic:cmo:table}
is an indication of the status of data in mathematics.
It currently lists about a hundred datasets in roughly $50$ table entries.
The OEIS is the oldest mathematical database, and arguably the most influential one.
The LMFDB covers a wider scope and collects several datasets related via Langland's program~\cite{BerGel:ilp03}.
The OEIS and the LMFDB both have a substantial mathematical knowledge management architecture,
as do some other larger database projects.
Several datasets have also been integrated with computer algebra systems such as GAP, Magma or SageMath.
Both of these options are out of reach for smaller collaborations.

Some projects, like the LMFDB and the House of Graphs, accept dataset submissions.
However, they are all limited to a specific area of mathematics,
and the authors need to be registered users.
Generic research data hosting services are not extensively used by mathematicians,
likely due to the combination of the lack of awareness of them and the lack of added value they provide.
Some such are the EU infrastructures EUDAT and EOSC, RADAR, and hosting provided by publishers.
Tools for managing and browsing general databases are similarly unused.
They tend to be rich in features that are not useful from the perspective of mathematical datasets 
and have an initially steep learning curve.
Somewhat more surprising is that even simpler database tools, 
e.g. those based on the light-weight SQLite database,
appear to not be used much or at all.

The framework presented in this abstract is called \MBGen~\cite{MBGen:on}
and it builds on two projects.
The concepts of mathematical schemata and codecs were
developed during the OpenDreamKit project~\cite{WieKohRab:vtuimkb17}.
The interface that is produced is essentially an instance of a DiscreteZOO website~\cite{DZWeb:on},
which is a part of a larger project that also includes a data repository and a SageMath package.
The DiscreteZOO project~\cite{DZ:ICMS} was developed for the use case of collections of graphs with a high degree of symmetry,
but was designed to be useful in a more general setting.

\paragraph{Contribution}
We automate the process of setting up a database with a web interface for mathematical datasets.
\MBGen takes a dataset declaration as input and generates 
a complete website stack, from the database schema to a web interface.
The contribution is twofold and in the original spirit of DiscreteZOO.
Authors of mathematical datasets will benefit from an automated process of database setup.
In turn, this should lead to more datasets being available with a GUI and easy to use search features, 
which will benefit the researchers (data consumers and users).
A standardized interface can also form a basis for cross-database sharing and linking in the future.
In most cases, even a simple software stack would be a great improvement over the form a dataset is currently shared as.

\paragraph{Running example}
The dataset shown in Table~\ref{tb:dataset} is simple on purpose and
we will use it to demonstrate the workings of \MBGen.
Mathilde has collected a set of integer matrices and computed 
their trace, eigenvalues, whether they are orthogonal, and their characteristic polynomial.
She wants to publish the dataset on her website.

\begin{table}\centering\def\arraystretch{1.5}
\begin{tabular}{ c c c l l }
  $M$ & $\Tr(M)$ & Orthogonal & $\sigma_M$ & $\chpoly$ \\\hline\hline
  $\bigl(\begin{smallmatrix}
  2 & 0 \\
  0 & 1
 \end{smallmatrix}\bigr)$ & $3$ & yes & $2$, $1$ & $\lambda^2 - 3\lambda + 2$ \\\hline
  $\bigl(\begin{smallmatrix}
  2 & 1 \\
  1 & 2
 \end{smallmatrix}\bigr)$ & $4$ & no & $3$, $1$ & $\lambda^2 - 4\lambda + 3$ \\\hline
  $\bigl(\begin{smallmatrix}
  -1 & 0 \\
  0 & 1
 \end{smallmatrix}\bigr)$ & $0$ & yes & $1$, $-1$& $\lambda^2 - 1$  \\\hline
\end{tabular}
\caption{Running example: Mathilde's matrix dataset}\label{tb:dataset}
\end{table}