[TASK] Generic commit.

This commit is contained in:
Jan Philipp Timme 2016-10-18 11:49:57 +02:00
parent 03091d527c
commit c3466a83e6
1 changed files with 19 additions and 41 deletions

View File

@ -72,14 +72,14 @@
\item Immer mehr Geräte sind mit dem Internet verbunden \item Immer mehr Geräte sind mit dem Internet verbunden
\item Sollen überwacht werden beziehungsweise überwachen selbst etwas \item Sollen überwacht werden beziehungsweise überwachen selbst etwas
\item Bieten kontinuierlich aktuelle Zustands- und Messinformationen \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{itemize}
\end{frame} \end{frame}
\begin{frame}{Ereignisdatenströme} \begin{frame}{Ereignisdatenströme}
\begin{itemize} \begin{itemize}
\item Transportieren Daten von einzelnen Ereignissen \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} \begin{itemize}
\item \dots sofern Daten korrekt sind (Messfehler, Übertragungsfehler, \dots) \item \dots sofern Daten korrekt sind (Messfehler, Übertragungsfehler, \dots)
\end{itemize} \end{itemize}
@ -91,14 +91,14 @@
\begin{frame}{Verarbeitung der Ereignisdatenströme} \begin{frame}{Verarbeitung der Ereignisdatenströme}
\begin{itemize} \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 Betrachtung in Kontext notwendig
\item Der Kontext ergibt sich \dots \item Der Kontext ergibt sich \dots
\begin{itemize} \begin{itemize}
\item \dots durch relevante, weitere Ereignisse \item \dots durch relevante, weitere Ereignisse
\item \dots durch Integration von \emph{Domänenwissen} \item \dots durch Integration von \emph{Domänenwissen}
\end{itemize} \end{itemize}
\item Möglichst schnelle Verarbeitung erforderlich \item Möglichst schnelle Verarbeitung gefordert
\item $\rightarrow$ Complex Event Processing (CEP) \item $\rightarrow$ Complex Event Processing (CEP)
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -122,6 +122,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\section{Exkurs: Grundlagen RDF} \section{Exkurs: Grundlagen RDF}
\begin{frame}{Exkurs: 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} \caption{Prädikate verknüpfen ein Subjekt mit Objekt und Literalwert}
\label{fig:triple_spo} \label{fig:triple_spo}
\end{figure} \end{figure}
\begin{lstlisting}
car:23 carOnt:isCarModel carModel:42 .
car:23 carOnt:hasNickname "Alf"^^xsd:string .
\end{lstlisting}
\end{frame} \end{frame}
\begin{frame}{Assertion Box (ABox) und Terminlogy Box (TBox)} \begin{frame}{Assertion Box (ABox) und Terminlogy Box (TBox)}
\begin{itemize} \begin{itemize}
\item Unterscheidung zwischen Faktenbasis (ABox) und Terminologie (TBox) \item Unterscheidung zwischen Faktenbasis (ABox) und Terminologie (TBox)
\item TBox enthält Vokabular mit definierter Bedeutung \item TBox enthält Vokabular mit definierter Bedeutung
\item $\rightarrow$ Analog: Klassendefinition in OOP
\begin{itemize} \begin{itemize}
\item Objektklassen \item Objektklassen
\item Prädikate \item Prädikate
\end{itemize} \end{itemize}
\item ABox enthält konkrete Fakten \item ABox enthält konkrete Fakten
\item $\rightarrow$ Analog: Instanzen in OOP
\begin{itemize} \begin{itemize}
\item z.B. Wissen über existierende Objekte, \dots \item z.B. Wissen über existierende Objekte, \dots
\end{itemize} \end{itemize}
@ -180,7 +187,7 @@ car:23 carOnt:hasNickname "Alf"^^xsd:string .
\end{frame} \end{frame}
\begin{frame}[fragile]{Beispiel für eine TBox} \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} \begin{lstlisting}
:Car rdf:type rdfs:class . :Car rdf:type rdfs:class .
:CarModel 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 rdf:type rdf:Property .
:isCarModel rdfs:domain :Car . :isCarModel rdfs:domain :Car .
.isCarModel rdfs:range :CarModel . :isCarModel rdfs:range :CarModel .
\end{lstlisting} \end{lstlisting}
\end{frame} \end{frame}
@ -218,7 +225,7 @@ driver:1 :hasName "Max Mustermann"^^xsd:string .
\item Ermittelt in der ABox enthaltenes, implizites Wissen \item Ermittelt in der ABox enthaltenes, implizites Wissen
\end{itemize} \end{itemize}
Dazu folgt nun ein Beispiel Dazu folgt nun ein Beispiel \dots
\end{frame} \end{frame}
\begin{frame}[fragile]{Beispiel: Reasoning} \begin{frame}[fragile]{Beispiel: Reasoning}
@ -228,13 +235,13 @@ Gegeben sei folgende ABox:
\end{lstlisting} \end{lstlisting}
Führt man nun Reasoning mit Hilfe dieser TBox durch: Führt man nun Reasoning mit Hilfe dieser TBox durch:
\begin{lstlisting} \begin{lstlisting}
:Vehicle rdf:type rdfs:class .
:Car rdf:type rdfs:class .
:Car rdfs:subclassOf :Vehicle .
:drives rdf:type rdf:Property . :drives rdf:type rdf:Property .
:drives rdfs:domain :Driver . :drives rdfs:domain :Driver .
:drives rdfs:range :Car . :drives rdfs:range :Car .
:Vehicle rdf:type rdfs:class .
:Car rdf:type rdfs:class .
:Car rdfs:subclassOf :Vehicle .
\end{lstlisting} \end{lstlisting}
So ergibt sich daraus folgendes, zusätzliches Wissen: So ergibt sich daraus folgendes, zusätzliches Wissen:
\begin{lstlisting} \begin{lstlisting}
@ -244,35 +251,6 @@ So ergibt sich daraus folgendes, zusätzliches Wissen:
\end{lstlisting} \end{lstlisting}
\end{frame} \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{frame}{Zusammenfassung RDF-Exkurs}
\begin{itemize} \begin{itemize}
\item RDF-Daten bestehen aus Tripeln (Subjekt, Prädikat, Objekt) \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} \begin{itemize}
\item \dots dafür ist eine TBox notwendig \item \dots dafür ist eine TBox notwendig
\end{itemize} \end{itemize}
\item Mittels SPARQL können RDF-Daten abgefragt werden
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\section{Complex Event Processing mit C-SPARQL} \section{Complex Event Processing mit C-SPARQL}
\begin{frame}{Complex Event Processing} \begin{frame}{Complex Event Processing}
\begin{itemize} \begin{itemize}
\item Ereignisdaten werden in Sliding Windows betrachtet \item Ereignisdaten werden in Sliding Windows betrachtet