Major change
[u/philim/db2osl_thesis.git] / osl.tex
diff --git a/osl.tex b/osl.tex
index e87c79e..b2f56af 100644 (file)
--- a/osl.tex
+++ b/osl.tex
@@ -1,58 +1,61 @@
-\chapter{The OSL language}
+\chapter{The OBDA Specification Language (OSL)}
+\label{osl}
 
 As described in \cite{eng}, an OBDA specification consists of several types of maps,
 all containing data entries and links to other maps.
 This fits perfectly into the environment of ontologies and OWL, with data properties
-being the obvious thing to represent contained data entries and object properties being
-the obvious thing to represent links between maps.
+being the obvious choice to represent contained data entries and object properties being
+the obvious choice to represent links between maps.
 Also, a potential user probably to some degree is familiar with this environment,
 since this is what the bootstrapping process at the end amounts to.
 
-So an ideal base for the OBDA Specification Language is OWL,
+Therefore, an ideal base for the OBDA Specification Language is OWL,
 being a solid framework for data and constraint representation
 with a high degree of software support,
 while imposing only a minimum of introductory preparation to the user.
 
 Another advantage of this approach is that the specification is kept
-compact and focused on the entities the language has to represent rather than
+compact and focused on the entities that the language has to represent rather than
 primarily dealing with technical details.
 In particular, many of those details can be formulated as OWL restrictions
 in a header ontology demanded to be imported by documents conforming
-to the OSL specification.
-Thus, they are not only specified precisely but also in a machine-readable form
-for which tools are widely available, enabling the user to check many aspects of
-an OSL document for conformance with minimum effort.
+to the \osl{} specification.
+Thus, they are not only specified precisely but they are also stipulated in a
+machine-readable form for which tools are widely available, enabling the user to check
+many aspects of an \osl{} document for conformity with minimal effort.
 
 \section{Specification}
-
+\label{oslspec}
 \newcounter{parcount}
 \newcommand{\parnum}{\textsuperscript{\arabic{parcount}}}
 \newcommand{\p}{\refstepcounter{parcount} \parnum \hspace{1em}}
 
-\p An OSL document is a valid OWL 2 document \cite{owl} containing individuals
-and data representing the OBDA Specification, as well as OWL properties connecting them.
+\p An \osl{} document is a valid OWL 2 document (as described in \cite{owl})
+containing individuals and data that represent the OBDA Specification,
+as well as OWL properties that connect them.
 The individuals and OWL properties are recognized and mapped to their roles by their IRIs.
 
-\p\label{spec_ignored} An OSL document may contain more OWL entities
+\p\label{spec_ignored} An \osl{} document may contain more OWL entities
 (with IRIs not defined in this specification), which are ignored.
 
-\p An OSL document has to declare all individuals having different IRIs as different
+\p An \osl{} document has to declare all individuals having different IRIs as different
 from each other (except those which are ignored, see paragraph \ref{spec_ignored}).\\
-It's recommended to use the \texttt{owl:AllDifferent} OWL statement for this purpose.
+It is recommended to use the \texttt{owl:AllDifferent} OWL statement for this purpose.
 
 \p\label{spec_base} Unless stated otherwise, IRIs mentioned in the following are IRIs relative
 to a base IRI chosen by the user being empty (which makes the IRIs absolute \cite{xmlbase})
 or ending with a hash character (`\#').\\
-It's recommended to use that base IRI as \texttt{xml:base} XML attribute.\\
+\newpage
+It is recommended to use that base IRI as \texttt{xml:base} XML attribute.\\
 IRIs prefixed with \texttt{osl:} are IRIs relative to the IRI\\
-\oslbase
+\oslbaseurl{}\;.
 
-\newpage
-\p An OSL document has to import the following ontology
-(referred to as ``the OSL header'' in the following):\\
-\oslheader
+%\newpage
+\p An \osl{} document has to import the following ontology
+(referred to as ``the \osl{} header'' in the following):\\
+\oslheaderurl{}
 
-\p The OWL individuals described by the OSL document representing the certain types of OBDA maps
+\p The OWL individuals described by the \osl{} document representing the certain types of OBDA maps
 must have the IRIs specified in table \ref{spec_tbl_indv_iris}
 (for base IRIs, see paragraph \ref{spec_base}).
 Here, \textit{$<$class URI$>$} refers\\
@@ -64,14 +67,14 @@ to the \texttt{OWL class URI} field of the entity map associated with the respec
 for translation tables of subtype maps.\\
 Similarly, \textit{$<$property URI$>$} refers\\
 to the \texttt{OWL property URI} field of the respective attribute map for attribute maps
-(or, if it is empty, the value that would have been generated for it if it wouldn't ought to be empty),\\
+(or, if it is empty, the value that would have been generated for it if it weren't empty),\\
 to the \texttt{OWL property URI} field of the respective relation map for relation maps and\\
 to the \texttt{OWL property URI} field of the respective attribute map
 for translation tables of attribute maps (or, if it is empty, the value that would have
-been generated for it if it wouldn't ought to be empty).
+been generated for it if it weren't empty).
 
-%\vspace{\spacebeforetable}
-\KOMAoption{fontsize}{\smallerfontsize}
+%\vspace{\spacebeforetable{}}
+\KOMAoption{fontsize}{\smallerfontsize{}}
 \begin{table}[]\begin{center}
        \begin{tabular}{l|l}
                \textbf{Map type} & \textbf{OWL IRI} \\ \hline
@@ -85,16 +88,16 @@ been generated for it if it wouldn't ought to be empty).
                Translation table of subtype map &
                        \textit{$<$class URI$>$}\texttt{\_\_SUBTYPE\_MAP\_\_TRANSLATION\_TABLE} \\
        \end{tabular}
-       \caption{OWL individual IRIs in OSL}
+       \caption{OWL individual IRIs in \osl{}}
        \label{spec_tbl_indv_iris}
 \end{center}\end{table}
-\KOMAoption{fontsize}{\myfontsize}
+\KOMAoption{fontsize}{\myfontsize{}}
 
-\p The OWL individuals described by the OSL document representing the certain types of OBDA maps
+\p The OWL individuals described by the \osl{} document representing the certain types of OBDA maps
 must be of the OWL types specified in table \ref{spec_tbl_types}
 (for base IRIs, see paragraph \ref{spec_base}).
 
-%\vspace{\spacebeforetable}
+%\vspace{\spacebeforetable{}}
 \begin{table}[]\begin{center}
                \begin{tabular}{l|l}
                        \textbf{Map type} & \textbf{OWL class IRI} \\ \hline
@@ -105,16 +108,16 @@ must be of the OWL types specified in table \ref{spec_tbl_types}
                        Subtype map & \texttt{osl:SubtypeMap} \\
                        Translation table & \texttt{osl:TranslationTable} \\
                \end{tabular}
-               \caption{Class membership of map representations in OSL}
+               \caption{Class membership of map representations in \osl{}}
                \label{spec_tbl_types}
 \end{center}\end{table}
 
-\p The OWL properties described by the OSL document representing the fields of the certain OBDA maps
+\p The OWL properties described by the \osl{} document representing the fields of the certain OBDA maps
 must have the IRIs specified in table \ref{spec_tbl_prop_iris}
 (for base IRIs, see paragraph \ref{spec_base}).
 
-%\vspace{\spacebeforetable}
-%\KOMAoption{fontsize}{\smallerfontsize}
+%\vspace{\spacebeforetable{}}
+%\KOMAoption{fontsize}{\smallerfontsize{}}
 \begin{table}[]\begin{center}
                \begin{tabular}{l|l|l|l}
                        \textbf{Map type} & \textbf{Field label} & \textbf{Field name} & \textbf{OWL IRI} \\ \hline
@@ -156,21 +159,21 @@ must have the IRIs specified in table \ref{spec_tbl_prop_iris}
                        Translation table & \texttt{T2} & \texttt{RDF ressource...} &
                                \texttt{osl:tt\_\_rdfRessource\textcolor{red}{\textbf{s}}} \\
                \end{tabular}
-               \caption{OWL property IRIs in OSL}
+               \caption{OWL property IRIs in \osl{}}
                \label{spec_tbl_prop_iris}
 \end{center}\end{table}
-%\KOMAoption{fontsize}{\myfontsize}
+%\KOMAoption{fontsize}{\myfontsize{}}
 
-\newpage
-\p The following OWL properties in the OSL document refer to lists of elements:
+%\newpage
+\p The following OWL properties in the \osl{} document refer to lists of elements:
 \begin{itemize}
        \item[] \texttt{osl:rm\_\_sourceColumns}
        \item[] \texttt{osl:rm\_\_targetColumns}
        \item[] \texttt{osl:tt\_\_sourceValues}
        \item[] \texttt{osl:tt\_\_rdfRessources}
 \end{itemize}
-Therefore, they have the OWL class \texttt{osl:StringListNode} as range,
-as required by the OSL header.
+Therefore, they have the OWL class \texttt{osl:StringListNode} as their range,
+as is required by the \osl{} header.
 They must connect the respective individual to an
 \texttt{osl:StringListNode} individual in every case.
 This ``root node'' must \emph{not} have an \texttt{osl:hasValue} property.\\
@@ -181,4 +184,6 @@ The node representing the last list element must not have an
 \texttt{osl:nextNode} property.\\
 All nodes except the root node \emph{may} have an \texttt{osl:hasValue} property
 connecting them to their values.
-It's recommended to enumerate the node IRIs, using $0$ for the root node.
+The actual list consists of exactly these values, thus, nodes without values
+are ignored.\\
+It is recommended to enumerate the node IRIs, using $0$ for the root node.