This project leverages semantic ontology to analyze and query IPL cricket data, enabling advanced insights such as performance analysis, player impact in high-pressure games, and venue-specific trends. By integrating a React-based frontend, a Python backend, and an Apache Jena Fuseki server, it provides a unified platform for intelligent data querying and reasoning over complex cricket datasets.
The SER531 Group 7 Data Integration Project demonstrates semantic data integration using Apache Jena Fuseki for RDF data handling. The system includes a Python backend for processing data and a React.js frontend for user interactions.
Clone the repository to your local machine:
git clone https://github.com/mdeshp11/SER531-Group-7-Data-Integration-Project.git
cd SER531-Group-7-Data-Integration-ProjectFollow these steps to set up the backend:
- Install the required Python packages:
pip install -r requirements.txt
- Navigate to the Backend folder:
cd Backend - Start the backend server:
python app.py
Set up the Apache Jena Fuseki server by following these steps:
- Download the Apache Jena Fuseki server from the official site: [Apache Jena Fuseki 5.2.0] (https://jena.apache.org/documentation/fuseki2/)
- Extract the downloaded
.zipfile. - Navigate to the extracted folder.
- Start the Fuseki server on port
8080:fuseki-server --port=8080
Set up the frontend application with the following steps:
- Navigate to the Frontend folder:
cd ../Frontend - Install the required dependencies:
npm install
- Start the React application:
npm start
- Ensure that the backend server, Apache Jena Fuseki server, and frontend application are running.
- Access the application in your web browser at:
http://localhost:3000
- Backend: Python, Flask
- Frontend: React.js
- Semantic Data Integration: Apache Jena Fuseki Server
- Dataset preprocessing: Google Sheets, Pandas
- Knowledge graph: Ontotext Refine
The ontology development process now includes mapping raw cricket data from CSV files to RDF triples using specific predicates like smw:hasBatter and smw:hasBowler, ensuring seamless integration with Apache Jena Fuseki. This process is further explained with algorithms detailing how attributes from datasets are transformed into ontology-compatible formats. Additionally, reasoning capabilities have been refined to infer new knowledge from existing relationships. For instance, a player’s dismissal can now be dynamically linked to their performance in a match. The OntoGraf plugin in Protégé has been leveraged to visually represent these enhanced relationships, highlighting the interconnectedness of classes like Match, Player, Venue, and their respective properties.