Choisir une boulangerie bio sans intermédiaire
Ce démonstrateur d'application Web illustre comment il est possible de comparer différents pains présent dans différentes boulangeries.
Objectif
En donnant les détails des ingrédients dans chaque pain de chaque boulanger, le consommateur peut essayer de limiter son impact environnemental. Le boulanger peut pour sa part être visible de ses clients sans intermédiaire et consacrer son budget communication à la diminution de son impact environnemental.
Spécification
L'objectif de se projet et de pouvoir visuellement comparer les différents pains présent dans des boulangerie. On pourra également voir le détail de chaque produit proposé par le commerçant, avec leurs composition.
Ainsi nous avons un site web mono page :
- Première section :
- Liste des différentes boulangerie et leurs produits.
- Deuxième section :
- détails et ingrédients du pain sélectionné dans la première section.
Démonstrateur
Version du 14/12/2020
Pour tester le démonstrateur :
- Cliquer sur ce lien]
- Ouvrir le fichier téléchargé dans un navigateur.
Définition du graphe de connaissances
Schéma
A simplifier (faire un schéma sur le vocabulaire et un autre avec quelques instances)
Vocabulaire
Base
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#>
Préfixes
PREFIX ex: <http://www.example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
Classes
Ingredient
<Ingredient> rdf:type rdfs:Class.
Baguette
<Baguette> rdf:type rdfs:class.
Boulangerie
<Boulangerie> rdf:type rdfs:class.
Propriétés
Ingredient Name
<ingredientName> rdf:type rdf:Property;
rdfs:domain <Ingredient>.
Ingredient Calorie
<ingredientCalorie> rdf:type rdf:Property;
rdfs:domain <Ingredient>.
Baguette Name
<baguetteName> rdf:type rdf:Property;
rdfs:domain <Baguette>.
Baguette Calorie
<baguettePrice> rdf:type rdf:Property;
rdfs:domain <Baguette>.
Baguette Ingredient
<baguetteIngredients> rdf:type rdf:Property;
rdfs:domain <Baguette>;
rdfs:range <Ingredient>.
Boulangerie Name
<boulangerieName> rdf:type rdf:Property;
rdfs:domain <Boulangerie>.
Boulangerie contain baguettes
<boulangerieBaguette> rdf:type rdf:Property;
rdfs:domain <Boulangerie>;
rdfs:range <Baguette>.
Data Exemple
ingredients
ex:farine_seigle rdf:type <Ingredient> .
ex:farine_seigle <ingredientName> "Farine de seigle" .
ex:farine_seigle <ingredientCalorie> "30"^^xsd:double .
ex:farine_ble rdf:type <Ingredient> .
ex:farine_ble <ingredientName> "Farine de Blé" .
ex:farine_ble <ingredientCalorie> "20"^^xsd:double .
ex:graine_melange rdf:type <Ingredient> .
ex:graine_melange <ingredientName> "Mélange de Graines" .
ex:graine_melange <ingredientCalorie> "10"^^xsd:double .
ex:piments_poudre rdf:type <Ingredient> .
ex:piments_poudre <ingredientName> "Piments en pouvre" .
ex:piments_poudre <ingredientCalorie> "50"^^xsd:double .
ex:pepite_chocolat rdf:type <Ingredient> .
ex:pepite_chocolat <ingredientName> "Pepite de chocolat" .
ex:pepite_chocolat <ingredientCalorie> "90"^^xsd:double .
baguette
ex:baguette_seigle rdf:type <Baguette> .
ex:baguette_seigle <baguetteName> "Baguette de seigle" .
ex:baguette_seigle <baguettePrice> "1"^^xsd:double .
ex:baguette_seigle ex:baguetteIngredients ex:farine_seigle .
ex:baguette_seigle ex:baguetteIngredients ex:graine_melange .
ex:baguette_bio rdf:type <Baguette> .
ex:baguette_bio <baguetteName> "Pain Bio" .
ex:baguette_bio <baguettePrice> "2"^^xsd:double .
ex:baguette_bio ex:baguetteIngredients ex:farine_ble .
ex:baguette_piments rdf:type <Baguette> .
ex:baguette_piments <baguetteName> "Pain Piments" .
ex:baguette_piments <baguettePrice> "3"^^xsd:double .
ex:baguette_piments ex:baguetteIngredients ex:farine_ble .
ex:baguette_piments ex:baguetteIngredients ex:graine_melange .
ex:baguette_piments ex:baguetteIngredients ex:piments_poudre .
ex:pain_complet rdf:type <Baguette> .
ex:pain_complet <baguetteName> "Pain Complet" .
ex:pain_complet <baguettePrice> "8"^^xsd:double .
ex:pain_complet ex:baguetteIngredients ex:farine_ble .
ex:pain_complet ex:baguetteIngredients ex:farine_seigle .
ex:pain_complet ex:baguetteIngredients ex:piments_poudre .
ex:pain_complet ex:baguetteIngredients ex:graine_melange .
ex:pain_chocolat rdf:type <Baguette> .
ex:pain_chocolat <baguetteName> "Pain au chocolat" .
ex:pain_chocolat <baguettePrice> "5"^^xsd:double .
ex:pain_chocolat ex:baguetteIngredients ex:farine_ble .
ex:pain_chocolat ex:baguetteIngredients ex:pepite_chocolat .
boulangerie
ex:boulangerie_gagny_1 rdf:type <Boulangerie> .
ex:boulangerie_gagny_1 <boulangerieName> "Boulangerie 1" .
ex:boulangerie_gagny_1 ex:boulangerieBaguette ex:baguette_bio .
ex:boulangerie_gagny_2 rdf:type <Boulangerie> .
ex:boulangerie_gagny_2 <boulangerieName> "Boulangerie 2" .
ex:boulangerie_gagny_2 ex:boulangerieBaguette ex:baguette_piments .
ex:boulangerie_gagny_3 rdf:type <Boulangerie> .
ex:boulangerie_gagny_3 <boulangerieName> "Boulangerie 3" .
ex:boulangerie_gagny_3 ex:boulangerieBaguette ex:baguette_piments .
ex:boulangerie_gagny_3 ex:boulangerieBaguette ex:baguette_seigle .
ex:boulangerie_gagny_4 rdf:type <Boulangerie> .
ex:boulangerie_gagny_4 <boulangerieName> "Boulangerie 4" .
ex:boulangerie_gagny_4 ex:boulangerieBaguette ex:baguette_piments .
ex:boulangerie_gagny_4 ex:boulangerieBaguette ex:baguette_seigle .
ex:boulangerie_gagny_4 ex:boulangerieBaguette ex:baguette_bio .
ex:boulangerie_gagny_4 ex:boulangerieBaguette ex:pain_chocolat .
ex:boulangerie_gagny_4 ex:boulangerieBaguette ex:pain_complet .
Requêtes
s |
---|
http://www.example.org/farine_seigle |
http://www.example.org/farine_ble |
http://www.example.org/graine_melange |
http://www.example.org/piments_poudre |
http://www.example.org/pepite_chocolat |
16:15:25 24/11/2024 -- Actualiser -- Durée de la requête :0.027s -- CSV |
s |
---|
http://www.example.org/boulangerie_gagny_1 |
http://www.example.org/boulangerie_gagny_2 |
http://www.example.org/boulangerie_gagny_3 |
http://www.example.org/boulangerie_gagny_4 |
16:15:25 24/11/2024 -- Actualiser -- Durée de la requête :0.018s -- CSV |
s |
---|
http://www.example.org/baguette_seigle |
http://www.example.org/baguette_bio |
http://www.example.org/baguette_piments |
http://www.example.org/pain_chocolat |
http://www.example.org/pain_complet |
16:15:25 24/11/2024 -- Actualiser -- Durée de la requête :0.022s -- CSV |
p | v |
---|---|
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | https://data.escr.fr/wiki/Utilisateur:Stan/Projet#Ingredient |
https://data.escr.fr/wiki/Utilisateur:Stan/Projet#ingredientCalorie | 90 |
https://data.escr.fr/wiki/Utilisateur:Stan/Projet#ingredientName | Pepite de chocolat |
16:15:25 24/11/2024 -- Actualiser -- Durée de la requête :0.023s -- CSV |
p | v |
---|---|
http://www.w3.org/1999/02/22-rdf-syntax-ns#type | https://data.escr.fr/wiki/Utilisateur:Stan/Projet#Boulangerie |
http://www.example.org/boulangerieBaguette | http://www.example.org/baguette_bio |
https://data.escr.fr/wiki/Utilisateur:Stan/Projet#boulangerieName | Boulangerie 1 |
16:15:25 24/11/2024 -- Actualiser -- Durée de la requête :0.025s -- CSV |