[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
|
Hier kommt der Part hin mit der abstrakten CQL für die Situation + C-SPARQL-Queries
|
||||||
|
|
||||||
|
|
||||||
\section{Ereignisse als RDF-Datenstrom}
|
\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.
|
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.
|
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}]
|
\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://example.org/cars/event#1468064960110 http://example.org/cars#carID http://example.org/cars#8
|
||||||
http://myexample.org/cars/event#1468064960110 http://myexample.org/cars#currentTemperature "27"^^http://www.w3.org/2001/XMLSchema#integer
|
http://example.org/cars/event#1468064960110 http://example.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#currentSpeed "13"^^http://www.w3.org/2001/XMLSchema#integer
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
\todo{Noch ein wenig auf das Listing eingehen, URIs und die fiktiven Prädikate etwas erläutern}
|
\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}]
|
\begin{lstlisting}[caption={Kombination von Ereignissen mit SPARQL},label={lst:sample_combine_events_sparql}]
|
||||||
REGISTER QUERY ConstructAcceleratingCars AS
|
REGISTER QUERY ConstructAcceleratingCars AS
|
||||||
PREFIX f: <http://larkc.eu/csparql/sparql/jena/ext#>
|
PREFIX f: <http://larkc.eu/csparql/sparql/jena/ext#>
|
||||||
PREFIX cars: <http://myexample.org/cars#>
|
PREFIX cars: <http://example.org/cars#>
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
[] cars:carID ?car;
|
[] cars:carID ?car;
|
||||||
cars:acceleratedBy ?deltaSpeed .
|
cars:acceleratedBy ?deltaSpeed .
|
||||||
}
|
}
|
||||||
FROM STREAM <http://myexample.org/cars> [RANGE 5s STEP 1s]
|
FROM STREAM <http://example.org/cars> [RANGE 5s STEP 1s]
|
||||||
WHERE {
|
WHERE {
|
||||||
?e1 cars:carID ?car ;
|
?e1 cars:carID ?car ;
|
||||||
cars:currentSpeed ?speed1 .
|
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
|
Einen StreamGenerator erzeugen (im Konstruktor die IRI für alle generierten Quadrupel), an der Engine registrieren und starten
|
||||||
\begin{lstlisting}
|
\begin{lstlisting}
|
||||||
RdfStream streamGenerator = new StreamGenerator("http://myexample.org/cars");
|
RdfStream streamGenerator = new StreamGenerator("http://example.org/cars");
|
||||||
engine.registerStream(streamGenerator);
|
engine.registerStream(streamGenerator);
|
||||||
final Thread t = new Thread((Runnable) streamGenerator);
|
final Thread t = new Thread((Runnable) streamGenerator);
|
||||||
t.start();
|
t.start();
|
||||||
|
|
Loading…
Reference in New Issue