Skip to content
Snippets Groups Projects
Commit 8d8e7841 authored by Andreas Schärtl's avatar Andreas Schärtl
Browse files

report: review Q3

parent 5e10a048
No related branches found
No related tags found
No related merge requests found
......@@ -191,34 +191,37 @@ implementations.
argument for adding support directly to ULO is that ULO aims to be
universal and as such should not be without algorithms. An
argument for a separate ontology is that what we understand as ULO
data sets (Isabelle, Coq) exports already contain triplets from
data sets (Isabelle, Coq exports) already contain triplets from
other ontologies (e.g.\ Dublin Core meta data~\cite{dcreport,
dcowl}) and keeping concepts separate is not entirely
unattractive in itself.
\item \textbf{$\mathcal{Q}_3$ ``All areas of math that {Nicolas G.\
de Bruijn} has worked in and his main contributions.''} This query
is asking by works of a given author~$A$. It also ask for their
is asking by works of a given author~$A$. It also asks for their
main contributions, e.g.\ what paragraphs or code~$A$ has authored.
\textbf{Organizational Aspect} ULO has no concept of authors,
contributors dates and so on. Rather, the idea is to take advantage
of the Dublin Core project which provides an ontology for such
metadata~\cite{dcreport, dcowl}. For example, Dublin Core provides
us with the \texttt{dcterms:creator} predicate. Servicing this
query would mean looking for the creator~$A$ and then listing all
associated \texttt{dcterms:title} that~$A$ has worked on. For a
first working version, the exports managed by \emph{ulo-storage}
are enough to service this query.
As~$\mathcal{Q}_3$ is also asking for the main contributions
contributors, dates and so on. Rather, the idea is to take
advantage of the Dublin Core project which provides an ontology
for such metadata~\cite{dcreport, dcowl}. For example, Dublin Core
provides us with the \texttt{dcterms:creator} and
\texttt{dcterms:contributor} predicates. Servicing~$\mathcal{Q}_3$
requires us to look for creator~$A$ and then list all associated
\texttt{dcterms:title}s that they have worked on. Of course this
requires above authorship predicates to actually be in use. With
the Isabelle and Coq exports this was hardly the case; running
some experiments we found less than 15 unique contributors and
creators, raising suspicion that meat data is missing in the
original library files. Regardless, in theory ULO allows us to
query for objects ordered by authors.
Query $\mathcal{Q}_3$ is also asking for the main contributions
of~$A$, that is those works that~$A$ authored that are the most
important. Importance is a quality measure, simply sorting the
result by number of references might be a good start. Again, this
is something that should serviceable with just organizational
knowledge.
result by number of references might be a good start.
\textbf{Implementation} Search for contributions by a given author
\textbf{Implementation} A search for contributions by a given author
can easily be formulated in {SPARQL}.
\begin{lstlisting}
PREFIX ulo: <https://mathhub.info/ulo#>
......@@ -226,32 +229,37 @@ implementations.
SELECT ?work
WHERE {
?work dcterms:contributor "John Smith" .
?work dcterms:creator|dcterms:contributor "John Smith" .
}
GROUP BY ?work
\end{lstlisting}
To get all main contributions, we rate each
individual \texttt{?work} by its number of \texttt{ulo:uses}
references. Extending the {SPARQL} query, we can query the database
for a ordered list of works, starting with the one that has the
most references.
To get the main contributions, we rate each individual
\texttt{?work} by its number of \texttt{ulo:uses}
references. Extending the {SPARQL} query above, we can query the
database for a ordered list of works, starting with the one that
has the most references.
\begin{lstlisting}
PREFIX ulo: <https://mathhub.info/ulo#>
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT ?work (COUNT(?user) as ?refcount)
WHERE {
?work dcterms:contributor "John Smith" .
?work dcterms:creator|dcterms:contributor "John Smith" .
?user ulo:uses ?work .
}
GROUP BY ?work
ORDER BY DESC(?refcount)
\end{lstlisting}
We see that we can formulate the idea behind~$\mathcal{Q}_3$ with
one not very complicated SPARQL query. Because here everything is
handled by the database access should be quick.
We can formulate~$\mathcal{Q}_3$ with just one SPARQL
query. Because everything is handled by the database, access
should be quick.
\end{itemize}
%Finally, ULO provides us with the \texttt{aligned-with} predicate to
%express equality between concepts~$C_1$ and $C_2$ where $C_1$ and
%$C_2$ typically originate from different formal
%libraries~\cite{align}.
\subsection{Organizational Queries}\label{sec:miscq}
\emph{{TODO}: SPARQL Queries references in ULO paper}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment