# Graphol: A Graphical Language for Ontology Modeling Equivalent to OWL 2
## 4 The Graphol Language
### Graphol Semantics
\(\Lambda(E_{G})=\bigcap_{i=1}^{n}\Lambda(e^{i})\), \(\Lambda(E_{G})=\{\Lambda(e^{1}),\ldots,\Lambda(e^{n})\}\));
* if \(\mathsf{sk}(E_{G})\) is a complement node and \(\mathsf{ar}(E_{G})=\{\epsilon\}\), then \(\Lambda(E_{G})=\
eg\Lambda(\epsilon)\);
* If \(\mathsf{sk}(E_{G})\) is an inverse node and \(\mathsf{ar}(E_{G})=\{\epsilon_{R}\}\), then \(\Lambda(E_{G})=(\Lambda(\epsilon_{R}))^{-}\);
* If \(\mathsf{sk}(E_{G})\) is a chain node and \(\mathsf{ar}(E_{G})=\{\epsilon^{1}_{R},\ldots e^{n}_{R}\}\), where every \(\epsilon^{i}_{R}\), where \(1\leq i\leq n\), is a Graphol role expression that is connected to \(\mathsf{sk}(E_{G})\) through an input edge with label \(i\), then \(\Lambda(E_{G})=\Lambda(\epsilon^{1}_{R})\circ\Lambda(\epsilon^{2}_{R})\circ \cdots\circ\Lambda(\epsilon^{n}_{R})\). Analogously, to define the semantics of Graphol inclusion assertions, we use a function \(\Psi\) which takes as input one such inclusion \(\alpha_{G}\) and returns its DL encoding. We use \(\mathsf{source}(\alpha_{G})\) to denote the Graphol expression having as sink the node from which the inclusion edge starts in \(\alpha_{G}\), and \(\mathsf{target}(\alpha_{G})\) to denote the Graphol expression, having as sink the node to which the inclusion edge arrives in \(\alpha_{G}\). We thus define \(\Psi\) as follows: \(\Psi(\alpha_{G})=\Lambda(\mathsf{source}(\alpha_{G}))\sqsubseteq\Lambda(\mathsf{ target}(\alpha_{G}))\). Letting \(\mathcal{O}_{G}\) be a Graphol ontology, we transform \(\mathcal{O}_{G}\) in a DL ontology \(\mathcal{O}_{DL}\) by executing \(\Psi\) for every assertion in \(\mathcal{O}_{G}\). The semantics of \(\mathcal{O}_{G}\) thus are given by the semantics of \(\mathcal{O}_{DL}\), which we have defined in Section 3. Tables 2 and 3 give examples of application of \(\Lambda\) to Graphol expressions of \"depth\" 0 or 1, i.e., expressions with either only predicate nodes or a constructor node with only predicate nodes as input. \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Graphol** & **DL** \\ \hline Atomic concept & \(\mathbf{c}\) & \(\mathbf{C}\) \\ \hline Role domain restriction & \(\mathbf{R}\) & \(\mathbf{c}\) \\ \hline Role range restriction & \(\mathbf{c}\) & \(\exists R^{-}.C\)\(\forall R^{-}.C\)\(\geq xR^{-}.C\)\(\leq yR^{-}.C\) \\ \hline Attribute domain restriction & \(\mathbf{v}\) & \(\exists V.F\)\(\forall V.F\)\(\geq xV.F\)\(\leq yV.F\) \\ \hline Concept intersection & \(\mathbf{c}\) & \(\mathbf{c}\) \\ \hline Concept union & \(\mathbf{c}\) & \(\mathbf{c}\) \\ \hline Concept complement & \(\mathbf{c}\) & \(\mathbf{c}\) \\ \hline One-of (concept) & \(\mathbf{c}\) & \(\{a,b,c\}\) \\ \hline Self restriction & \(\mathbf{c}\) & \(\exists R.Self\) \\ \hline Atomic role & \(\mathbf{R}\) & \(\mathbf{p}\) \\ \hline Role inverse & \(\mathbf{c}\) & \(\mathbf{R}\) \\ \hline Role complement & \(\mathbf{c}\) & \(\mathbf{R}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Correspondence between Graphol and DL for concept and role expressions of depth 0 or 1. C, \(C_{1}\), and \(C_{2}\) denote atomic concepts, and \(R\), \(R_{1}\), and \(R_{2}\) denote atomic roles.