This project uses an OWL ontology to represent entities and relationships in the music domain, such as songs, genres, singers, users, and ratings.
src/application/: Application services (e.g., OntologyService)src/infrastructure/: Integration with external technologies (e.g., Owlready2)src/app.py: Application entry pointdata/data.rdf: ontology filetests/: Tests for the application
- Install Python dependencies:
pip install -r requirements.txt- Run the main app:
python src/app.py- Make sure you have pytest installed:
pip install -r requirements.txt- Run the tests:
pytest testsThe tests include verification of SWRL rules for inferring user preferences based on their ratings.
- Build the Docker image:
docker build -t music-recommendation-system .- Run the application:
docker run --rm -it music-recommendation-systemThe 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é.
Questions or suggestions? Open an issue or contact the project maintainers.
