You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-30Lines changed: 30 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,43 +1,43 @@
1
1
# Arabic Lexemes Analysis Tool
2
2
3
-
A comprehensive web application for analyzing, comparing, and managing Arabic lexical data from Wikidata with integration to the Arabic Ontology. [1](#0-0)
3
+
A comprehensive web application for analyzing, comparing, and managing Arabic lexical data from Wikidata with integration to the Arabic Ontology.
4
4
5
5
## Features
6
6
7
7
### Lexical Analysis
8
-
-**Morphological Analysis**: Interactive lexeme analysis with morphological table generation [2](#0-1)
9
-
-**Autocomplete Search**: Real-time search with Wikidata integration [3](#0-2)
10
-
-**Category Support**: Analysis for adjectives (Q34698), verbs (Q24905), nouns (Q1084), and roots (Q111029) [4](#0-3)
8
+
-**Morphological Analysis**: Interactive lexeme analysis with morphological table generation
9
+
-**Autocomplete Search**: Real-time search with Wikidata integration
10
+
-**Category Support**: Analysis for adjectives (Q34698), verbs (Q24905), nouns (Q1084), and roots (Q111029)
11
11
12
12
### Data Management
13
-
-**Lexeme Listing**: Browse and filter lexemes by category with pagination [5](#0-4)
14
-
-**Recent Lexemes**: View newest additions to the Arabic lexeme database [6](#0-5)
15
-
-**Tree Visualization**: Hierarchical display of lexical data with grouping options [7](#0-6)
13
+
-**Lexeme Listing**: Browse and filter lexemes by category with pagination
14
+
-**Recent Lexemes**: View newest additions to the Arabic lexeme database
15
+
-**Tree Visualization**: Hierarchical display of lexical data with grouping options
16
16
17
17
### Quality Control
18
-
-**Duplicate Detection**: Identify and compare duplicate lexical entries [8](#0-7)
19
-
-**Side-by-Side Comparison**: Compare multiple lexemes with detailed property analysis [9](#0-8)
20
-
-**Arabic Ontology Integration**: Track P11038 property connections and synchronization status [10](#0-9)
18
+
-**Duplicate Detection**: Identify and compare duplicate lexical entries
19
+
-**Side-by-Side Comparison**: Compare multiple lexemes with detailed property analysis
20
+
-**Arabic Ontology Integration**: Track P11038 property connections and synchronization status
21
21
22
22
### Data Visualization
23
-
-**Statistical Charts**: Visual representation of lexical category distributions [11](#0-10)
24
-
-**Performance Metrics**: Real-time query execution timing and data counts [12](#0-11)
23
+
-**Statistical Charts**: Visual representation of lexical category distributions
24
+
-**Performance Metrics**: Real-time query execution timing and data counts
25
25
26
26
## Architecture
27
27
28
28
### Frontend Components
29
-
-**PHP Templates**: Jinja2-based template system extending `main.php` base template [13](#0-12)
30
-
-**JavaScript Modules**: Modular client-side processing for SPARQL queries and data visualization [14](#0-13)
31
-
-**Bootstrap UI**: Responsive design with Arabic language support and RTL layout [15](#0-14)
29
+
-**PHP Templates**: Jinja2-based template system extending `main.php` base template
30
+
-**JavaScript Modules**: Modular client-side processing for SPARQL queries and data visualization
31
+
-**Bootstrap UI**: Responsive design with Arabic language support and RTL layout
32
32
33
33
### Backend Systems
34
-
-**Flask Application**: Python web framework handling routing and template rendering [16](#0-15)
35
-
-**Database Integration**: MySQL database operations for lexeme storage and P11038 property management [17](#0-16)
36
-
-**SPARQL Integration**: Direct queries to Wikidata SPARQL endpoint with result processing [18](#0-17)
34
+
-**Flask Application**: Python web framework handling routing and template rendering
35
+
-**Database Integration**: MySQL database operations for lexeme storage and P11038 property management
36
+
-**SPARQL Integration**: Direct queries to Wikidata SPARQL endpoint with result processing
37
37
38
38
### Automated Synchronization
39
-
-**Scheduled Jobs**: Hourly synchronization with Wikidata using Toolforge job scheduler [19](#0-18)
40
-
-**Data Processing**: Automated detection of new lexemes and P11038 property updates [20](#0-19)
39
+
-**Scheduled Jobs**: Hourly synchronization with Wikidata using Toolforge job scheduler
40
+
-**Data Processing**: Automated detection of new lexemes and P11038 property updates
41
41
42
42
## Key Technologies
43
43
@@ -48,7 +48,7 @@ A comprehensive web application for analyzing, comparing, and managing Arabic le
48
48
49
49
## Data Flow
50
50
51
-
The application processes Arabic lexical data through a multi-stage pipeline: [21](#0-20)
51
+
The application processes Arabic lexical data through a multi-stage pipeline:
52
52
53
53
1.**Data Retrieval**: SPARQL queries fetch lexeme data from Wikidata
54
54
2.**Processing**: Client-side JavaScript transforms and groups results by category
@@ -59,27 +59,27 @@ The application processes Arabic lexical data through a multi-stage pipeline: [2
59
59
60
60
### Development Environment Setup
61
61
62
-
The system requires Python 3.11 with Flask and MySQL dependencies. [1](#1-0) Development setup includes:
62
+
The system requires Python 3.11 with Flask and MySQL dependencies. Development setup includes:
63
63
64
64
-**Virtual Environment**: Python virtual environment with requirements installation
65
-
-**Database Schema**: MySQL database with UTF8MB4 encoding for Arabic text support [2](#1-1)
66
-
-**Testing Framework**: Unit tests for database operations and data validation [3](#1-2)
65
+
-**Database Schema**: MySQL database with UTF8MB4 encoding for Arabic text support
66
+
-**Testing Framework**: Unit tests for database operations and data validation
67
67
68
68
### Deployment Process
69
69
70
-
The deployment system uses automated shell scripts for code updates and service management: [4](#1-3)
70
+
The deployment system uses automated shell scripts for code updates and service management:
71
71
72
72
**Deployment Pipeline**:
73
73
1.**Backup Creation**: Current source code backed up with timestamp
74
74
2.**Git Clone**: Fresh repository clone from specified branch
75
75
3.**Dependency Installation**: Virtual environment activation and pip install
The deployment script includes error handling with automatic rollback to previous backup if deployment fails. [5](#1-4)
78
+
The deployment script includes error handling with automatic rollback to previous backup if deployment fails.
79
79
80
80
### Data Operations
81
81
82
-
**Bulk Data Ingestion**: The `insert_all.py` script handles large-scale data imports from JSON datasets with batch processing (100 records per batch) and duplicate detection. [6](#1-5)
82
+
**Bulk Data Ingestion**: The `insert_all.py` script handles large-scale data imports from JSON datasets with batch processing (100 records per batch) and duplicate detection.
83
83
84
84
**Database Maintenance**:
85
85
- Schema management through SQL scripts for both MySQL and SQLite environments
@@ -88,15 +88,15 @@ The deployment script includes error handling with automatic rollback to previou
88
88
89
89
### Monitoring and Performance
90
90
91
-
The system includes comprehensive performance monitoring: [7](#1-6)
91
+
The system includes comprehensive performance monitoring:
92
92
93
93
-**Request Timing**: Flask middleware tracks total request processing time
94
94
-**Database Performance**: Individual query execution times measured and reported
95
-
-**SPARQL Performance**: External API call timing for Wikidata integration [8](#1-7)
95
+
-**SPARQL Performance**: External API call timing for Wikidata integration
96
96
97
97
### Testing and Quality Assurance
98
98
99
-
The testing framework includes database operation validation and data integrity checks: [9](#1-8)
99
+
The testing framework includes database operation validation and data integrity checks:
100
100
101
101
-**Unit Tests**: Database insertion and selection operations testing
102
102
-**Data Validation**: Automated checks for lemma consistency and P11038 property synchronization
0 commit comments