\newpage \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. % 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}