[TASK] Generic commit.
This commit is contained in:
parent
1f39cbefcf
commit
6dfa56df9e
|
@ -395,6 +395,7 @@ Grobe Eckpunkte zur Orientierung:
|
|||
|
||||
Hier kommt der Part hin mit der abstrakten CQL für die Situation + C-SPARQL-Queries
|
||||
|
||||
|
||||
\section{Ereignisse als RDF-Datenstrom}
|
||||
|
||||
Um Ereignisse aus verschiedenen Quellen gemeinsam zu verarbeiten ist RDF als kleinster gemeinsamer Nenner für Informationen das Mittel der Wahl. Hierbei werden die Ereignisse gegebenenfalls vorher in das RDF-Format transformiert und als Datenstrom aus RDF-Quadrupeln der CEP-Engine zugeführt. Die Quadrupel führen neben den ereignisrelevanten Informationen zusätzlich noch den Zeitstempel mit, zu dem das Ereignis ausgelöst wurde.
|
||||
|
@ -402,9 +403,9 @@ Als Abfragesprache für die RDF-Datenströme kommt eine erweiterte Form von SPAR
|
|||
|
||||
In Listing~\ref{lst:sample_rdf_event} aufgeführt sind RDF-Tripel, die ein beispielhaftes Zustands-Ereignis aus einem PKW zeigen.
|
||||
\begin{lstlisting}[caption={Ereignis im RDF-Format},label={lst:sample_rdf_event}]
|
||||
http://myexample.org/cars/event#1468064960110 http://myexample.org/cars#carID http://myexample.org/cars#8
|
||||
http://myexample.org/cars/event#1468064960110 http://myexample.org/cars#currentTemperature "27"^^http://www.w3.org/2001/XMLSchema#integer
|
||||
http://myexample.org/cars/event#1468064960110 http://myexample.org/cars#currentSpeed "13"^^http://www.w3.org/2001/XMLSchema#integer
|
||||
http://example.org/cars/event#1468064960110 http://example.org/cars#carID http://example.org/cars#8
|
||||
http://example.org/cars/event#1468064960110 http://example.org/cars#currentTemperature "27"^^http://www.w3.org/2001/XMLSchema#integer
|
||||
http://example.org/cars/event#1468064960110 http://example.org/cars#currentSpeed "13"^^http://www.w3.org/2001/XMLSchema#integer
|
||||
\end{lstlisting}
|
||||
|
||||
\todo{Noch ein wenig auf das Listing eingehen, URIs und die fiktiven Prädikate etwas erläutern}
|
||||
|
@ -418,12 +419,12 @@ Somit muss der Anwender neben SPARQL keine weiteren Sprachen lernen oder sich an
|
|||
\begin{lstlisting}[caption={Kombination von Ereignissen mit SPARQL},label={lst:sample_combine_events_sparql}]
|
||||
REGISTER QUERY ConstructAcceleratingCars AS
|
||||
PREFIX f: <http://larkc.eu/csparql/sparql/jena/ext#>
|
||||
PREFIX cars: <http://myexample.org/cars#>
|
||||
PREFIX cars: <http://example.org/cars#>
|
||||
CONSTRUCT {
|
||||
[] cars:carID ?car;
|
||||
cars:acceleratedBy ?deltaSpeed .
|
||||
}
|
||||
FROM STREAM <http://myexample.org/cars> [RANGE 5s STEP 1s]
|
||||
FROM STREAM <http://example.org/cars> [RANGE 5s STEP 1s]
|
||||
WHERE {
|
||||
?e1 cars:carID ?car ;
|
||||
cars:currentSpeed ?speed1 .
|
||||
|
@ -521,7 +522,7 @@ public class StreamGenerator extends RdfStream implements Runnable {
|
|||
|
||||
Einen StreamGenerator erzeugen (im Konstruktor die IRI für alle generierten Quadrupel), an der Engine registrieren und starten
|
||||
\begin{lstlisting}
|
||||
RdfStream streamGenerator = new StreamGenerator("http://myexample.org/cars");
|
||||
RdfStream streamGenerator = new StreamGenerator("http://example.org/cars");
|
||||
engine.registerStream(streamGenerator);
|
||||
final Thread t = new Thread((Runnable) streamGenerator);
|
||||
t.start();
|
||||
|
|
Loading…
Reference in New Issue