Newer
Older
\section{Applications}\label{sec:applications}
With endpoints in place, we can now query the ULO/RDF
data set. Depending on the kind of application, different interfaces
and approaches to querying the database might make sense.
\subsection{Kinds of Applications}
Storing information in RDF triplets allows for any kind of queries,
meaning it is not optimized for any kind of application. For the sake
of this project, we tried out three categories of applications.
\begin{itemize}
\item Of course the initial starting point for this project was
the idea of tetrapodal search. Our first application
\emph{ulosearch} tires to offer an easy way of searching in the
ULO/RDF data set.
\item With lots of data in a database, it appears attractive to
visualize the data set in some kind graphical way in the
\emph{ulovisualize} application.
\item Finally, we want to experiment a bit. The available ULO/RDF
data sets are about proofs and theorems and should include links
between. It might be interesting to find out which proofs and
definitions are more important than others such that we can
create a kind of ranking of them. This is explored in the
\emph{ulorate} application.
\end{itemize}
\subsection{Database Interface}
For integrating the ULO/RDF data set into an existing application, it
probably is reasonable to directly query the data set using RDF4J.
That is, of course, assuming the existing co debase is based on the
{JVM}. If that is not the case, generating SPARQL queries is the
obvious choice.
The advantage of this approach is that connecting and interacting
with the database is straightforward. The disadvantage is that this
approach requires a deep understanding of structure of the underlying
ULO triplets.
\subsection{A Language for Organizational Data}
ULO/RDF is a subset of RDF. While it can be queried as just standard
RDF data, maybe it is helpful to design a query language only for
ULO/RDF triplets. Expressions in this particular query language could
then be converted to SPARQL or RDF4J expressions. Ideally this means
that (1)~the query language is intuitive and easy to use for this
specific use case and (2)~execution is still fast as the underlying
SPARQL database is already very optimized.
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
% This does not really fit, in general this entire section is kind
% of a mess and contains more stuff about things that do not even
% exist yet than actual information.
\subsection{Querying for Tetrapodal Search}
The first introduction of tetrapodal search contains various queries
that such a system should answer~\cite{tetra}. For each of the
suggested queries, we experimented how well ULO/RDF can answer this
queries. As \emph{ulo-storage} provides only one of the four required
kinds of mathematical knowledge required by tetrapodal search, not all
queries could be answered. They are replicated here in verbatim.
\begin{enumerate}
\item Find theorems with non-elementary proofs.
\item Find algorithms that solve $NP$-complete graph problems.
\item Find integer sequences whose generating function is a rational
polynomial in $\sin(x)$ that has a Maple implementation not affected
by the bug in module~$x$.
\item $CAS$ implementation of Groebner bases that conform to a
definition in AFP.
\item Find all group representations that are good for~$X$ (say a
software engineer working on something and doesn't know group
theory), maybe ``computing with in/finite groups''.
\item Math software systems that implement algorithms from MSC48CXX
(or that compute a particular thing).
\item All areas of math that {Nicolas G.\ de Bruijn} has worked in and
his main contributions.
\item All the researchers that have worked on problem~$X$ (where~$X$
does not have a good name, maybe connected to ``Go'').
\item Areas of mathematics that immediate descendants of~$X$ worked
on.
\item All graphs whose order is larger than the publication record of
its ``inventor'' (name patron).
\item Integer sequences that grow sub-exponentially.
\item Published integer sequences not listed in the OEIS.
\item Find all polynomials whose list of coefficients occurs as a
subsequence of a specific OEIS sequence.
\end{enumerate}