[TASK] Generic commit.
This commit is contained in:
parent
035f33e49a
commit
afbe2019ac
@ -1104,8 +1104,37 @@ Diese muss nun lediglich als Ereignisdatenstrom an der Engine registriert werden
|
|||||||
\item \textbf{Verschleiß der Bremsen durch sehr starke Bremsmanöver:}
|
\item \textbf{Verschleiß der Bremsen durch sehr starke Bremsmanöver:}
|
||||||
Die Umsetzung hier ist sehr ähnlich zu dem Query aus Listing~\ref{lst:scenario_strong_acceleration}, da der einzige Unterschied die Beschleunigungsrichtung ist. Somit ist für die Erkennung lediglich die Vertauschung der beiden Geschwindigkeitsparameter bei der Differenzbildung notwendig. Am Ende der Auswertung wird dann ein Ereignis vom Typ \texttt{CarStrongBrakeEvent} gefeuert.
|
Die Umsetzung hier ist sehr ähnlich zu dem Query aus Listing~\ref{lst:scenario_strong_acceleration}, da der einzige Unterschied die Beschleunigungsrichtung ist. Somit ist für die Erkennung lediglich die Vertauschung der beiden Geschwindigkeitsparameter bei der Differenzbildung notwendig. Am Ende der Auswertung wird dann ein Ereignis vom Typ \texttt{CarStrongBrakeEvent} gefeuert.
|
||||||
|
|
||||||
\item \textbf{Verschleiß des Motors durch Fahrt mit überhöhter Motordrehzahl:}
|
\item \textbf{Verschleiß des Motors durch Fahrt mit überhöhter Motordrehzahl:} Um die andauernd überhöhte Motordrehzahl eines PKW zu erkennen, müssen mehrere \texttt{CarStatusEvent}s in einem Zeitfenster betrachtet werden und die durchschnittliche Motordrehzahl durch den Einsatz von Aggregationsfunktionen ermittelt werden.
|
||||||
|
|
||||||
|
\begin{lstlisting}[label={lst:scenario_get_engine_wear},caption={Ermittlung überhöhter Motordrehzahl im Betrieb}]
|
||||||
|
REGISTER STREAM getEngineWear AS
|
||||||
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
|
PREFIX f: <http://larkc.eu/csparql/sparql/jena/ext#>
|
||||||
|
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
|
||||||
|
PREFIX car: <http://example.org/carSim/carSimulationOntology#>
|
||||||
|
CONSTRUCT {
|
||||||
|
[] rdf:type car:CarEngineWearEvent
|
||||||
|
; car:relatedCar ?car
|
||||||
|
; car:avgMotorRPM ?avgMotorRPM
|
||||||
|
; car:maxMotorRPM ?maxMotorRPM .
|
||||||
|
}
|
||||||
|
FROM STREAM <http://example.org/carSim/stream/carStream> [RANGE 3s STEP 1s]
|
||||||
|
FROM <http://example.org/carSim/localDomainKnowledge>
|
||||||
|
WHERE {
|
||||||
|
{
|
||||||
|
SELECT ?car (AVG(?motorRPM) AS ?avgMotorRPM)
|
||||||
|
WHERE {
|
||||||
|
?e rdf:type car:CarStatusEvent .
|
||||||
|
?e car:relatedCar ?car .
|
||||||
|
?e car:motorRPM ?motorRPM .
|
||||||
|
}
|
||||||
|
GROUP BY (?car)
|
||||||
|
}
|
||||||
|
?car car:isCarModel ?carModel .
|
||||||
|
?carModel car:maximumMotorRPM ?maxMotorRPM .
|
||||||
|
FILTER(?avgMotorRPM > ?maxMotorRPM)
|
||||||
|
}
|
||||||
|
\end{lstlisting}
|
||||||
\item \textbf{Verschleiß der Handbremse durch Fahren mit angezogener Handbremse:}
|
\item \textbf{Verschleiß der Handbremse durch Fahren mit angezogener Handbremse:}
|
||||||
\item \textbf{Verschleiß der Reifen durch Fahren mit zu niedrigem Reifendruck:}
|
\item \textbf{Verschleiß der Reifen durch Fahren mit zu niedrigem Reifendruck:}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
Loading…
Reference in New Issue
Block a user