From cd83481da3ffb358316f48556f2037e0c126af59 Mon Sep 17 00:00:00 2001 From: Jan Philipp Timme Date: Mon, 10 Oct 2016 12:02:39 +0200 Subject: [PATCH] [TASK] Generic commit. --- Bachelorarbeit.tex | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Bachelorarbeit.tex b/Bachelorarbeit.tex index 881c8ee..4ef971b 100644 --- a/Bachelorarbeit.tex +++ b/Bachelorarbeit.tex @@ -1148,7 +1148,35 @@ WHERE { Auch diese Abfrage muss später in der Engine als Datenstrom registriert werden, um innerhalb von weiteren Abfragen auf die Ergebnisse dieses Queries zugreifen zu können. \item \textbf{Verschleiß der Handbremse durch Fahren mit angezogener Handbremse:} - +Da das \texttt{CarStatusEvent} Informationen zur Momentangeschwindigkeit eines PKW und zum Status dessen Handbremse liefert, ist es völlig ausreichend, für alle Statusereignisse ein neues Verschleißereignis auszulösen, in denen die Geschwindigkeit bei angezogener Handbremse größer als null ist. Abstrakt formuliert sieht dies so aus: +\begin{lstlisting}[mathescape=true,label={},caption={}] +CONDITION ($(CarStatusEvent\ AS\ statusEvent)$)[WindowSize:3s,StepSize:1s] + $\wedge$ statusEvent.handbrakeEngaged = true + $\wedge$ statusEvent.speed > 0 +ACTION + new CarHandbrakeWearEvent(relatedCar=statusEvent.relatedCar) +\end{lstlisting} +In einem C-SPARQL-Query sieht dies wie folgt aus: +\begin{lstlisting}[label={},caption={Erkennung von Verschleiß der Handbremse}] +REGISTER STREAM getHandbrakeWear AS +PREFIX rdf: +PREFIX f: +PREFIX xsd: +PREFIX car: +CONSTRUCT { + [] rdf:type car:CarHandbrakeWearEvent + ; car:relatedCar ?car . +} +FROM STREAM [RANGE 3s STEP 1s] +WHERE { + ?e rdf:type car:CarStatusEvent . + ?e car:relatedCar ?car . + ?e car:handbrakeEngaged ?handbrakeEngaged . + ?e car:speed ?speed . + FILTER(?speed > 0) + FILTER(?handbrakeEngaged = true) +} +\end{lstlisting} \item \textbf{Verschleiß der Reifen durch Fahren mit zu niedrigem Reifendruck:}