[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-09-29 18:29:53 +02:00
parent 83b6cf8005
commit b21d9c2eae

View File

@ -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: <http://larkc.eu/csparql/sparql/jena/ext#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?a ?b ?c
FROM STREAM <http://example.org> [RANGE 5s STEP 1s]
WHERE {
?a a <http://example.org/type/A> .
?c a <http://example.org/type/C> .
BIND(f:timestamp(?a,rdf:type,<http://example.org/type/A>) AS ?tsa)
BIND(f:timestamp(?c,rdf:type,<http://example.org/type/C>) AS ?tsc)
FILTER(?tsa < ?tsc)
FILTER NOT EXISTS {
?b a <http://example.org/type/B> .
BIND(f:timestamp(?b,rdf:type,<http://example.org/type/B>) AS ?tsb)
FILTER(?tsa < ?tsb && ?tsb < ?tsc)
}
}
\end{lstlisting}
\paragraph{Aggregation von Ereignissen}
\dots
\begin{lstlisting}