[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-08-03 17:55:48 +02:00
parent aca68b6877
commit 762d47ce1f

View File

@ -253,7 +253,7 @@ Weiterhin ist es möglich, beliebig viele verschiedene Ontologien gleichzeitig z
Die Abfrage von RDF-Daten erfolgt über die Sprache SPARQL (\enquote{SPARQL Protocol And RDF Query Language}), welche in diesem Abschnitt grob erläutert wird. Eine detaillierte Beschreibung von SPARQL ist unter \cite{w3c:sparql} nachzulesen.
Im Gegensatz zu Abfragesprachen von relationalen Datenbanksystemen wie SQL ist es mit SPARQL möglich, Daten über verschiedene Datenquellen wie Tripel- oder Quadstores hinweg miteinander zu verknüpfen. Auch ist im Gegensatz zu SQL keine spezielle Anpassung der Abfragen an ein Datenbankschema notwendig; lediglich die Art und Weise, wie die angeforderten Daten miteinander in Verbindung stehen, ist für SPARQL-Abfragen wichtig. Im Folgenden zeigt Listing~\ref{lst:sample_sparql_query} eine Abfrage auf den Daten aus Listing~\ref{lst:sample_rdf_data}.
Im Gegensatz zu Abfragesprachen von relationalen Datenbanksystemen wie SQL ist es mit SPARQL möglich, Daten über verschiedene Datenquellen wie Tripel- oder Quadstores hinweg miteinander zu verknüpfen. Auch ist im Gegensatz zu SQL keine spezielle Anpassung der Abfragen an ein Datenbankschema notwendig; lediglich die Art und Weise, wie die angeforderten Daten miteinander in Verbindung stehen, ist für SPARQL-Abfragen wichtig. Im Folgenden zeigt Listing~\ref{lst:sample_sparql_query} eine einfache Abfrage auf den Daten aus Listing~\ref{lst:sample_rdf_data}.
\begin{lstlisting}[caption={Abfrage des Namens des Bruders von Marie aus Daten von Listing~\ref{lst:sample_rdf_data}},label={lst:sample_sparql_query}]
SELECT ?nameOfBrother
@ -319,6 +319,8 @@ http://myexample.org/cars/event#1468064960110 http://myexample.org/cars#currentT
http://myexample.org/cars/event#1468064960110 http://myexample.org/cars#currentSpeed "13"^^http://www.w3.org/2001/XMLSchema#integer
\end{lstlisting}
\todo{Noch ein wenig auf das Listing eingehen, URIs und die fiktiven Prädikate etwas erläutern}
\section{SPARQL-Erweiterung zur Verarbeitung von RDF-Datenströmen}
@ -345,6 +347,8 @@ WHERE {
}
\end{lstlisting}
\todo{Streaming-Erweiterungen aus dem Listiung ein wenig hervorheben}
\section{Resoning auf RDF-Datenströmen?}
@ -363,12 +367,17 @@ Reasoning auf RDF-Datenströmen ist ein zur Zeit noch umforschtes Gebiet, da dur
Es gibt bereits einige Technologien um Ereignisströme zu verarbeiten.
Im Folgenden stelle ich nun ein paar bekannte Systeme kurz vor.
Grobe Eckpunkte zur Orientierung:
\begin{itemize}
\item Woher kommt sie, wie sieht die Entwicklung zur Zeit aus?
\item Eckdaten über Implementierung
\item Fähigkeiten und Funktionen?
\end{itemize}
\section*{Anforderungen an CEP-Engines}
\todo{Eventuell fliegt der Part raus; Es sind mehr Kriterien/Features als Anforderungen, mal sehen}
Mögliche Kriterien:
\todo{Eventuell fliegt die Section raus; Es sind mehr Kriterien/Features als Anforderungen, mal sehen was damit geschehen wird}
\begin{itemize}
\item Verarbeitung von mehreren Ereignisströmen
@ -413,18 +422,12 @@ Mögliche Kriterien:
\item Listener können aus SPARQL-Query-Ergebnissen CSV produzieren
\item In Java implementiert
\item Kein Reasoning?
\item \url{http://graphofthings.org/debs2015/cqels.zip} - VirtualBox-Image zum Ausprobieren
\item CQELS\footnote{Unter \url{http://graphofthings.org/debs2015/cqels.zip} ist ein VirtualBox-Image zum Ausprobieren von CQELS erhältlich.}
\end{itemize}
\section{Esper}
\begin{itemize}
\item Woher kommt sie, wie sieht die Entwicklung zur Zeit aus?
\item Eckdaten über Implementierung
\item Fähigkeiten und Funktionen?
\end{itemize}
\begin{itemize}
\item Quasi auch jetzt aktuell, da kommerzieller Hintergrund
\item SQL-ähnliche Sprache
@ -450,7 +453,7 @@ Mögliche Kriterien:
\chapter{Nutzung der Engine C-SPARQL}
Hier wird jetzt mal wirklich C-SPARQL verwendet.
In diesem Kapitel wird die C-SPARQL-Engine konkret vorgestellt und verwendet.
\begin{itemize}
\item RDF-Datenströme
\item Beispielszenario
@ -463,6 +466,8 @@ Hier wird jetzt mal wirklich C-SPARQL verwendet.
\section{Nutzung der C-SPARQL Engine in Java}
Im Folgenden wird auf die praktische Anwendung der C-SPARQL-Engine in einem Java-Projekt eingegangen.
\subsection{Initialisieren der Engine}
@ -476,7 +481,6 @@ engine.initialize(true);
\subsection{Stream-Generatoren}
Über den StreamGenerator muss ich etwas mehr erzählen, hier mal der grobe Code:
(Beim Programmieren darauf achten, dass dies ein separater Thread ist)
\begin{lstlisting}
public class StreamGenerator extends RdfStream implements Runnable {
private volatile boolean keepRunning = false;
@ -508,6 +512,11 @@ public class StreamGenerator extends RdfStream implements Runnable {
}
\end{lstlisting}
\begin{itemize}
\item eigener Thread, also diesbezüglich wachsam bleiben
\item Aufgabe: Konstruktion von Quadrupeln + deren Übergabe an die Engine via \texttt{this.put()}
\end{itemize}
\subsection{StreamGenerator an der Engine registrieren und starten}
@ -571,6 +580,7 @@ Spezielle Betrachtung der StreamGenerators und wie sie funktionieren, Anmerkunge
\section{Einspeisung von statischem Hintergrundwissen aus Dateien}
Wie und wo werden Dateien in welchen Formaten abgelegt, müssen sie zuvor in der Engine registriert werden und wie wird im Query darauf zugegriffen?
\section{CSPARQL-Queries}
\begin{itemize}