[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-09-30 08:23:06 +02:00
parent b21d9c2eae
commit 22527963ff
1 changed files with 10 additions and 4 deletions

View File

@ -693,10 +693,16 @@ FROM STEAM <http://example.org/exampleStream> [RANGE 30m STEP 5m]
verwendet werden.
\paragraph{Mustererkennung}
\todo{Sequenzoperator $\rightarrow$ mit \texttt{FILTER()} + \texttt{f:timestamp(?s,?p,?o) erklären!}}
\todo{Negationsoperator mit \texttt{OPTIONAL}, \texttt{ISBOUND()} und \texttt{FILTER()} zusammenpuzzeln!}
Um nun in der \texttt{WHERE}-Klausel von C-SPARQL-Abfragen Ereignismuster definieren zu können und diese mit Kontextbedingungen weiter zu verfeinern, müssen zunächst die Operatoren der Ereignisalgebra aus Kapitel~\ref{cpt:cep_intro} in Elemente der C-SPARQL-Sprache übersetzt werden. Um dies zu tun, werden folgende Ausdrücke aus C-SPARQL benötigt:
\begin{itemize}
\item \texttt{?s p o .}
\item \texttt{FILTER()}
\item \texttt{f:timestamp(?s,?p,?o)}
\item \texttt{ISBOUND(?var)}
\item \texttt{BIND(ausdruck AS ?var)}
\item \texttt{FILTER NOT EXISTS { ... }}
\item Optional: \texttt{OPTIONAL { ... }}
\end{itemize}
\todo{\dots} Ereignismuster lassen sich durch Sequenzen von auftretenden bzw. nicht auftretenden Ereignissen definieren. Um diese zu finden, müssen Tripel selektiert werden, die zu den benötigten Ereignistypen korrespondieren, wobei diese später über \texttt{FILTER}-Anweisungen in ihrer Reihenfolge festgelegt werden. Über Differenzen der durch \texttt{f:timestamp(?s,?p,?o)} angegebenen Zeitstempel von gegebenen Tripeln lassen sich auch zeitliche Beziehungen eingrenzen und festlegen.