[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-10-18 11:49:57 +02:00
parent 03091d527c
commit c3466a83e6

View File

@ -72,14 +72,14 @@
\item Immer mehr Geräte sind mit dem Internet verbunden
\item Sollen überwacht werden beziehungsweise überwachen selbst etwas
\item Bieten kontinuierlich aktuelle Zustands- und Messinformationen
\item In Form von RDF-Ereignisdatenströmen abrufbar
\item $\rightarrow$ In Form von RDF-Ereignisdatenströmen abrufbar
\end{itemize}
\end{frame}
\begin{frame}{Ereignisdatenströme}
\begin{itemize}
\item Transportieren Daten von einzelnen Ereignissen
\item Ereignisse bilden kleine Teile der Realität ab
\item Jedes Ereignis bildet kleinen Teil der Realität ab
\begin{itemize}
\item \dots sofern Daten korrekt sind (Messfehler, Übertragungsfehler, \dots)
\end{itemize}
@ -91,14 +91,14 @@
\begin{frame}{Verarbeitung der Ereignisdatenströme}
\begin{itemize}
\item Ereignisse für sich tragen kaum Bedeutung
\item Ein Ereignis für sich trägt kaum Bedeutung
\item Betrachtung in Kontext notwendig
\item Der Kontext ergibt sich \dots
\begin{itemize}
\item \dots durch relevante, weitere Ereignisse
\item \dots durch Integration von \emph{Domänenwissen}
\end{itemize}
\item Möglichst schnelle Verarbeitung erforderlich
\item Möglichst schnelle Verarbeitung gefordert
\item $\rightarrow$ Complex Event Processing (CEP)
\end{itemize}
\end{frame}
@ -122,6 +122,7 @@
\end{itemize}
\end{frame}
\section{Exkurs: Grundlagen RDF}
\begin{frame}{Exkurs: RDF}
@ -162,17 +163,23 @@ car:23 carOnt:hasNickname "Alf"^^xsd:string .
\caption{Prädikate verknüpfen ein Subjekt mit Objekt und Literalwert}
\label{fig:triple_spo}
\end{figure}
\begin{lstlisting}
car:23 carOnt:isCarModel carModel:42 .
car:23 carOnt:hasNickname "Alf"^^xsd:string .
\end{lstlisting}
\end{frame}
\begin{frame}{Assertion Box (ABox) und Terminlogy Box (TBox)}
\begin{itemize}
\item Unterscheidung zwischen Faktenbasis (ABox) und Terminologie (TBox)
\item TBox enthält Vokabular mit definierter Bedeutung
\item $\rightarrow$ Analog: Klassendefinition in OOP
\begin{itemize}
\item Objektklassen
\item Prädikate
\end{itemize}
\item ABox enthält konkrete Fakten
\item $\rightarrow$ Analog: Instanzen in OOP
\begin{itemize}
\item z.B. Wissen über existierende Objekte, \dots
\end{itemize}
@ -180,7 +187,7 @@ car:23 carOnt:hasNickname "Alf"^^xsd:string .
\end{frame}
\begin{frame}[fragile]{Beispiel für eine TBox}
Definition der Klassen \texttt{Car}, \texttt{CarModel} und \texttt{Driver} in RDFS:
Definition der Klassen \texttt{Car}, \texttt{CarModel} und \texttt{Driver} in RDF-Schema (RDFS):
\begin{lstlisting}
:Car rdf:type rdfs:class .
:CarModel rdf:type rdfs:class .
@ -192,7 +199,7 @@ Definition der Klassen \texttt{Car}, \texttt{CarModel} und \texttt{Driver} in RD
:isCarModel rdf:type rdf:Property .
:isCarModel rdfs:domain :Car .
.isCarModel rdfs:range :CarModel .
:isCarModel rdfs:range :CarModel .
\end{lstlisting}
\end{frame}
@ -218,7 +225,7 @@ driver:1 :hasName "Max Mustermann"^^xsd:string .
\item Ermittelt in der ABox enthaltenes, implizites Wissen
\end{itemize}
Dazu folgt nun ein Beispiel
Dazu folgt nun ein Beispiel \dots
\end{frame}
\begin{frame}[fragile]{Beispiel: Reasoning}
@ -228,13 +235,13 @@ Gegeben sei folgende ABox:
\end{lstlisting}
Führt man nun Reasoning mit Hilfe dieser TBox durch:
\begin{lstlisting}
:Vehicle rdf:type rdfs:class .
:Car rdf:type rdfs:class .
:Car rdfs:subclassOf :Vehicle .
:drives rdf:type rdf:Property .
:drives rdfs:domain :Driver .
:drives rdfs:range :Car .
:Vehicle rdf:type rdfs:class .
:Car rdf:type rdfs:class .
:Car rdfs:subclassOf :Vehicle .
\end{lstlisting}
So ergibt sich daraus folgendes, zusätzliches Wissen:
\begin{lstlisting}
@ -244,35 +251,6 @@ So ergibt sich daraus folgendes, zusätzliches Wissen:
\end{lstlisting}
\end{frame}
\begin{frame}{Abfragen von RDF-Daten mit SPARQL}
\begin{itemize}
\item \enquote{SPARQL Protocol And RDF Query Language}
\item Schlüsselwörter sehr ähnlich zu SQL
\item Größter Unterschied in der \texttt{WHERE}-Klausel
\begin{itemize}
\item Gesuchte Tripelmuster werden formuliert
\item Tripel mit Platzhaltern (z.B. \texttt{?carModel})
\end{itemize}
\item Auch hier: Prefixe können genutzt werden\footnote{\dots und werden auf den folgenden Folien für die Übersichtlichkeit weggelassen}
\end{itemize}
Es folgt ein beispielhafter SPARQL-Query
\end{frame}
\begin{frame}[fragile]{Beispielhafte SPARQL-Abfrage}
\begin{lstlisting}
PREFIX carOnt: <http://example.org/carSim/carSimulationOntology#>
PREFIX car: <http://example.org/carSim/objects/Car#>
SELECT ?maxMotorRPM
WHERE {
car:0 carOnt:isCarModel ?carModel .
?carModel carOnt:maximumMotorRPM ?maxMotorRPM .
}
\end{lstlisting}
Diese Abfrage selektiert zu dem PKW \texttt{car:0} die maximal zulässige Motordrehzahl über das Modell des PKW.
\end{frame}
\begin{frame}{Zusammenfassung RDF-Exkurs}
\begin{itemize}
\item RDF-Daten bestehen aus Tripeln (Subjekt, Prädikat, Objekt)
@ -281,12 +259,12 @@ Diese Abfrage selektiert zu dem PKW \texttt{car:0} die maximal zulässige Motord
\begin{itemize}
\item \dots dafür ist eine TBox notwendig
\end{itemize}
\item Mittels SPARQL können RDF-Daten abgefragt werden
\end{itemize}
\end{frame}
\section{Complex Event Processing mit C-SPARQL}
\begin{frame}{Complex Event Processing}
\begin{itemize}
\item Ereignisdaten werden in Sliding Windows betrachtet