[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-09-20 10:43:47 +02:00
parent 929fe69784
commit 058cb4ffff
1 changed files with 24 additions and 3 deletions

View File

@ -500,9 +500,28 @@ In diesem Kapitel wird die Verarbeitung von RDF-Datenströmen anhand der CEP-Eng
\section{Ereignisse}
Ereignisse werden durch die Nutzung von RDF-Datenströmen nun durch RDF-Tupel beschrieben. Diese tragen neben den typischen Inhalten von Tripeln (Subjekt, Prädikat und Objekt) nun eine vierte Information mit sich: den Zeitstempel zu dem das Ereignis ausgelöst wurde. Da die Tupel nun mit dem Zeitstempel vier Angaben enthalten, werden sie als Quadrupel bezeichnet.
Ereignisse werden aufgrund der Nutzung von RDF-Datenströmen als Transportmedium nun durch RDF-Tupel beschrieben. Diese tragen neben den typischen Inhalten von Tripeln (Subjekt, Prädikat und Objekt) nun eine vierte Information mit sich: den Zeitstempel zu dem das Ereignis ausgelöst wurde. Da die Tupel nun mit dem Zeitstempel vier Angaben enthalten, werden sie als Quadrupel bezeichnet.
Um die Ereignisquadrupel trotz identischer Ereignistypen oder Zeitstempel voneinander unterscheiden zu können, ist es nötig, die Ereignisse mit einer eindeutigen ID zu versehen. Um dies zu erreichen, werden die einzelnen Ereignisse als separate Subjekte in RDF repräsentiert. Dadurch erhalten alle Quadrupel eines Ereignisses eine eindeutige Zuordnung zu ihrem Ereignissubjekt. Listing~\ref{lst:sample_event_rdf_quads} zeigt die Quadrupel für zwei beispielhafte Ereignisse, die Statusinformationen eines PKW enthalten.
Um die Ereignisquadrupel trotz identischer Ereignistypen oder Zeitstempel voneinander unterscheiden zu können, ist es nötig, die Ereignisse mit einer eindeutigen ID zu versehen. Um dies zu erreichen, werden die einzelnen Ereignisse als separate Subjekte in RDF repräsentiert. Dadurch erhalten alle Quadrupel eines Ereignisses eine eindeutige Zuordnung zu ihrem Ereignissubjekt.
Um dies zu verdeutlichen folgt nun ein kleines Beispiel. Gegeben seien zwei beispielhafte Ereignisse mit Statusdaten über einen PKW. Listing~\ref{lst:sample_abstract_event_data} zeigt diese beiden Ereignisse in abstrakter Notation.
\begin{lstlisting}[caption={Zwei Statusereignisse eines PKW in abstrakter Notation},label={lst:sample_abstract_event_data}]
CarStatusEvent {
ID: 324,
timestamp: 1344829400,
relatedCar: ->(Car(ID: 0)),
speed: 63
}
CarStatusEvent {
ID: 325,
timestamp: 1344829405,
relatedCar: ->(Car(ID: 0)),
speed: 75
}
\end{lstlisting}
Wie aus Listing~\ref{lst:sample_abstract_event_data} zu erkennen ist, ist jedes Ereignis ein eigenes Objekt, welches alle für sich relevanten Daten entweder direkt oder als Zeiger auf andere Objekte enthalten kann. Um diese über RDF-Datenströme zu transportieren, müssen diese Ereignisse mit RDF-Quadrupeln beschrieben werden. Listing~\ref{lst:sample_event_rdf_quads} zeigt die Beschreibung der Ereignisse aus Listing~\ref{lst:sample_abstract_event_data} mit RDF-Quadrupeln.
\begin{lstlisting}[caption={RDF-Quadrupel mit Zeitstempeln beschreiben zwei Ereignisse eines PKW},label={lst:sample_event_rdf_quads}]
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@ -519,7 +538,8 @@ event:325 carOnt:speed 75 . (1344829405)
\end{lstlisting}
\section{Sprachkonzepte}
\section{Sprachkonzepte für CEP-Regeln}
Um CEP-Regeln für die C-SPARQL-Engine zu formulieren,
\todo{Dieser Bereich wird definitiv mit abstrakter Sprache und dann konkretem C-SPARQL CSPARQL-Query demonstriert. - das nötige C-SPARQL wurde zuvor ja als Engine der Wahl begründet.}
\begin{itemize}
@ -529,6 +549,7 @@ event:325 carOnt:speed 75 . (1344829405)
\end{itemize}
\subsection{Mustererkennung, Sliding Windows, Aggregation von Ereignissen}