« Choisir une boulangerie bio sans intermédiaire » : différence entre les versions

De ESCR
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(45 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 de votre graphe de connaissances ==
== 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 6 : Ligne 40 :
==== Base ====
==== Base ====
<rdf>
<rdf>
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Test#>
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#>
</rdf>
</rdf>


Ligne 21 : Ligne 55 :
===== Ingredient =====
===== Ingredient =====
<rdf>
<rdf>
<Ingredient> rdf:type rdfs:class.
<Ingredient> rdf:type rdfs:Class.
</rdf>
</rdf>


Ligne 77 : Ligne 111 :
<rdf>
<rdf>
<boulangerieBaguette> rdf:type rdf:Property;
<boulangerieBaguette> rdf:type rdf:Property;
    rdfs:domain <Boulangerie>;
rdfs:domain <Boulangerie>;
        rdfs:range <Baguette>.
rdfs:range <Baguette>.
</rdf>
</rdf>


==== Data Exemple ====
==== Data Exemple ====
Ligne 111 : 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 137 : 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> "Baguette de seigle" .
ex:boulangerie_gagny_1 <boulangerieName> "Boulangerie 1" .
ex:boulangerie_gagny_1 ex:boulangerieBaguette ex:baguette_seigle .
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> "Baguette de seigle" .
ex:boulangerie_gagny_2 <boulangerieName> "Boulangerie 2" .
ex:boulangerie_gagny_2 ex:boulangerieBaguette ex:baguette_seigle .
ex:boulangerie_gagny_2 ex:boulangerieBaguette ex:baguette_piments .
</rdf>
 
<rdf>
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 .
</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> .
}
}}




=== Requêtes ===




Ligne 159 : Ligne 237 :
SELECT *  
SELECT *  
WHERE {
WHERE {
<Boulangerie> ?p ?v .
?s a <Boulangerie> .
}
}}
 
{{#sparql:
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#>
SELECT *
WHERE {
?s a <Baguette> .
}
}}
 
 
{{#sparql:
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#>
PREFIX ex: <http://www.example.org/>
SELECT *
WHERE {
  ex:pepite_chocolat ?p ?v .
}
}
}}
}}
Ligne 171 : Ligne 267 :
}
}
}}
}}
{{#sparql:
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#>
PREFIX ex: <http://www.example.org/>
SELECT *
WHERE {
  ex:boulangerie_gagny_3 ?p ?v .
}
}}
{{#sparql:
BASE <https://data.escr.fr/wiki/Utilisateur:Stan/Projet#>
PREFIX ex: <http://www.example.org/>
SELECT *
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

Demo boulangerie.png

Pour tester le démonstrateur :

  1. Cliquer sur ce lien]
  2. Ouvrir le fichier téléchargé dans un navigateur.

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)

MCD simplifié

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
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.03s -- 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
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.02s -- 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
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.025s -- 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
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.025s -- 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
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.026s -- 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_seigle
http://www.example.org/boulangerieBaguette http://www.example.org/baguette_piments
https://data.escr.fr/wiki/Utilisateur:Stan/Projet#boulangerieName Boulangerie 3
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.026s -- CSV


p v
http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://data.escr.fr/wiki/Utilisateur:Stan/Projet#Baguette
http://www.example.org/baguetteIngredients http://www.example.org/farine_ble
http://www.example.org/baguetteIngredients http://www.example.org/graine_melange
http://www.example.org/baguetteIngredients http://www.example.org/piments_poudre
https://data.escr.fr/wiki/Utilisateur:Stan/Projet#baguetteName Pain Piments
https://data.escr.fr/wiki/Utilisateur:Stan/Projet#baguettePrice 3
20:28:16 22/11/2024 -- Actualiser -- Durée de la requête :0.027s -- CSV