Skip to content
Snippets Groups Projects
Commit 8637361f authored by User expired's avatar User expired
Browse files

report: FloatBarrier for images that they are in same section

parent e62796cd
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -223,28 +223,30 @@ The class \emph{ShexValidationRecord} stores the result of the validation for ea ...@@ -223,28 +223,30 @@ The class \emph{ShexValidationRecord} stores the result of the validation for ea
We implemented a front-end where the user can choose a \emph{knowledge graph} as well as its type (see Figure~\ref{fig:frontend}). In addition, the user can also set a limit on the number of nodes of the specified type that they wish to have constraints generated for. As output (see Figure~\ref{fig:frontend_shex}), \emph{ShEx} constraints as well as a validation of the subgraph against those constraints are returned. The constraints can be edited by the user and the selected subgraph can be re-validated against the newly edited constraints. We implemented a front-end where the user can choose a \emph{knowledge graph} as well as its type (see Figure~\ref{fig:frontend}). In addition, the user can also set a limit on the number of nodes of the specified type that they wish to have constraints generated for. As output (see Figure~\ref{fig:frontend_shex}), \emph{ShEx} constraints as well as a validation of the subgraph against those constraints are returned. The constraints can be edited by the user and the selected subgraph can be re-validated against the newly edited constraints.
If a node is deemed invalid, a reason is given, e.g. "Cardinality violation (min=1): 0". The user can download the subgraph that was validated. The interaction between user, front-end and server can also be seen in Figure~\ref{fig:sequence}. The code for the front-end can be found in our git repository \cite{git_shapes_frontend}. If a node is deemed invalid, a reason is given, e.g. "Cardinality violation (min=1): 0". The user can download the subgraph that was validated. The interaction between user, front-end and server can also be seen in Figure~\ref{fig:sequence}. The code for the front-end can be found in our git repository \cite{git_shapes_frontend}.
\begin{figure}[ht] \begin{figure}[h]
\centering
\includegraphics[scale=0.18]{frontend/frontend_edit.png}
\caption{The frontend, showing a selection of dataset, RDFType, and \emph{LIMIT} of starting-nodes.}
\label{fig:frontend}
\end{figure}
\begin{figure}[h!]
\centering \centering
\includegraphics[scale=0.18]{frontend/frontend_edit_done.png} \includegraphics[scale=0.18]{frontend/frontend_edit_done.png}
\caption{The frontend, showing the calculated \emph{ShEx}-constraints and validation-results.} \caption{The frontend, showing the calculated \emph{ShEx}-constraints and validation-results.}
\label{fig:frontend_shex} \label{fig:frontend_shex}
\end{figure} \end{figure}
\begin{figure}[h]
\centering
\includegraphics[scale=0.18]{frontend/frontend_edit.png}
\caption{The frontend, showing a selection of dataset, RDFType, and \emph{LIMIT} of starting-nodes.}
\label{fig:frontend}
\end{figure}
\begin{figure}[ht]
\begin{figure}[h]
\centering \centering
\includegraphics[scale=0.5]{kgshapes_sequence.pdf} \includegraphics[scale=0.5]{kgshapes_sequence.pdf}
\caption{Sequence diagram showing the interaction between web application, user and server} \caption{Sequence diagram showing the interaction between web application, user and server}
\label{fig:sequence} \label{fig:sequence}
\end{figure} \end{figure}
\FloatBarrier
\section{Evaluation} \label{section:evaluation} \section{Evaluation} \label{section:evaluation}
In this section we evaluate our tool. We explain the methodology in Section~\ref{section:methodology}. In Section~\ref{section:runtime} we measured the runtime of our tool with different input parameters. Furthermore, we tested correctness of the generated \emph{ShEx}-constraints and also cross validated them in Section~\ref{section:correctness}. In this section we evaluate our tool. We explain the methodology in Section~\ref{section:methodology}. In Section~\ref{section:runtime} we measured the runtime of our tool with different input parameters. Furthermore, we tested correctness of the generated \emph{ShEx}-constraints and also cross validated them in Section~\ref{section:correctness}.
...@@ -344,7 +346,7 @@ Secondly, optional properties are not always inferred and therefore missing from ...@@ -344,7 +346,7 @@ Secondly, optional properties are not always inferred and therefore missing from
The generated \emph{ShEx}-constraints for small subgraphs (Canal with \emph{LIMIT} 50, Service with \emph{LIMIT} 50) were cross validated using the online-tool \emph{RDFShape} \cite{RDFShape}. The validation result was the same as in our tool. The generated \emph{ShEx}-constraints for small subgraphs (Canal with \emph{LIMIT} 50, Service with \emph{LIMIT} 50) were cross validated using the online-tool \emph{RDFShape} \cite{RDFShape}. The validation result was the same as in our tool.
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting{code_snippets/blank_nodes.ttl} \lstinputlisting{code_snippets/blank_nodes.ttl}
\caption{Blank Nodes in Turtle File} \caption{Blank Nodes in Turtle File}
...@@ -395,6 +397,8 @@ Each member of the group contributed in an enthusiastic and equal manner, levera ...@@ -395,6 +397,8 @@ Each member of the group contributed in an enthusiastic and equal manner, levera
\section{Appendix} \section{Appendix}
This appendix shows \emph{ShEx}-output and tables of data that were too large to be in the main body. Section~\ref{section:evaluation} links to some of the figures listed here. This appendix shows \emph{ShEx}-output and tables of data that were too large to be in the main body. Section~\ref{section:evaluation} links to some of the figures listed here.
\FloatBarrier
\subsection{\emph{ShEx} outputs} \subsection{\emph{ShEx} outputs}
\begin{itemize} \begin{itemize}
...@@ -403,63 +407,64 @@ This appendix shows \emph{ShEx}-output and tables of data that were too large to ...@@ -403,63 +407,64 @@ This appendix shows \emph{ShEx}-output and tables of data that were too large to
\item Figures~\ref{fig:shex_canal_wo_limit}, \ref{fig:shex_rbow_wo_limit} and \ref{fig:shex_service_wo_limit} show our generated \emph{ShEx} for subgraphs without any \emph{LIMIT}. \item Figures~\ref{fig:shex_canal_wo_limit}, \ref{fig:shex_rbow_wo_limit} and \ref{fig:shex_service_wo_limit} show our generated \emph{ShEx} for subgraphs without any \emph{LIMIT}.
\end{itemize} \end{itemize}
\begin{figure}[h]
\centering
\lstinputlisting{code_snippets/shexer_out.shex}
\caption{Shexer output}
\label{fig:shexer_output}
\end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting[language=python]{code_snippets/shexer.py} \lstinputlisting[language=python]{code_snippets/shexer.py}
\caption{Running shexer on the full graph} \caption{Running shexer on the full graph}
\label{code:shexer} \label{code:shexer}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering
\lstinputlisting{code_snippets/shexer_out.shex}
\caption{Shexer output}
\label{fig:shexer_output}
\end{figure}
\begin{figure}
\centering \centering
\lstinputlisting{code_snippets/RiverBodyOfWater_Canal_50.shex} \lstinputlisting{code_snippets/RiverBodyOfWater_Canal_50.shex}
\caption{Generated \emph{ShEx}-constraints of Canal with \emph{LIMIT} 50} \caption{Generated \emph{ShEx}-constraints of Canal with \emph{LIMIT} 50}
\label{fig:shex_canal_50} \label{fig:shex_canal_50}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting{code_snippets/RiverBodyOfWater_RiverBodyOfWater_50.shex} \lstinputlisting{code_snippets/RiverBodyOfWater_RiverBodyOfWater_50.shex}
\caption{Generated \emph{ShEx}-constraints of RiverBodyOfWater with \emph{LIMIT} 50} \caption{Generated \emph{ShEx}-constraints of RiverBodyOfWater with \emph{LIMIT} 50}
\label{fig:shex_rbow_50} \label{fig:shex_rbow_50}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting{code_snippets/RiverBodyOfWater_Service_50.shex} \lstinputlisting{code_snippets/RiverBodyOfWater_Service_50.shex}
\caption{Generated \emph{ShEx}-constraints of Service with \emph{LIMIT} 50} \caption{Generated \emph{ShEx}-constraints of Service with \emph{LIMIT} 50}
\label{fig:shex_service_50} \label{fig:shex_service_50}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting{code_snippets/RiverBodyOfWater_Canal_null.shex} \lstinputlisting{code_snippets/RiverBodyOfWater_Canal_null.shex}
\caption{Generated \emph{ShEx}-constraints of Canal without a \emph{LIMIT}} \caption{Generated \emph{ShEx}-constraints of Canal without a \emph{LIMIT}}
\label{fig:shex_canal_wo_limit} \label{fig:shex_canal_wo_limit}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting{code_snippets/RiverBodyOfWater_RiverBodyOfWater_null.shex} \lstinputlisting{code_snippets/RiverBodyOfWater_RiverBodyOfWater_null.shex}
\caption{Generated \emph{ShEx}-constraints of RiverBodyOfWater without a \emph{LIMIT}} \caption{Generated \emph{ShEx}-constraints of RiverBodyOfWater without a \emph{LIMIT}}
\label{fig:shex_rbow_wo_limit} \label{fig:shex_rbow_wo_limit}
\end{figure} \end{figure}
\begin{figure} \begin{figure}[h]
\centering \centering
\lstinputlisting{code_snippets/RiverBodyOfWater_Service_null.shex} \lstinputlisting{code_snippets/RiverBodyOfWater_Service_null.shex}
\caption{Generated \emph{ShEx}-constraints of Service without a \emph{LIMIT}} \caption{Generated \emph{ShEx}-constraints of Service without a \emph{LIMIT}}
\label{fig:shex_service_wo_limit} \label{fig:shex_service_wo_limit}
\end{figure} \end{figure}
\FloatBarrier
\subsection{Runtime data tables} \subsection{Runtime data tables}
\begin{itemize} \begin{itemize}
...@@ -467,7 +472,7 @@ This appendix shows \emph{ShEx}-output and tables of data that were too large to ...@@ -467,7 +472,7 @@ This appendix shows \emph{ShEx}-output and tables of data that were too large to
\item Table~\ref{table:runtimes_wo_limit} shows the runtimes without any \emph{LIMIT} given. \item Table~\ref{table:runtimes_wo_limit} shows the runtimes without any \emph{LIMIT} given.
\end{itemize} \end{itemize}
\begin{table} \begin{table}[h]
\centering \centering
\begin{tabular}{|l|r|r|r|r|r|} \begin{tabular}{|l|r|r|r|r|r|}
\hline \hline
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment