\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{cliftonbartholomew} \pdfinfo{ /Title (ontology-engineering.pdf) /Creator (Cheatography) /Author (cliftonbartholomew) /Subject (Ontology Engineering Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{A3A3A3} \definecolor{LightBackground}{HTML}{F3F3F3} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Ontology Engineering Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{cliftonbartholomew} via \textcolor{DarkBackground}{\uline{cheatography.com/189313/cs/39479/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}cliftonbartholomew \\ \uline{cheatography.com/cliftonbartholomew} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 18th July, 2023.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{tabularx}{17.67cm}{x{5.7358 cm} x{5.5671 cm} x{5.5671 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Main Tasks in Ontology Development}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Ontology development has similar tasks to the software development life cycle (SDLC) and can be grouped into three overlapping sections. Note these sections define types of activities and are not necessarily done in a linear fashion.\{\{bb\}\}} \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} {\bf{1. Requirements and Knowledge Acquisition}}\{\{br\}\} & {\bf{2. Ontology Construction}}\{\{br\}\} & {\bf{3. Testing and Maintenance}} \tn % Row Count 9 (+ 4) % Row 2 \SetRowColor{LightBackground} These tasks gather the requirements that the output ontology should fulfill, identify who will use it and why and document them for use in the construction and testing of the ontology.\{\{bb\}\}\{\{br\}\} & These tasks design, formalise and construct the ontology into a formalised, shareable, computer readable format.\{\{bb\}\}\{\{br\}\} & These tasks make sure the ontology satisfies the \seqsplit{specifications} outlined and adapt the ontology to any further changes.\{\{bb\}\} \tn % Row Count 25 (+ 16) % Row 3 \SetRowColor{white} {\bf{1.1. Identification}}: List all accessible resources to obtain key concepts, \seqsplit{relationships}, \seqsplit{terminologies} and ontological requirements, why the ontology is needed and who will use it. These are sourced from from domain \seqsplit{documentation}, glossaries, online resources, existing databases and ontologies, and interviews with domain experts.\{\{br\}\} & {\bf{2.1. Conceptualization}}: Define the main concepts and their \seqsplit{relationships} within the domain. This task involves identifying classes, subclasses, properties, attributes, and their hierarchical structure.\{\{br\}\} & {\bf{3.1. Verification:}} Assess the quality of an ontology based on certain criteria and metrics, which includes CQ verification (a test against the \seqsplit{specifications} made) and metric-based evaluation (a quantitative evaluation of the ontology quality). \tn % Row Count 53 (+ 28) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{5.7358 cm} x{5.5671 cm} x{5.5671 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Main Tasks in Ontology Development (cont)}} \tn % Row 4 \SetRowColor{LightBackground} {\bf{Output}}: Domain Description Document.\{\{bb\}\}\{\{br\}\} & {\bf{Outputs}}: Concept hierarchy or taxonomy\{\{bb\}\}\{\{br\}\} & {\bf{Outputs}}: Test reports\{\{bb\}\} \tn % Row Count 5 (+ 5) % Row 5 \SetRowColor{white} {\bf{1.2. Domain Analysis}}: Analyse and turn the user requirements in the DDD into distinct and well-defined functions that illustrate \seqsplit{diagrammatically} and textually the key concepts and their \seqsplit{relationships}.\{\{br\}\} & {\bf{2.2. Formalization}}: Express the ontology using a formal language to ensure precise semantics and enable automated reasoning. This involves specifying logical axioms, constraints, and rules that govern the behavior and consistency of the ontology.\{\{br\}\} & {\bf{3.2. Maintenance:}} Make updates or corrections to the ontology, as necessary. After evaluation or publishing the online version of the ontology may have possible errors or missing domain knowledge. \tn % Row Count 25 (+ 20) % Row 6 \SetRowColor{LightBackground} {\bf{Output}}: UML use case diagram.\{\{bb\}\}\{\{br\}\} & {\bf{Outputs}}: An OWL/RDF or other computer readable file representing an empty ontology.\{\{bb\}\}\{\{br\}\} & {\bf{Outputs}}: An updated OWL/RDF or other computer readable file with a populated ontology.\{\{bb\}\} \tn % Row Count 33 (+ 8) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{5.7358 cm} x{5.5671 cm} x{5.5671 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Main Tasks in Ontology Development (cont)}} \tn % Row 7 \SetRowColor{LightBackground} {\bf{1.3. Specification}}: Transform the refined requirements list into a list of competency questions (CQs) which are used as ontology functional \seqsplit{requirements.} The final ontology can be tested against these CQs.\{\{br\}\} & {\bf{2.3. Implementation:}} Populate the ontology with new data properties and individuals and assigns them to the appropriate classes, relationship mapping etc using an ontology editor (such as protege).\{\{br\}\} & \{\{bl\}\} \tn % Row Count 18 (+ 18) % Row 8 \SetRowColor{white} {\bf{Output}}: Competency Questions (CQs).\{\{bb\}\}\{\{br\}\} & {\bf{Outputs}}: An OWL/RDF or other computer readable file with a populated ontology.\{\{bb\}\}\{\{br\}\} & \{\{bb\}\} \tn % Row Count 26 (+ 8) % Row 9 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{{\bf{4. Documentation}}} \tn % Row Count 27 (+ 1) % Row 10 \SetRowColor{white} \mymulticolumn{3}{x{17.67cm}}{Documentation is done throughout each of the above tasks. Why decisions are made, all the artefacts created and other management documentation is done throughout the life cycle of the ontology.} \tn % Row Count 31 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{8.635 cm} x{8.635 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Overview of Methodological Approach}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{17.67cm}}{There are many methodological approaches to completing the tasks of ontology development. These can be broken down into {\bf{macro-level}} methodologies, which outline the entire development process in a structured fashion, and {\bf{micro-level}} methodologies, which focus on the formalization aspects of ontology authoring.\{\{bb\}\}} \tn % Row Count 7 (+ 7) % Row 1 \SetRowColor{white} {\bf{1. Macro-level methodologies}} \{\{br\}\} & {\bf{2. Micro-level methodologies}} \tn % Row Count 9 (+ 2) % Row 2 \SetRowColor{LightBackground} {\bf{1.1. Waterfall}}: a sequential design process which follows a linear, step-by-step approach where each phase must be completed before moving on to the next. Specification, conceptualization, formalization, implementation, maintenance are all done one after the other (though NeON has many different routes and sub-steps).\{\{br\}\} & These methodologies focus on the guidelines to formalize the subject domain. Specifically moving from an informal representation to a formal, logic based representation. Though these share many of the steps of the macro-level methodologies, their focus/viewpoint is on implementation specific choices. i.e. distributed or or not, logic framework choice, design architecture, expressiveness, foundational ontology choice, ontology language choice etc. Their focus is on detail rather than overview which the macro-level focusses on. \tn % Row Count 36 (+ 27) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{8.635 cm} x{8.635 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Overview of Methodological Approach (cont)}} \tn % Row 3 \SetRowColor{LightBackground} {\bf{Examples:}} Methontology, NeON \{\{bb\}\}\{\{br\}\} & {\bf{Examples:}} OntoSpec, OD101, DiDOn\{\{bb\}\} \tn % Row Count 3 (+ 3) % Row 4 \SetRowColor{white} {\bf{1.2. Lifecycle:}} a framework for the development and management of ontologies throughout their entire lifecycle, from inception to retirement. The phases identified (requirements development, ontological analysis, ontology design, system design, ontology development \& reuse, system development \& integration, deployment and operation \& maintenance) outline common abstracted activities and are either done in parallel or sequentially and are repeated or only done once, depending on the management of the development process. \{\{br\}\} & \{\{bl\}\} \tn % Row Count 30 (+ 27) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{8.635 cm} x{8.635 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Overview of Methodological Approach (cont)}} \tn % Row 5 \SetRowColor{LightBackground} {\bf{Examples:}} Ontology Life Cycle Model \{\{bb\}\}\{\{br\}\} & \{\{bl\}\}\{\{bb\}\} \tn % Row Count 3 (+ 3) % Row 6 \SetRowColor{white} {\bf{1.2. Agile:}} an approach that emphasizes flexibility, collaboration, and iterative progress. These ontologies are developed incrementally through short iterations where each iteration focusses on a specific aspect of the ontology. In this way it is easier to be adaptable to changes, to be able to respond to stake holder feedback, to collaborate in smaller bursts and to be able to have working prototypes earlier in development. & \{\{bl\}\} \tn % Row Count 25 (+ 22) % Row 7 \SetRowColor{LightBackground} {\bf{Examples:}} OntoMaven \{\{bb\}\}\{\{br\}\} & \{\{bl\}\}\{\{bb\}\} \tn % Row Count 27 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.727 cm} p{1.727 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Main Features of Foundational Ontologies}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{17.67cm}}{Foundational ontologies are high-level abstractions of common ontological patterns.} \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \end{document}