@@ -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}.
\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}.