diff --git a/Bachelorarbeit.tex b/Bachelorarbeit.tex index b94abee..d3a8de9 100644 --- a/Bachelorarbeit.tex +++ b/Bachelorarbeit.tex @@ -700,6 +700,28 @@ verwendet werden. \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. +Pattern: A, NOT B, C: +\begin{lstlisting}[label={},caption={C-SPARQL-Query für Muster $A\ \rightarrow\ (\neg B)\ \rightarrow C$}] +REGISTER QUERY matchANotBC AS +PREFIX f: +PREFIX rdf: +PREFIX xsd: +SELECT ?a ?b ?c +FROM STREAM [RANGE 5s STEP 1s] +WHERE { + ?a a . + ?c a . + BIND(f:timestamp(?a,rdf:type,) AS ?tsa) + BIND(f:timestamp(?c,rdf:type,) AS ?tsc) + FILTER(?tsa < ?tsc) + FILTER NOT EXISTS { + ?b a . + BIND(f:timestamp(?b,rdf:type,) AS ?tsb) + FILTER(?tsa < ?tsb && ?tsb < ?tsc) + } +} +\end{lstlisting} + \paragraph{Aggregation von Ereignissen} \dots \begin{lstlisting}