Skip to content

giovannabbottino/music-recommendation-system

Repository files navigation

Music Recommendation System

Watch the video

Overview

This project uses an OWL ontology to represent entities and relationships in the music domain, such as songs, genres, singers, users, and ratings.

Project Structure

  • src/application/: Application services (e.g., OntologyService)
  • src/infrastructure/: Integration with external technologies (e.g., Owlready2)
  • src/app.py: Application entry point
  • data/data.rdf: ontology file
  • tests/: Tests for the application

How to Run Locally

  1. Install Python dependencies:
pip install -r requirements.txt
  1. Run the main app:
python src/app.py

Running Tests

  1. Make sure you have pytest installed:
pip install -r requirements.txt
  1. Run the tests:
pytest tests

The tests include verification of SWRL rules for inferring user preferences based on their ratings.

How to Run with Docker

  1. Build the Docker image:
docker build -t music-recommendation-system .
  1. Run the application:
docker run --rm -it music-recommendation-system

About the Ontology

The file data/data.rdf should be a valid OWL ontology in Turtle or RDF/XML format. If you encounter parsing errors with owlready2, validate the file using an online Turtle validator or Protégé.

Contact

Questions or suggestions? Open an issue or contact the project maintainers.

About

A Music Recommendation System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors