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

report: review endpoints

parent 3ac4cf5b
No related branches found
No related tags found
No related merge requests found
...@@ -7,16 +7,17 @@ Endpoint that exposes some kind of {API}. The interesting question ...@@ -7,16 +7,17 @@ Endpoint that exposes some kind of {API}. The interesting question
here is probably not so much the implementation of the endpoint itself, here is probably not so much the implementation of the endpoint itself,
rather it is the choice of API than can make or break such a project. rather it is the choice of API than can make or break such a project.
\subsection{Supported Endpoints}
There are multiple approaches to querying the GraphDB triplet store, There are multiple approaches to querying the GraphDB triplet store,
one based around the standardized SPARQL query language and the other one based around the standardized SPARQL query language and the other
on the RDF4J Java library implemented by various vendors. Both on the RDF4J Java library. Both approaches have unique advantages.
approaches have unique advantages.
\begin{description} \begin{itemize}
\item[SPARQL] is a standardized query language for RDF triplet \item SPARQL is a standardized query language for RDF triplet
data~\cite{sparql}. The specification includes not just syntax data~\cite{sparql}. The specification includes not just syntax
and semantics of the language itself, but also a standardized and semantics of the language itself, but also a standardized
REST interface for querying databases. REST interface for querying database servers.
\textbf{Syntax} SPARQL is inspired by SQL and as such the \textbf{Syntax} SPARQL is inspired by SQL and as such the
\texttt{SELECT} \texttt{WHERE} syntax should be familiar to many \texttt{SELECT} \texttt{WHERE} syntax should be familiar to many
...@@ -37,10 +38,11 @@ approaches have unique advantages. ...@@ -37,10 +38,11 @@ approaches have unique advantages.
querying triplet stores, lots of literature and documentation is querying triplet stores, lots of literature and documentation is
available~\cite{sparqlbook, sparqlimpls, gosparql}. available~\cite{sparqlbook, sparqlimpls, gosparql}.
\item[RDF4J] is a Java API for interacting with triplet stores, \item RDF4J is a Java API for interacting with triplet stores,
implemented based on a superset of the {SPARQL} REST interface~\cite{rdf4j}. implemented based on a superset of the {SPARQL} REST
GraphDB supports RDF4J, in fact it is the recommended way of interface~\cite{rdf4j}. GraphDB is one of the database
interacting with GraphDB repositories~\cite{graphdbapi}. servers that supports RDF4J, in fact it is the recommended way
of interacting with GraphDB repositories~\cite{graphdbapi}.
\textbf{Syntax} Instead of formulating textual queries, RDF4J \textbf{Syntax} Instead of formulating textual queries, RDF4J
allows developers to query a repository by calling Java API allows developers to query a repository by calling Java API
...@@ -59,12 +61,14 @@ approaches have unique advantages. ...@@ -59,12 +61,14 @@ approaches have unique advantages.
the JVM and its languages. But in practice, we found RDF4J to be the JVM and its languages. But in practice, we found RDF4J to be
quite convenient, especially for simple queries, as it allows us quite convenient, especially for simple queries, as it allows us
to formulate everything in a single programming language rather to formulate everything in a single programming language rather
than mixing languages and awkward string literals. than mixing programming language with awkward query strings.
We also found it quite helpful to generate Java classes from We also found it quite helpful to generate Java classes from
OWL ontologies that contain all definitions of the ontology and OWL ontologies that contain all definitions of the ontology and
make it readable by any IDE~\cite{rdf4jgen}. make it readable by any IDE~\cite{rdf4jgen}.
\end{description} \end{itemize}
\subsection{Recommendation}
We see that both SPARQL and RDF4J have unique advantages. While SPARQL We see that both SPARQL and RDF4J have unique advantages. While SPARQL
is an official W3C standard and implemented by more database systems, is an official W3C standard and implemented by more database systems,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment