🎵 Creating an Ontology for Hip-Hop Music
A comprehensive project report on developing a structured knowledge representation for hip-hop culture
Authors: AmirArsalan Serajoddin, MohammadReza Mahmoudi, Ali Rahneshin
Introduction
Our team decided to create an ontology for hip-hop music. The choice of this topic was based on several reasons:
🌍 Cultural Significance
Hip-hop music is one of the most significant and influential genres in contemporary culture, with a large global following.
🔍 Research Gap
Limited research exists on creating ontologies for hip-hop, with most existing ontologies focusing on classical, jazz, and rock music.
❤️ Personal Interest
The group members have a personal interest in hip-hop, aiding in gathering information and analyzing concepts with greater enthusiasm.
Identification and Analysis of Related Ontologies
Identification of Relevant Sources
Initially, I searched for and identified ontologies related to music. The five main sources identified and reviewed were:
Music Ontology
A comprehensive and widely used ontology for describing music, covering various aspects such as creation, performance, and consumption.
Schema.org
A widely adopted framework that includes music-related data, making it an essential resource for our project.
DBTune Project
Utilizes the Music Ontology and focuses on integrating music data from various sources.
Polifonia Ontology Network (PON)
Focuses on indexing, metadata, and music analysis, offering a rich structure for describing music.
From Sketches to Digital Graphs
After examining other ontologies, we began drawing our own ideas for the hip-hop music ontology:
"We started with paper sketches, which helped us see how everything connected. These drawings were just the beginning, helping us talk about our ideas and make them better."
Then, we moved our sketches to Draw.io. This step allowed us to make our drawings clearer and more organized.
Building in Protégé
With our diagrams ready, we started building the ontology in a tool called Protégé. Here, we set up various classes representing key elements of hip-hop music, such as 'Artist', 'Album', 'Track', and many more.
Key Properties Defined:
Data Properties
Common details across many classes
'name' property for classes like Artist, Album, and Track
Object Properties
Show relationships between different classes
'has_recording' connects Performances, Artists, and Groups to their Recordings
Building the React Application
We created a React application using create-react-app, setting up endpoints for update and query operations with a Jena Fuseki server running in the background.
Key Technical Aspects:
State Management
Use of the useState and useEffect hooks for managing state and side-effects.
Dynamic Data Insertion
The insertData function iterates over dynamic data and posts each track to the SPARQL endpoint.
Fetching and Parsing Data
After inserting, we fetch data from the query endpoint, parse the JSON results, and map them into your state.
Pagination
Implemented basic pagination to enhance performance by loading tracks per page requirements.
Query Results by Category:
🎶 By Genre
Results categorized by genre
📅 By Date (Recent)
Recently added tracks
⏱️ By Duration
Tracks sorted by duration
Installation & Validation
To run the application:
- Execute the command
npm iin the terminal within the web app directory. - Run the Jena Fuseki server in the background.
- Execute
npm run devin the web app directory. - The app will run on
localhost, and you can use the app to interact with the ontology.
🎯 Project Achievement
Successfully developed a comprehensive ontology for hip-hop music, bridging the gap between cultural knowledge and computational representation. The project demonstrates practical application of knowledge engineering principles in a culturally significant domain.
Preserving Culture Through Technology
Copyright © 2025 | All rights reserved /
Made with ❤️ in Italy by Amir Seraj.
