# Ontology-Driven Semantic Analysis of Tabular Data:
## 3 Materials and Methods  
### Requirements for the Semantic Analysis of Tables  
After analyzing the existing solutions and formulating the distinctive features of the program, we can single out a list of the main requirements for the program for the semantic analysis of tables:  
1. Support CSV, XLSX and PDF file formats for processing. The program must be able to process tables that are presented in various file formats: CSV, XLSX and PDF (see Table 1). These formats are the most common in use for storing and exchanging data in tables.
2. Ability to easily add the ability to handle new file formats. The requirement suggests that the program must be able to extend and support the processing of new file formats. This means developers can easily add support for new file formats if needed.
3. Automatic removal of empty rows and columns of the table. The program should automatically remove empty rows and columns from the table. This will simplify the processing process and reduce the amount of data that does not carry useful information.
4. Ability to process tables in an arbitrary area of knowledge. This requirement means that the program must be able to process data-themed tables. This is important because the ability to process tables in an arbitrary knowledge area is a key condition for product scalability. In addition, this requirement will allow for the creation of a module that is significantly superior to analogues, since other solutions are usually designed to work in one highly specialized area of knowledge.
5. Using an OWL ontology with a description of the data structures to be extracted. The requirement suggests that the program must use the OWL ontology to determine the types of data to be retrieved from the table. Modules also receive information about existing objects, properties and relationships between them from the ontology. This will allow the program to correctly identify and extract the required data.
6. The possibility of exporting results to ontology in OWL format. After the analysis of the table is completed, the program should be able to export the results of processing the table into an ontology in the OWL format. This will make it easy to analyze and use the data obtained. At the same time, it should be possible to supplement the original ontology so that when processing subsequent tables, the module can use data from previous tables.
7. Processing large amounts of data. The program must be able to process large amounts of data. This may be required if many tables or tables with many rows and columns need to be processed.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multicolumn{6}{c}{**Population\_KZ**} \\ \hline
**Regions\_KZ** & **2016** & **2017** & **2018** & **2019** & **2020** & **2021** \\ \hline Kazakhstan & 17,669,896 & 17,918,214 & 18,157,337 & 18,395,567 & 18,631,779 & 18,879,552 \\ Akmola\_region & 744,420 & 734,369 & 738,942 & 738,587 & 736,735 & 735,566 \\ Aktobe\_region & 834,808 & 845,679 & 857,711 & 869,637 & 881,651 & 894,333 \\ Almaty\_region & 1,947,552 & 1,983,465 & 2,017,278 & 2,038,935 & 2,055,724 & 2,077,967 \\ Atryar\_region & 594,511 & 607,528 & 620,684 & 633,791 & 645,280 & 657,110 \\ West\_Kazakhstan\_region & 636,980 & 641,513 & 646,927 & 652,325 & 656,844 & 661,316 \\ Zhambyl\_region & 1,110,749 & 1,115,307 & 1,117,218 & 1,125,440 & 1,130,099 & 1,139,192 \\ Karaganda\_region & 1,384,810 & 1,382,734 & 1,380,537 & 1,378,532 & 1,376,882 & 1,375,938 \\ Kostanay\_region & 883,806 & 879,134 & 875,616 & 872,795 & 868,549 & 864,550 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Example of a table that fits rule 2.