is all done server side.
\section{Table rows}
-When the backend receives the HTTP POST data it saves all the table HTML data and the
-data from the description fields. The program first extracts the table rows
-using simple pattern matching on the added markers. The table rows are
+When the backend receives the HTTP POST data it saves all the table HTML data
+and the data from the description fields. The program first extracts the table
+rows using simple pattern matching on the added markers. The table rows are
processed one at the time, the processing mainly consists of finding the
\texttt{SPAN} elements, extract the color, remove the elements and save the
plain text and the location and type of the marking. When the table rows are
\section{Node lists}
Every entry from the datastructure is processed to convert them to node-lists.
A node-list can be seen as a path graph of every character and marking. A path
-graph $G$ is defined as $G=(V,n_1,E,n_i)$ where $V=\{n_1, n_2, \cdots, n_{i-1}, n_i\}$
-and $E=\{(n_1, n_2), (n_2, n_3), ... (n_{i-1}, n_{i})\}$. A path graph is
-basically a graph that is a path of nodes where every node is connected to the
-next on and the last on being final. The transitions between two nodes is
-either a character or a marking. As an example we take the entry
-\texttt{19:00, 2014-11-12 - Foobar} and create the corresponding node-lists and
-make it visible in Figure~\ref{nodelistexample}. Characters are denoted with
-single quotes, spaces with an underscore and markers with angle brackets.
+graph $G$ is defined as $G=(V,n_1,E,n_i)$ where $V=\{n_1, n_2, \cdots, n_{i-1},
+n_i\}$ and $E=\{(n_1, n_2), (n_2, n_3), ... (n_{i-1}, n_{i})\}$. A path graph
+is basically a graph that is a path of nodes where every node is connected to
+the next on and the last on being final. The transitions between two nodes is
+either a character or a marking. As an example we take the entry \texttt{19:00,
+2014-11-12 - Foobar} and create the corresponding node-lists and make it
+visible in Figure~\ref{nodelistexample}. Characters are denoted with single
+quotes, spaces with an underscore and markers with angle brackets.
\begin{figure}[H]
\label{nodelistexample}
\centering
q31 [label="q1"];
q32 [label="q2"];
q33 [label="q3"];
- q34 [label="q4"ishape=doublecircle];
+ q34 [label="q4" shape=doublecircle];
q35 [label="q5"];
n3 -> q30[label="SG3"];
q30 -> q31[label="a"];
q31 -> q32[label="b"];
q32 -> q33[label="c"];
q33 -> q34[label="d"];
- q33 -> q34[label="f"iconstraint=false];
+ q33 -> q34[label="f" constraint=false];
q31 -> q35[label="e"];
q35 -> q33[label="c"];
q21 [label="q1"];
q22 [label="q2"];
q23 [label="q3"];
- q24 [label="q4"ishape=doublecircle];
+ q24 [label="q4" shape=doublecircle];
q25 [label="q5"];
n2 -> q20[label="SG2"];
q20 -> q21[label="a"];
q11 [label="q1"];
q12 [label="q2"];
q13 [label="q3"];
- q14 [label="q4"ishape=doublecircle];
+ q14 [label="q4" shape=doublecircle];
n1 -> q10[label="SG1"];
q10 -> q11[label="a"];
q11 -> q12[label="b"];
\end{figure}
\subsection{Appliance on extraction of patterns}
+The text data in combination with the user markings are not just plain text and
+thus we can not create a DAWG out of them without a few adaptations to the
+structure.
+
+Adaption for our data
+
+Non determinism
+
+How to get best match
+
The algorithm for minimizing DAWGs can not be applied directly on the user
generated pattern. This is mainly because there is no conclusive information
about the contents of the pattern and therefore non deterministic choices have