Skip to content
Snippets Groups Projects
applications.tex 4.16 KiB
Newer Older
  • Learn to ignore specific revisions
  • \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}