This repository contains the iTelos project for the Knowledge Graph Engineering course (2024/25) taught by Professors Fausto Giunchiglia, Simone Bocca, and Mayukh Bagchi at the University of Trento. The project was developed by Gaudenzia Genoni, Maria Amalia Pelle, and Yishak Tadele Nigatu for the Master's in Data Science program.
Objective: Offer comprehensive information regarding waste management and its relationship with tourism.
Geographic Focus: Trentino Province (46°04′00″N, 11°07′00″E)
Temporal Coverage: 2014-2022
- 🗺️ OpenStreetMap: Geospatial data for waste baskets and tourist attractions
- ♻️ Dolomiti Ambiente: Waste disposal types and management practices
- 📊 ISPRA: Annual municipal waste production data
- 📈 ISTAT: Demographic statistics and municipal boundaries
Alignment with schema.org vocabulary for entity modeling.
- Conceptual Models
- Knowledge Representation
- Teleontology using kTelos methodology
- Schema alignment
- Implementation
- Protégé
- Karma data mapping
- Metrics: Purpose satisfaction (70%), Reusability index (100%)
- Validation: All competency questions answered, with varying degrees of granularity
- Performance: Average query response time < 1.2s
Competency Question: Find organic waste facilities within 5 km of ski tourist attractions in Folgaria.
PREFIX etype: <http://knowdive.disi.unitn.it/etype#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX uom: <http://www.opengis.net/def/uom/OGC/1.0/>
SELECT ?municipalityName ?attractionName ?attractionType ?attractionLocation ?basketLocation ?wasteDisposalType ?distance
WHERE {
# Retrieve tourist attractions located in Folgaria.
?attraction rdf:type etype:TouristAttraction ;
etype:has_type ?attractionType ;
etype:has_name ?attractionName ;
etype:has_geometry ?attractionLocation ;
etype:Located_in ?municipality .
?municipality etype:has_name ?municipalityName .
FILTER(?municipalityName = "Folgaria")
# Filter so that the attraction's type is exactly "skiing".
FILTER(?attractionType = "skiing")
# Optionally include additional tourist attraction attributes.
OPTIONAL { ?attraction etype:has_description ?attractionDescription . }
# For each attraction, find waste baskets (recycling facilities).
?wasteBasket rdf:type etype:WasteBasket ;
etype:has_amenity "recycling" ;
etype:has_geometry ?basketLocation ;
etype:Disposes ?wasteDisposal .
# Compute the distance (in meters) from the attraction to the waste basket.
BIND(geof:distance(?attractionLocation, ?basketLocation, uom:metre) AS ?distance)
# Only include waste baskets within 5000 meters.
FILTER(?distance <= 5000)
# Retrieve the waste disposal type name.
?wasteDisposal rdf:type etype:WasteDisposalType ;
etype:has_name ?wasteDisposalType .
# Filter to only include waste baskets that accept Organic waste.
FILTER(?wasteDisposalType = "Organic")
}
ORDER BY ASC(?distance)
| Member | Contribution Area |
|---|---|
| Gaudenzia Genoni | Knowledge Engineer |
| Maria Amalia Pelle | Project Manager |
| Yishak Tadele Nigatu | Data Scientist |
Hosted on GitHub Pages · Last updated: Feb 2025
View Project Documentation · Report Issue