[TASK] Generic commit.
This commit is contained in:
parent
138d66b268
commit
ca76eefefd
|
@ -586,23 +586,29 @@ Ein \enquote{Hello World}-Softwarepaket zur Demonstration der Engine, welches un
|
|||
|
||||
|
||||
\section{Auswahl der Engine für die Arbeit}
|
||||
Da in dieser Arbeit die Verarbeitung von RDF-Ereignisdatenströmen anhand einer konkreten CEP-Engine erläutert werden soll, muss nun eine Entscheidung für eine CEP-Engine gefällt werden. Um einen möglichst einfachen Einstieg in die Thematik zu bekommen, soll die vorgestellte Engine möglichst wenig zusätzlichen Aufwand hervorrufen. Somit sind folgende Kriterien für die Auswahl der Engine verwendet worden:
|
||||
Da in dieser Arbeit die Verarbeitung von RDF-Ereignisdatenströmen anhand einer konkreten CEP-Engine erläutert werden soll, muss nun eine Entscheidung für eine CEP-Engine gefällt werden. Um einen möglichst einfachen Einstieg in die Thematik zu bekommen, soll die vorgestellte Engine möglichst wenig zusätzlichen Aufwand hervorrufen. Um eine CEP-Engine auszuwählen, die für Einsteiger der Thematik möglichst leicht in der Handhabung ist, sind folgende Kriterien für die Auswahl der Engine verwendet worden:
|
||||
\begin{itemize}
|
||||
\item Verwendung einer einzigen Programmiersprache
|
||||
\item Verwendung sehr verbreiteter Programmiersprachen
|
||||
\item Verfügbarkeit von einsteigerfreundlicher Dokumentation
|
||||
\item Existierender Beispielcode zur Verwendung
|
||||
\item Verwendung einer einzigen, weit verbreiteten Programmiersprache
|
||||
\item Transparente Implementierung der Engine durch Verwendung bekannter Technologien
|
||||
\end{itemize}
|
||||
Die Bewertung dieser Kriterien ist für EP-SPARQL\footnote{Quellen über Etalis/EP-SPARQL: \cite{ep:unified} und \cite{ep:etalis}}, CQELS\footnote{Paper über CQELS: \cite{cqels:stream}} und C-SPARQL\footnote{Erläuternde Werke über C-SPARQL: \cite{barbieri:csparql},\cite{barbieri:reasoning} und \cite{barbieri:querying}} wie folgt ausgefallen:
|
||||
|
||||
\begin{tabular}{l|lll}
|
||||
Kriterium & EP-SPARQL & CQELS & C-SPARQL \\
|
||||
\begin{tabular}{p{4.25cm}||p{3.3cm}|p{3.3cm}|p{3.3cm}}
|
||||
& EP-SPARQL & CQELS & C-SPARQL \\
|
||||
\hline\hline
|
||||
Dokumentation & Mehrere Paper erläutern Features (o) & Ein Paper über Umsetzung eines Projekts (-) & Mehrere Paper mit Erläuterungen (+) \\
|
||||
\hline
|
||||
Programmiersprache(n) & Prolog und Java & Java & Java \\
|
||||
Technologien & Prolog, eigene Entwicklung & eigene Entwicklung & Jena, Sesame, Esper\\
|
||||
Beispiele & \dots & \dots & Ja \\
|
||||
Beispielcode & Öhm \dots (o) & Projekt als VirtualBox (o) & Hello World Beispielprojekt(+) \\
|
||||
\hline
|
||||
Programmiersprache & Prolog, Java (-) & Java (+) & Java (+) \\
|
||||
\hline
|
||||
Technologien & Prolog, eigene (o) & eigene (-) & Apache Jena, Sesame, Esper (+)\\
|
||||
\hline\hline
|
||||
Ergebnis & (-) & (-) & (++++) \\
|
||||
\end{tabular}
|
||||
|
||||
\todo{Tabelle o.Ä. zum direkten Vergleich der Kriterien!}
|
||||
|
||||
Unter Berücksichtigung dieser Kriterien fiel die Wahl auf die CEP-Engine C-SPARQL; sie wird im weiteren Lauf der Arbeit vorgestellt, um die Verarbeitung von RDF-Er\-eig\-nis\-da\-ten\-strö\-men durchzuführen und das Beispielszenario aus Kapitel~\ref{cpt:scenario} umzusetzen.
|
||||
|
||||
|
||||
|
@ -643,7 +649,7 @@ Wie in Listing~\ref{lst:sample_event_rdf_quads} zu sehen ist, wurde die ID der E
|
|||
Um die Ereignisdatenströme mit RDF-Quadrupeln nun in der C-SPARQL-Engine verarbeiten zu können, werden im Verarbeitungsprozess in C-SPARQL-Queries formulierte CEP-Regeln benötigt. Die Konstrukte und Fähigkeiten von C-SPARQL sollen in diesem Abschnitt erläutert werden. Weiterführend gibt es neben den Grundlagen zu SPARQL aus Kapitel~\ref{cpt:sparql_intro} noch ein Dokument der W3C\cite{w3c:sparql}. Eine detailliertere Erläuterung von C-SPARQL mit Beispielabfragen ist unter \cite{barbieri:csparql} nachzulesen.
|
||||
|
||||
Da C-SPARQL die Abfragesprache SPARQL lediglich erweitert, sind alle gültigen SPARQL-Abfragen automatisch auch gültige C-SPARQL-Abfragen\cite{barbieri:csparql}. Bevor nun die einzelnen Features von C-SPARQL erläutert werden, folgt nun ein ein gültiger Beispiel-Query, der als Grundlage der Erläuterungen dienen soll. Die Angabe von Prefixen mit der \texttt{PREFIX}-Klausel ist natürlich auch in C-SPARQL-Abfragen erforderlich, wird in diesem Abschnitt aber aus Gründen der Übersichtlichkeit weggelassen.
|
||||
\begin{lstlisting}[label={cpt:example_csparql_query},caption={Beispielhafter C-SPARQL-Query}]
|
||||
\begin{lstlisting}[label={lst:example_csparql_query},caption={Beispielhafter C-SPARQL-Query}]
|
||||
REGISTER QUERY exampleQuery AS
|
||||
SELECT ?a ?b ?c
|
||||
FROM STREAM <http://example.org> [RANGE 5s STEP 1s]
|
||||
|
|
Loading…
Reference in New Issue