Skip to content

Ana-Maria-C/DAVI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

DAVI - WADe MovieLens API

An intelligent semantic web application for exploring MovieLens data using ontology-based reasoning and SPARQL!

contributors last update forks stars open issues license


📔 Table of Contents

🌟 About the Project

DAVI is a robust semantic web platform engineered to interface with the MovieLens dataset. It uses a custom ontology to structure data and Apache Jena Fuseki to provide a powerful SPARQL endpoint. The project aims to facilitate complex semantic queries, intelligent filtering based on inferred relationships, and dynamic data visualization.

📷 Screenshots

screenshot

👾 Tech Stack

Client
Server
Database
DevOps

🎯 Features

  • Semantic Querying: Advanced SPARQL integration for deep data retrieval.
  • Ontology Awareness: Fully compliant with a custom schema.ttl for strict data structuring.
  • RESTful Architecture: Clean, documented API endpoints via FastAPI.
  • Intelligent Reasoning: Infers new connections between movies, genres, and users.
  • Resource Abstraction: Simplifies complex RDF data into consumable JSON resources.

🎨 Color Reference

Color Hex
Primary Color #222831 #222831
Secondary Color #393E46 #393E46
Accent Color #00ADB5 #00ADB5
Text Color #EEEEEE #EEEEEE

🔑 Environment Variables

To run this project, you will need to add the following environment variables to your .env file

PROJECT_NAME

FUSEKI_URL

DATASET_NAME

ADMIN_PASSWORD

🧰 Getting Started

‼️ Prerequisites

This project uses Docker and Python.

  • Docker
    docker --version
  • Python
    python --version

⚙️ Installation

Clone the project

  git clone https://github.com/Ana-Maria-C/DAVI.git

Go to the project directory

  cd DAVI

Install Backend Dependencies

  cd backend
  pip install -r requirements.txt

🧪 Running Tests

To run tests, run the following command

🏃 Run Locally

Start the Database (Fuseki)

  docker-compose up -d

Start the Server

  cd backend
  python -m app.main

🚩 Deployment

To deploy this project run

  docker-compose up -d --build

👀 Usage

Use the Swagger UI to interact with the API endpoints.

Visit: http://localhost:8000/docs

Or query the Fuseki server directly at: http://localhost:3030/movielens/sparql

🧭 Roadmap

  • Basic Ontology Design
  • FastAPI Service Skeleton
  • Fuseki Integration
  • Advanced Reasoning / Intelligent Filtering
  • Frontend Application implementation

👋 Contributing

Contributions are always welcome!

See contributing.md for ways to get started.

📜 Code of Conduct

Please read the Code of Conduct

❔ FAQ

  • How do I reset the database?

    • Delete the data/fuseki_data folder and restart the Docker container.
  • Where is the ontology file?

    • It is located in ontology/schema.ttl.

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

🤝 Contact

Mihai - Project Lead

Project Link: https://github.com/Ana-Maria-C/DAVI

💎 Acknowledgements

Use this section to mention useful resources and libraries that you have used in your projects.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published