diff --git a/Bachelorarbeit.tex b/Bachelorarbeit.tex index c6621d9..bd9b6d2 100644 --- a/Bachelorarbeit.tex +++ b/Bachelorarbeit.tex @@ -861,7 +861,27 @@ Ein wichtiges Werkzeug bei der Verarbeitung von Ereignisdatenströmen ist das Au \paragraph{Auslösen von Ereignissen} Das Auslösen von Ereignissen innerhalb der Ereignisverarbeitung kann genutzt werden, um eine mehrstufige Auswertung mit CEP-Regeln zu erhalten. Hierbei werden die Ergebnisse aus der Verarbeitung durch CEP-Regel genutzt, um den Typen und die Attributwerte des neuen Ereignisses zu bestimmen. -In C-SPARQL können hierfür eigene +In C-SPARQL können \texttt{CONSTRUCT}-Queries als Datenströme registriert werden: +\begin{lstlisting}[label={lst:csparql_construct_query},caption={Konstruktion eines Ereignisstromes mit C-SPARQL}] +REGISTER STREAM getAverageSpeedByCar AS +CONSTRUCT { + [] rdf:type car:AverageSpeedEvent + ; car:relatedCar ?car + ; car:averageSpeed ?avgSpeed . +} +FROM STREAM <...> [RANGE 5s STEP 1s] +WHERE { + { + SELECT ?car (AVG(?speed) AS ?avgSpeed) + WHERE { + ?e rdf:type car:CarStatusEvent . + ?e car:relatedCar ?car . + ?e car:speed ?speed . + } + GROUP BY (?car) + } +} +\end{lstlisting} \paragraph{Ausführen von Code und Anstoßen externer Dienste}