[TASK] Generic commit
This commit is contained in:
parent
6116fecfc5
commit
d35095ee2f
|
@ -229,9 +229,9 @@ Das in Listing~\ref{lst:sample_rdf_triple} enthaltene Tripel ordnet das Car-Subj
|
|||
\todo{GRAFIK: zwei Elipsen und ein Pfeil, alle mit je S/P/O beschriftet zur Verdeutlichung.}
|
||||
|
||||
\paragraph{Turtle-Notation mit Prefixen}
|
||||
Wie anhand des Beispiels erkennbar ist, ist die explizite Notation für Tripel aufgrund der häufigen Nennung von vollständigen URIs wenig platzsparend und für große Datenmengen somit nicht empfehlenswert. Hierfür bietet sich die Nutzung von Prefixen an, die nach einmaliger Definition innerhalb eines Kontextes (zum Beispiel einer Datei) verwendet werden können.
|
||||
Wie anhand des Beispiels aus Listing~\ref{lst:sample_rdf_triple} erkennbar ist, ist die explizite Notation für Tripel aufgrund der häufigen Nennung von vollständigen URIs wenig platzsparend und für große Datenmengen somit nicht empfehlenswert. Hierfür bietet sich die Nutzung von Prefixen an, die nach einmaliger Definition innerhalb eines Kontextes (zum Beispiel einer Datei) verwendet werden können.
|
||||
Listing~\ref{lst:sample_rdf_triple_with_prefix} zeigt die Notation von Tripeln im Turtle\footnote{Siehe auch die Spezifikation der Turtle-Notation nach \cite{w3c:turtle}}-Format unter Verwendung von Prefixen.
|
||||
\begin{lstlisting}[caption={Das Beispieltripel aus Listing~\ref{lst:sample_rdf_triple} mit Prefixen},label={lst:sample_rdf_triple_with_prefix}]
|
||||
\begin{lstlisting}[caption={Das Tripel aus Listing~\ref{lst:sample_rdf_triple} mit Prefixen},label={lst:sample_rdf_triple_with_prefix}]
|
||||
@prefix car: <http://example.org/carSim/objects/Car#> .
|
||||
@prefix carModel: <http://example.org/carSim/objects/CarModel#> .
|
||||
@prefix carOnt: <http://example.org/carSim/carSimulationOntology#> .
|
||||
|
@ -241,7 +241,7 @@ car:23 carOnt:isCarModel carModel:42 .
|
|||
Über Prädikate können diesem Subjekt mit Spezifikation im Objekt-Teil des Tripels bestimmte Attribute mit Werten zugesprochen werden oder Verknüpfungen mit anderen Subjekten hergestellt werden.
|
||||
|
||||
Aufgrund der Flexibilität dieser Struktur ist es möglich, nahezu jede Art von Informationen auf Tripel abzubilden, wie Listing~\ref{lst:sample_rdf_data} an einem Beispiel zeigt.
|
||||
\begin{lstlisting}[caption={RDF-Daten beschreiben ein Auto und dessen Fahrer},label={lst:sample_rdf_data}]
|
||||
\begin{lstlisting}[caption={RDF-Daten beschreiben einen Fahrer, ein Auto und dessen Modell},label={lst:sample_rdf_data}]
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
@prefix car: <http://example.org/carSim/objects/Car#> .
|
||||
|
@ -271,8 +271,8 @@ Da innerhalb des semantischen Web angestrebt wird, in RDF vorliegende Informatio
|
|||
|
||||
\subsection{RDFS}
|
||||
|
||||
Das RDFS (kurz für \enquote{RDF Schema}) dient zur Spezifikation von Schemawissen durch die Definition von Objektklassen und deren hierarchischen Verhältnissen zueinander. Weiterhin ermöglicht es die Definition von Prädikaten und deren Beschränkung auf bestimmte Subjekt- und Objektklassen\cite{hitzler:semanticweb}[Kapitel 3.4]. Betrachtet man beispielsweise die Daten aus Listing~\ref{lst:sample_rdf_data}, so ist für die Verwendung des Prädikats \texttt{carOnt:drives} offensichtlich, dass es nur zusammen mit einem Subjekt der Klasse \texttt{Driver} und einem Objekt der Klasse \texttt{Car} verwendet werden darf um eine sinnvolle Aussage zu ergeben. Diese Regel kann mit Hilfe von RDFS definiert werden, wie Listing~\ref{lst:sample_rdfs_data} zeigt.
|
||||
\begin{lstlisting}[caption={Definition von \texttt{Car}, \texttt{Driver} und \texttt{drives} in RDFS},label={lst:sample_rdfs_data}]
|
||||
Das \enquote{RDF Schema} (kurz RDFS\footnote{Für eine detailreiche Einführung in RDFS siehe auch \cite{hitzler:semanticweb}[Kapitel 3.4]}) dient zur Spezifikation von Schemawissen durch die Definition von Objektklassen und Prädikaten, welche in hierarchischen Verhältnissen zueinander stehen können\footnote{Mittels \texttt{rdfs:subclassOf} und \texttt{rdfs:subpropertyOf} können hierarchische Verhältnisse zwischen verschiedene Properties beziehungsweise Objektklassen definiert werden.}. Betrachtet man beispielsweise die Daten aus Listing~\ref{lst:sample_rdf_data}, so ist für die Verwendung des Prädikats \texttt{carOnt:drives} in diesem Kontext offensichtlich, dass es nur zusammen mit einem Subjekt der Klasse \texttt{Driver} und einem Objekt der Klasse \texttt{Car} verwendet werden sollte um eine sinnvolle Aussage zu ergeben. Eine solche Regel kann mit Hilfe von RDFS definiert werden, wie Listing~\ref{lst:sample_rdfs_data} zeigt.
|
||||
\begin{lstlisting}[caption={Definition der Klassen \texttt{Car} und \texttt{Driver} sowie des Prädikats \texttt{drives} in RDFS},label={lst:sample_rdfs_data}]
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix carOnt: <http://example.org/carSim/carSimulationOntology#> .
|
||||
|
@ -284,12 +284,9 @@ carOnt:drives rdf:type rdf:Property .
|
|||
carOnt:drives rdfs:domain carOnt:Driver .
|
||||
carOnt:drives rdfs:range carOnt:Car .
|
||||
\end{lstlisting}
|
||||
In Listing~\ref{lst:sample_rdfs_data} werden zunächst die beiden Klassen \texttt{carOnt:car} und \texttt{carOnt:Driver} definiert. Im darauf folgenden Absatz wird dann das Merkmal \texttt{carOnt:drives} definiert und über \texttt{rdfs:domain} auf Subjekte der Klasse \texttt{Driver} und mit \texttt{rdfs:range} auf Objekte der Klasse \texttt{Car} eingeschränkt. Trifft man in diesem Kontext nun Tripel mit einem Prädikat \texttt{carOnt:drives} an, so kann man anhand der RDFS-Daten bereits erkennen, womit man es hier zutun hat.
|
||||
In Listing~\ref{lst:sample_rdfs_data} werden zunächst die beiden Klassen \texttt{carOnt:car} und \texttt{carOnt:Driver} definiert. Im darauf folgenden Absatz wird dann das Merkmal \texttt{carOnt:drives} definiert und über \texttt{rdfs:domain} auf Subjekte der Klasse \texttt{Driver} und mit \texttt{rdfs:range} auf Objekte der Klasse \texttt{Car} eingeschränkt. Trifft man in diesem Kontext nun Tripel mit einem Prädikat \texttt{carOnt:drives} an, so kann man anhand der zugehörigen RDFS-Daten bereits erkennen, womit man es zutun hat.
|
||||
|
||||
\begin{itemize}
|
||||
\item RDF Schema
|
||||
\item Objektklassen
|
||||
\item \texttt{subclassOf}, \texttt{propertyOf}, \dots
|
||||
\item \enquote{Literale}
|
||||
\item Kann zur groben Strukturierung von Daten genutzt werden
|
||||
\end{itemize}
|
||||
|
|
Loading…
Reference in New Issue