Update on Overleaf.
This commit is contained in:
parent
579c3a347f
commit
dda975cc3e
363
main.tex
363
main.tex
|
@ -12,6 +12,7 @@
|
||||||
\usepackage{verbatim}
|
\usepackage{verbatim}
|
||||||
\usepackage{listings}
|
\usepackage{listings}
|
||||||
\usepackage{url}
|
\usepackage{url}
|
||||||
|
\usepackage{xcolor}
|
||||||
\usepackage{caption}
|
\usepackage{caption}
|
||||||
\usepackage[autostyle=true,german=quotes]{csquotes}
|
\usepackage[autostyle=true,german=quotes]{csquotes}
|
||||||
|
|
||||||
|
@ -54,336 +55,124 @@
|
||||||
{°}{{${^\circ}$}}1
|
{°}{{${^\circ}$}}1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% Define colors
|
||||||
|
\definecolor{hlr}{RGB}{255,180,180}
|
||||||
|
\definecolor{hlg}{RGB}{180,255,180}
|
||||||
|
\definecolor{hlb}{RGB}{180,180,255}
|
||||||
|
|
||||||
\mode<presentation>
|
\mode<presentation>
|
||||||
\title{Intelligente Systeme}
|
\title{IPv6}
|
||||||
\subtitle{Ontologieprojekt: RDFS Ontologie }
|
\subtitle{Einführung und Sicherheitsaspekte}
|
||||||
\author{Marcel Felix, Jan Philipp Timme}
|
\author{Jan Philipp Timme}
|
||||||
\date{\today}
|
\date{\today}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
%\tableofcontents[hideallsubsections]
|
\tableofcontents[hideallsubsections]
|
||||||
|
|
||||||
\section{Einleitung}
|
\section{Einstieg IPv6}
|
||||||
\begin{frame}{Szenario}
|
|
||||||
|
\begin{frame}{Neuigkeiten mit IPv6}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Welt der Spielekonsolen mit Bewertungen
|
\item 128 Bit Adressraum
|
||||||
\item Spielekonsolen mit einigen Attributen beschrieben
|
\item Neu: Link-lokale Adressen
|
||||||
\item Spielekonsolen werden von Organisationen hergestellt
|
\item Multicast anstelle von Broadcast
|
||||||
\item Spielekonsolen haben einen Nachfolger/Vorgänger
|
\item ICMPv6 für Betrieb essentiell
|
||||||
\item Organisationen haben einen CEO
|
\item Konfiguration via SLAAC und DHCPv6
|
||||||
\item \dots
|
\item Router Advertisments
|
||||||
|
\item Vollwertiges Routing, kein NAT!
|
||||||
|
\item Paketfragmentierung nur durch den Absender
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]{Selbstdefinierte Prädikate}
|
\begin{frame}{Notation und Kurzschreibweise}
|
||||||
\begin{lstlisting}
|
Gegeben: IPv6-Adresse
|
||||||
:foundingYear rdf:type rdf:Property ;
|
\texttt{2001:0db8:2407:08d3:0000:0000:0000:1234} \newline
|
||||||
rdfs:domain foaf:Organization ;
|
\newline
|
||||||
rdfs:range xsd:int .
|
1) Führende Nullen streichen \newline
|
||||||
|
\texttt{2001:\colorbox{hlb}{0}db8:2407:\colorbox{hlb}{0}8d3:\colorbox{hlb}{000}0:\colorbox{hlb}{000}0:\colorbox{hlb}{000}0:1234} \newline
|
||||||
:internetEnabled rdf:type rdf:Property ;
|
$\Rightarrow$ \texttt{2001:db8:2407:8d3:0:0:0:1234} \newline
|
||||||
rdfs:domain :GameConsole ;
|
\newline
|
||||||
rdfs:range xsd:boolean .
|
2) Zusammenhängende Nullsegmente mit \texttt{::} ersetzen
|
||||||
|
\texttt{2001:db8:2407:8d3:\colorbox{hlb}{0:0:0}:1234} \newline
|
||||||
:consoleName rdf:type rdf:Property ;
|
$\Rightarrow$ \texttt{2001:db8:2407:8d3::1234}
|
||||||
rdfs:domain :GameConsole ;
|
|
||||||
rdfs:range xsd:string .
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]{Ein eigener Datentyp und mehr \dots}
|
\begin{frame}{Präfix}
|
||||||
\begin{lstlisting}
|
IPv6-Adresse mit angegebener Prefix-Länge: \texttt{2001:db8:2407:8d3::1234/128}
|
||||||
# rdfs:Datatype
|
|
||||||
:PriceEur rdf:type rdfs:Datatype .
|
|
||||||
:PriceEur rdfs:label "Preis in Euro"^^xsd:string .
|
|
||||||
|
|
||||||
# rdfs:subPropertyOf
|
|
||||||
:predecessorOfConsole rdfs:subPropertyOf :relatedToConsole .
|
|
||||||
:successorOfConsole rdfs:subPropertyOf :relatedToConsole .
|
|
||||||
|
|
||||||
# rdfs:subClassOf
|
|
||||||
:GameConsole rdf:type rdfs:Class .
|
|
||||||
:PortableGameConsole rdf:type rdfs:Class .
|
|
||||||
|
|
||||||
:PortableGameConsole rdfs:subClassOf :GameConsole .
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Adressklassen}
|
||||||
|
|
||||||
\begin{frame}[fragile]{Überblick Daten A-Box (1/2)}
|
\begin{frame}{Adressklassen: Unspezifizierte Adresse\footnote{Siehe RFC 4291, Kapitel 2.5.2.}}
|
||||||
\begin{lstlisting}
|
Aus IPv4 bekannt als \texttt{0.0.0.0/0} \newline
|
||||||
@prefix : <http://example.com/ins_uebung/#> .
|
\newline
|
||||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
In IPv6: \texttt{0000:0000:0000:0000:0000:0000:0000:0000} (kurz: \texttt{::}) \newline
|
||||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
||||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
||||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
|
||||||
@prefix rev: <http://purl.org/stuff/rev#> .
|
|
||||||
|
|
||||||
:Nintendo rdf:type foaf:Organization ;
|
|
||||||
:ceo :Kimishima ;
|
|
||||||
:foundingYear 1889 ;
|
|
||||||
foaf:name "Nintendo Co., Ltd."^^xsd:string .
|
|
||||||
|
|
||||||
:Kimishima rdf:type foaf:Person ;
|
|
||||||
foaf:familyName "Kimishima"^^xsd:string ;
|
|
||||||
foaf:givenName "Tatsumi"^^xsd:string .
|
|
||||||
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}[fragile]{Überblick Daten A-Box (2/2)}
|
|
||||||
\begin{lstlisting}
|
|
||||||
:Switch rdf:type :PortableGameConsole .
|
|
||||||
:Switch rev:hasReview :SwitchReviewByJPT .
|
|
||||||
|
|
||||||
:Wii rdf:type :GameConsole .
|
|
||||||
|
|
||||||
:Wii_u rdf:type :GameConsole ;
|
|
||||||
:internetEnabled true ;
|
|
||||||
:consoleName "Wii U"^^xsd:string ;
|
|
||||||
:numOfSupportedControllers 8 ;
|
|
||||||
:predecessorOfConsole :Wii ;
|
|
||||||
:releaseYear 2012 ;
|
|
||||||
:successorOfConsole :Switch .
|
|
||||||
\end{lstlisting}
|
|
||||||
...
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}[fragile]{T-Box (1/2)}
|
|
||||||
\begin{lstlisting}
|
|
||||||
@prefix : <http://example.com/ins_uebung/#> .
|
|
||||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
||||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
||||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
||||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
|
||||||
@prefix rev: <http://purl.org/stuff/rev#> .
|
|
||||||
|
|
||||||
# Our own properties
|
|
||||||
:ceo rdf:type rdf:Property ;
|
|
||||||
rdfs:domain foaf:Organization ;
|
|
||||||
rdfs:range foaf:Person .
|
|
||||||
|
|
||||||
:foundingYear rdf:type rdf:Property ;
|
|
||||||
rdfs:domain foaf:Organization ;
|
|
||||||
rdfs:range xsd:int .
|
|
||||||
|
|
||||||
:internetEnabled rdf:type rdf:Property ;
|
|
||||||
rdfs:domain :GameConsole ;
|
|
||||||
rdfs:range xsd:boolean .
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}[fragile]{T-Box (2/2)}
|
|
||||||
\begin{lstlisting}
|
|
||||||
:consoleName rdf:type rdf:Property ;
|
|
||||||
rdfs:domain :GameConsole ;
|
|
||||||
rdfs:range xsd:string .
|
|
||||||
|
|
||||||
:numOfSupportedControllers rdf:type rdf:Property ;
|
|
||||||
rdfs:domain :GameConsole ;
|
|
||||||
rdfs:range xsd:string .
|
|
||||||
|
|
||||||
:successorOfConsole rdf:type rdf:Property ;
|
|
||||||
rdfs:domain :GameConsole ;
|
|
||||||
rdfs:range :GameConsole .
|
|
||||||
\end{lstlisting}
|
|
||||||
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}[fragile]{Anwendung von RDFS-Regeln}
|
|
||||||
Gegeben sei folgende A-Box
|
|
||||||
\begin{lstlisting}
|
|
||||||
:Wii_U rdf:type :GameConsole .
|
|
||||||
:Switch :successorOfConsole :Wii_U .
|
|
||||||
\end{lstlisting}
|
|
||||||
mit dieser T-Box
|
|
||||||
\begin{lstlisting}
|
|
||||||
:successorOfConsole rdf:type rdf:Property ;
|
|
||||||
rdfs:domain :GameConsole ;
|
|
||||||
rdfs:range :GameConsole .
|
|
||||||
\end{lstlisting}
|
|
||||||
Anwendung der Regel \texttt{rdfs2}
|
|
||||||
\begin{lstlisting}
|
|
||||||
s p o .
|
|
||||||
p rdfs:domain c . ==> s rdf:type c .
|
|
||||||
\end{lstlisting}
|
|
||||||
Ergebnis:
|
|
||||||
\begin{lstlisting}
|
|
||||||
:Switch rdf:type :GameConsole .
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}[fragile]{SPARQL-Anfragen (1/2)}
|
|
||||||
Wie viele verschiedene Konsolen wurden von Nintendo hergestellt?
|
|
||||||
\begin{lstlisting}
|
|
||||||
SELECT COUNT(?console) AS ?numConsoles
|
|
||||||
WHERE {
|
|
||||||
?console :madeBy ?organization .
|
|
||||||
}
|
|
||||||
GROUP BY ?organization
|
|
||||||
\end{lstlisting}
|
|
||||||
Welche Konsolen kamen nach Jahr X raus?
|
|
||||||
\begin{lstlisting}
|
|
||||||
SELECT ?console
|
|
||||||
WHERE {
|
|
||||||
?console :madeBy :Nintendo .
|
|
||||||
?console :releaseYear ?releaseYear .
|
|
||||||
FILTER(?releaseYear > 1997)
|
|
||||||
}
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}[fragile]{SPARQL-Anfragen (2/2)}
|
|
||||||
Einen CEO einer Konsole zuordnen.
|
|
||||||
\begin{lstlisting}
|
|
||||||
CONSTRUCT {
|
|
||||||
?ceo :isRelatedToConsole ?console .
|
|
||||||
}
|
|
||||||
WHERE {
|
|
||||||
?console rdf:type :GameConsole .
|
|
||||||
?console :madeBy ?org .
|
|
||||||
?org :ceo ?ceo .
|
|
||||||
?ceo rdf:type foaf:Person .
|
|
||||||
}
|
|
||||||
\end{lstlisting}
|
|
||||||
Alle Konsolen die mindestens ein Review haben.
|
|
||||||
\begin{lstlisting}
|
|
||||||
SELECT DISTINCT ?console
|
|
||||||
WHERE {
|
|
||||||
?console rev:hasReview ?anyReview .
|
|
||||||
}
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}{Description Logic: T-Box (1/2)}
|
|
||||||
A PortableGameConsole is a specific type of GameConsole.
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{PortableGameConsole $\sqsubseteq$ GameConsole}
|
\item Zeigt das Fehlen einer Adresse an
|
||||||
|
\item \dots oder signalisiert Erreichbarkeit eines Sockets auf allen Adressen eines Geräts
|
||||||
|
\item Darf nie einem Gerät zugewiesen werden
|
||||||
|
\item Als Quelladresse für Pakete erlaubt
|
||||||
|
\begin{itemize}
|
||||||
|
\item \dots sofern Rechner noch keine IPv6-Adresse besitzt
|
||||||
|
\item \dots diese dürfen dann nicht geroutet werden
|
||||||
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Description Logic: T-Box (2/2)}
|
\begin{frame}{Adressklassen: Loopback Adresse\footnote{Siehe RFC 4291, Kapitel 2.5.3.}}
|
||||||
An Organization can have a Person as CEO.
|
Aus IPv4 bekannt als \texttt{127.0.0.1/8} \newline
|
||||||
|
\newline
|
||||||
|
\texttt{0000:0000:0000:0000:0000:0000:0000:0001} (kurz: \texttt{::1})
|
||||||
|
\newline
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{$\exists$ ceo.$\top$ $\sqsubseteq$ Organization}
|
\item Wie bereits aus IPv4 bekannt
|
||||||
\item \texttt{Organization $\sqsubseteq$ $\forall$ceo.Person}
|
|
||||||
\end{itemize}
|
|
||||||
A GameConsole is made by an Organization.
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{$\exists$ madeBy.$\top$ $\sqsubseteq$ GameConsole}
|
|
||||||
\item \texttt{GameConsole $\sqsubseteq$ $\forall$madeBy.Organization}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Description Logic: R-Box (1/2)}
|
\begin{frame}{Adressklassen: Globale Unicast Adresse (GUA)\footnote{Siehe RFC 4291, Kapitel 2.5.4.}}
|
||||||
|
Analog zu global gerouteter IPv4-Adresse \newline
|
||||||
|
\newline
|
||||||
|
\texttt{2001:db8:2407:8d3::1234}
|
||||||
|
\newline
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{$\exists$ successorOfConsole.$\top$ $\sqsubseteq$ relatedToConsole}
|
\item Wie bereits aus IPv4 bekannt
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Description Logic: R-Box (2/2)}
|
\section{Hauptteil}
|
||||||
|
\begin{frame}{TODO}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{relatedToConsole $\circ$ relatedToConsole $\sqsubseteq$ relatedToConsole}
|
\item TODO
|
||||||
\item \texttt{successorOfConsole $\circ$ successorOfConsole $\sqsubseteq$ successorOfConsole}
|
|
||||||
\item \texttt{predecessorOfConsole $\circ$ predecessorOfConsole $\sqsubseteq$ predecessorOfConsole}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Description Logic: A-Box}
|
\section{Schluss}
|
||||||
|
\begin{frame}{TODO}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{\{Nintendo\} $\sqsubseteq$ foaf:Organization}
|
\item TODO
|
||||||
\item \texttt{\{Nintendo\} $\sqsubseteq$ $\exists$ :ceo.Kimishima}
|
|
||||||
\item \texttt{\{Nintendo\} $\sqsubseteq$ $\exists$ :foundingYear.\{1889\}}
|
|
||||||
\item \texttt{\{Nintendo\} $\sqsubseteq$ $\exists$ :foaf:name.\{Nintendo Co., Ltd.\}}
|
|
||||||
|
|
||||||
\item \texttt{\{Wii\_U\} $\sqsubseteq$ foaf:Organization}
|
|
||||||
\item \texttt{\{Wii\_U\} $\sqsubseteq$ $\exists$ :consoleName.\{Wii U\}}
|
|
||||||
\item \texttt{\{Wii\_U\} $\sqsubseteq$ $\exists$ :predecessorOfConsole.Wii}
|
|
||||||
\item \texttt{\{Wii\_U\} $\sqsubseteq$ $\exists$ :successorOfConsole.Switch}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Description Logic: New Concepts}
|
\begin{frame}{}
|
||||||
Boolean concept constructors:
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \texttt{HomeConsole $\equiv$ GameConsole $\sqcap$ $\neg$ PortableConsole}
|
\item
|
||||||
\end{itemize}
|
|
||||||
Existential restriction:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{NintendoConsole $\sqsubseteq$ $\exists$ madeBy.Nintendo}
|
|
||||||
\end{itemize}
|
|
||||||
Universal restriction:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{GameConsole $\sqsubseteq$ $\forall$madeBy.Organization $\wedge$ $\forall$foundingYear.\{ $\geq$1700\}}
|
|
||||||
\end{itemize}
|
|
||||||
Number restrictions:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{PartyConsole $\sqsubseteq$ $\leq$1 madeBy.Organization}
|
|
||||||
\end{itemize}
|
|
||||||
Reflexivity restriction:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{GameConsole $\sqsubseteq$ $\nexists$ predecessorOfConsole.Self}
|
|
||||||
\end{itemize}
|
|
||||||
Nominals:
|
|
||||||
\begin{itemize}
|
|
||||||
\item \texttt{HomeConsole $\equiv$ \{Switch\} $\sqcap$ \{Wii\} $\sqcap$ \{Wii U\}}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]{OWL (1/2)}
|
\begin{frame}{}
|
||||||
\begin{lstlisting}
|
\begin{itemize}
|
||||||
:HomeConsole owl:differentFrom :PortableConsole .
|
\item
|
||||||
\end{lstlisting}
|
\end{itemize}
|
||||||
\begin{lstlisting}
|
|
||||||
:predecessorOfConsole owl:propertyChainAxiom (:predecessorOfConsole :predecessorOfConsole) .
|
|
||||||
\end{lstlisting}
|
|
||||||
\begin{lstlisting}
|
|
||||||
:HomeConsole owl:equivalentClass [
|
|
||||||
rdf:type owl:Class ;
|
|
||||||
owl:intersectionOf (
|
|
||||||
:GameConsole [owl:complementOf :PortableConsole]
|
|
||||||
)
|
|
||||||
] .
|
|
||||||
\end{lstlisting}
|
|
||||||
\begin{lstlisting}
|
|
||||||
:NintendoConsole owl:equivalentClass [
|
|
||||||
rdf:type owl:Restriction ;
|
|
||||||
owl:onProperty :madeBy ;
|
|
||||||
owl:someValuesFrom :Nintendo
|
|
||||||
] .
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]{OWL (2/2)}
|
\begin{frame}{}
|
||||||
\begin{lstlisting}
|
\begin{itemize}
|
||||||
:PartyConsole rdf:equivalentClass [
|
\item
|
||||||
rdf:type owl:Restriction ;
|
\end{itemize}
|
||||||
owl:minQualifiedCardinality "2"^^xsd:nonNegativeInteger ;
|
|
||||||
owl:onProperty :numOfSupportedControllers ;
|
|
||||||
owl:onClass :GameConsole
|
|
||||||
] .
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]{Jena Rules}
|
|
||||||
With Jena built-ins
|
|
||||||
\begin{lstlisting}
|
|
||||||
[rule1: (?con rdf:type :GameConsole) (?con :predecessorOfConsole ?otherCon)
|
|
||||||
noValue(?otherCon :successorOfConsole ?con)
|
|
||||||
-> (?otherCon :successorOfConsole ?con)]
|
|
||||||
\end{lstlisting}
|
|
||||||
Removing facts
|
|
||||||
\begin{lstlisting}
|
|
||||||
[rule2: (?con :hasPrice ?someValue)
|
|
||||||
-> remove(?con :hasPrice ?someValue)]
|
|
||||||
\end{lstlisting}
|
|
||||||
Insert new facts
|
|
||||||
\begin{lstlisting}
|
|
||||||
[rule3: (?con rev:hasReview ?rev) (?rev rev:reviewer ?reviewer)
|
|
||||||
-> (?reviewer :hasReviewedConsole ?con)]
|
|
||||||
\end{lstlisting}
|
|
||||||
Testing with Jena Rule \dots by using the rules in our code.
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
% The end.
|
% The end.
|
||||||
\end{document}
|
\end{document}
|
Loading…
Reference in New Issue