[TASK] Generic commit.
This commit is contained in:
parent
aca68b6877
commit
762d47ce1f
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user