« Choisir une boulangerie bio sans intermédiaire » : différence entre les versions
Aucun résumé des modifications |
|||
(29 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Ce démonstrateur d'application Web illustre comment il est possible de comparer différents pains présent dans différentes boulangeries. | |||
== Définition | == 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 === | |||
[[Fichier:Demo_boulangerie.png|border|center]] | |||
Pour tester le démonstrateur : | |||
# Cliquer sur [https://drive.google.com/uc?export=view&id=1Yal5gXzDZzx40g6QuG9SgMr4VLEByVZQ ce lien]] | |||
# Ouvrir le fichier téléchargé dans un navigateur. | |||
[https://github.com/thestan12/projet_web_semantique.git Code source sur GitHub] | |||
== Définition du graphe de connaissances == | |||
=== Schéma === | |||
''A simplifier (faire un schéma sur le vocabulaire et un autre avec quelques instances)'' | |||
[[Fichier:Web semantique - MCD.png|thumb|center|MCD simplifié]] | |||
=== Vocabulaire === | === Vocabulaire === | ||
Ligne 21 : | Ligne 55 : | ||
===== Ingredient ===== | ===== Ingredient ===== | ||
<rdf> | <rdf> | ||
<Ingredient> rdf:type rdfs: | <Ingredient> rdf:type rdfs:Class. | ||
</rdf> | </rdf> | ||
Ligne 108 : | Ligne 142 : | ||
</rdf> | </rdf> | ||
<rdf> | |||
ex:pepite_chocolat rdf:type <Ingredient> . | |||
ex:pepite_chocolat <ingredientName> "Pepite de chocolat" . | |||
ex:pepite_chocolat <ingredientCalorie> "90"^^xsd:double . | |||
</rdf> | |||
===== baguette ===== | ===== baguette ===== | ||
Ligne 134 : | Ligne 172 : | ||
ex:baguette_piments ex:baguetteIngredients ex:piments_poudre . | ex:baguette_piments ex:baguetteIngredients ex:piments_poudre . | ||
</rdf> | </rdf> | ||
<rdf> | |||
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 . | |||
</rdf> | |||
<rdf> | |||
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 . | |||
</rdf> | |||
===== boulangerie ===== | ===== boulangerie ===== | ||
<rdf> | <rdf> | ||
ex:boulangerie_gagny_1 rdf:type <Boulangerie> . | ex:boulangerie_gagny_1 rdf:type <Boulangerie> . | ||
ex:boulangerie_gagny_1 <boulangerieName> "Boulangerie | ex:boulangerie_gagny_1 <boulangerieName> "Boulangerie 1" . | ||
ex:boulangerie_gagny_1 ex:boulangerieBaguette ex: | ex:boulangerie_gagny_1 ex:boulangerieBaguette ex:baguette_bio . | ||
</rdf> | </rdf> | ||
<rdf> | <rdf> | ||
ex:boulangerie_gagny_2 rdf:type <Boulangerie> . | ex:boulangerie_gagny_2 rdf:type <Boulangerie> . | ||
ex:boulangerie_gagny_2 <boulangerieName> "Boulangerie | ex:boulangerie_gagny_2 <boulangerieName> "Boulangerie 2" . | ||
ex:boulangerie_gagny_2 ex:boulangerieBaguette ex:baguette_piments . | ex:boulangerie_gagny_2 ex:boulangerieBaguette ex:baguette_piments . | ||
</rdf> | </rdf> | ||
Ligne 154 : | Ligne 211 : | ||
ex:boulangerie_gagny_3 ex:boulangerieBaguette ex:baguette_seigle . | ex:boulangerie_gagny_3 ex:boulangerieBaguette ex:baguette_seigle . | ||
</rdf> | </rdf> | ||
<rdf> | |||
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 . | |||
</rdf> | |||
=== Requêtes === | |||
{{#sparql: | |||
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | |||
SELECT * | |||
WHERE { | |||
?s a <Ingredient> . | |||
} | |||
}} | |||
{{#sparql: | |||
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | |||
SELECT * | |||
WHERE { | |||
?s a <Boulangerie> . | |||
} | |||
}} | |||
{{#sparql: | |||
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | |||
SELECT * | |||
WHERE { | |||
?s a <Baguette> . | |||
} | |||
}} | |||
{{#sparql: | {{#sparql: | ||
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | ||
Ligne 162 : | Ligne 255 : | ||
SELECT * | SELECT * | ||
WHERE { | WHERE { | ||
ex: | ex:pepite_chocolat ?p ?v . | ||
} | } | ||
}} | }} | ||
Ligne 171 : | Ligne 264 : | ||
SELECT * | SELECT * | ||
WHERE { | WHERE { | ||
ex: | ex:boulangerie_gagny_1 ?p ?v . | ||
} | } | ||
}} | }} | ||
Ligne 180 : | Ligne 273 : | ||
SELECT * | SELECT * | ||
WHERE { | WHERE { | ||
ex: | ex:boulangerie_gagny_3 ?p ?v . | ||
} | } | ||
}} | }} | ||
{{#sparql: | {{#sparql: | ||
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#> | ||
SELECT * | PREFIX ex: <http://www.example.org/> | ||
SELECT * | |||
WHERE { | WHERE { | ||
? | ex:baguette_piments ?p ?v . | ||
} | } | ||
}} | }} | ||
[[Catégorie:Démonstrateur]] | |||
[[Catégorie:Application Web]] | |||
[[Catégorie:Information environnementale]] |
Version actuelle datée du 17 juin 2021 à 23:20
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 |
08:52:23 04/12/2024 -- Actualiser -- Durée de la requête :0.25s -- 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 |
08:52:23 04/12/2024 -- Actualiser -- Durée de la requête :0.026s -- 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 |
08:52:23 04/12/2024 -- Actualiser -- Durée de la requête :0.03s -- 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 |
08:52:23 04/12/2024 -- Actualiser -- Durée de la requête :0.034s -- 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 |
08:52:23 04/12/2024 -- Actualiser -- Durée de la requête :0.034s -- CSV |