Rapport Stage PFE
Rapport Stage PFE
Rapport Stage PFE
Universit Montpellier II
Sciences et Techniques du Languedoc
effectu au laboratoire
Agrotechnology & Food Science Group,
Wageningen University & Research Center
Spcialit :
Professionnelle et Recherche unifie en Informatique
Un grand merci toute lquipe Information Management pour mavoir fait dcou-
vrir un nouveau laboratoire de recherche, une autre faon de travailler et aussi une autre
culture. Plus particulirement, je remercie Hajo pour avoir facilit mon intgration et
pour les discussions varies.
Pour finir, je noublie pas mes collgues de lUMR MISTEA qui mont accueillie il
y a 5 ans dj dans leur quipe et qui mont encourage faire ce Master. Je les remercie
pour tout leur soutien et leur aide prcieuse. Je pense particulirement Brigitte, Nadine
et Pascal.
iii
Table des matires
Introduction 1
1 Contexte et objectifs 3
1.1 Contexte du domaine applicatif . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Objectifs informatiques . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Etat de lart 11
2.1 Ontologies et outils du Web Semantic . . . . . . . . . . . . . . . . . . 11
2.2 Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 La plateforme Smartphone . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Modles de connaissances 21
3.1 Processus de conception et interaction entre les composants ontologiques 22
3.2 Ontologie des produits du Restaurant du Futur . . . . . . . . . . . . . . 25
3.3 Ontologies pour les prfrences des consommateurs . . . . . . . . . . . 31
3.4 Ontologies de recommandations . . . . . . . . . . . . . . . . . . . . . 35
v
TABLE DES MATIRES
5 Conclusion 75
Bibliographie 77
Annexes 79
vi
Introduction
Ce stage de Master 2 sest droul dans le dpartement de recherche Food & Biobased
Research lUniversit de Wageningen (Pays-Bas). Lobjectif appliqu tait de proposer
aux clients dun restaurant - self service exprimental , le Restaurant du Futur, un pro-
totype de systme de diffusion de conseils alimentaires qui convienne leur mode de
vie, leurs caractristiques physiques et physiologiques ainsi qu leurs gots alimen-
taires. Pour cela, il sest avr ncessaire davoir un environnement de connaissances
qui reprsente les diffrentes connaissances sur les menus (produits ou aliments as-
socis, leurs caractristiques et valeurs nutritives) et sur les consommateurs rfrencs
(caractristiques physiques, prfrences, mode de vie, objectifs dittiques, etc...), et qui
permette de dlivrer des conseils dittiques personnaliss. Pour aider le consommateur
dans sa dmarche, il est important que lorsquil se dplace dans le restaurant pour faire
ses choix, il dispose de linformation pertinente. La cration de cet environnement a
constitu la premire tape du stage. Lobjectif long terme est la prise en compte de
la localisation des produits et du consommateur pour lui donner des conseils en temps
rel, adapts la gestion des tentations possibles et respectant ses objectifs dittiques.
Une des originalits de lapproche est de proposer une application sur un environnement
mobile, tel quun Smartphone.
Pour ce faire, une ontologie sera construite pour chaque pan de connaissance, des don-
nes seront licites et des ontologies locales dfinies partir de ces donnes spci-
fiques. Dans ce but, les technologies et langages du Web Smantique sont mises profit.
Lensemble de ces ontologies est exploit au sein de lenvironnement de connaissance.
Lattention est porte sur la dfinition dune architecture approprie leur exploitation
par des usagers finaux aux travers de plateformes mobiles.
1
TABLE DES MATIRES
introduits dans ltat de lart au chapitre 2. Les modles de connaissance que nous avons
dvelopps sont dcrits au chapitre 3. Toute la partie mise en uvre est dtaille dans le
chapitre 4, de larchitecture du prototype du systme de diffusion des conseils person-
naliss lapplication sur Smartphone. Des perspectives sont ensuite dgages autour
de plusieurs questions de recherche lies aux ontologies. La conclusion, chapitre 5, clt
la partie principale du mmoire. Des chapitres annexes sont donns pour complter lin-
formation, tant technique que associe lapplication (dittique, prfrences).
2
Chapitre 1
Contexte et objectifs
Les gouvernements des pays occidentaux ont mis en place de vastes campagnes
dinformation pour sensibiliser les populations leur mode alimentaire. Lide est donc
de poser les bases dune vie plus saine sans rien imposer. Ces campagnes, qui passent
par exemple par la diffusion de spots publicitaires, cotent cher et ne rcoltent que
des rsultats plutt mdiocres. Or il est postul que lefficacit du message serait plus
grande si ce message tait personnalis. En effet, les conseils donns jusqualors sont
des conseils gnraux portant soit sur lalimentation, soit sur la sant et rencontrent un
accueil assez limit de la part de la population. Les principaux reproches qui sont faits
ces conseils, par trop gnraux, sont les suivants :
ils ne tiennent compte ni des prfrences ou aversions alimentaires, ni des in-
tolrances ou allergie alimentaires ventuelles ;
ils ne considrent, en aucun cas, les dpenses physiques journalires de la per-
sonne ;
ils sont en arrire plan au moment du choix ;
ils ne se doublent pas dun travail de prvention portant sur une valuation des
mauvaises habitudes alimentaires de tout un chacun.
Dans ce contexte, le projet Food Valley Eating Advisor (FOVEA) 1 a t mis en place
et a pour un de ses objectifs, la cration de la base dun systme de diffusion dinfor-
mations ax sur la personne. Ce systme est attendu de fournir toute personne des
1. http://www.fovea-project.org/UK/
3
Contexte et objectifs
conseils personnaliss pour une alimentation plus saine et une activit physique plus
adapte.
Le dpartement de recherche Food & Biobased Research est lun des partenaires
du projet FOVEA. Ce dpartement fait partie du centre Wageningen University & Re-
search (WUR) 2 aux Pays-Bas. Ses domaines dexpertise portent sur les sciences sen-
sorielles et le comportement alimentaire dune part et sur les systmes dit "intelligents"
et la recherche applique en vision dautre part. Cette double comptence en fait un
dpartement de recherche de choix pour la bonne conduite du projet FOVEA. Jai t
plus spcifiquement accueillie dans lquipe Information Management 3 dont les activ-
its sont ancres dans le second axe "systmes intelligents". Un systme dit intelligent
est vu, ici, comme un systme automatis enrichi dune couche logicielle traitant de la
connaissance afin den largir le primtre de fonctionnalits. Dans cette optique et de
concert avec trois entreprises prives, le dpartement de recherche Food & Biobased
Research, a cr en 2007, le Restaurant du Futur 4 , pour mener bien ses recherches
sur le comportement des consommateurs et les moteurs qui influent sur leurs choix ali-
mentaires. Dans le projet FOVEA, Food & Biobased Research se positionne lchelle
du restaurant pour rpondre de manire applique et proposer un cas dtude bien rel
la problmatique du sujet. A partir des tudes menes dans ce cadre, les chercheurs de
Food & Biobased Research dveloppent des modles conceptuels orients vers de la per-
sonnalisation de conseils alimentaires en vertu de diffrents facteurs : physiologiques,
ethniques, financiers, ducationnels, lis aux modes de vie, etc. Le restaurant sert alors
de domaine dtude et vient instancier les modles construits. Il est alors plus facile de
valider les modles construits.
4
1.1 Contexte du domaine applicatif
de donnes, qui consignent les achats des consommateurs. En outre, chaque nouveau
client peut sinscrire et rpondre un questionnaire (cf. annexe A). Celui-ci permettra
aux chercheurs davoir une ide du mode de vie des usagers ou des relations entretenues
avec les aliments (dtection de nophobie 5 , par exemple). Cette dmarche dacquisition
et de valorisation dinformation est importante et difficile, car ltude du comportement
implique que la collecte des informations sur les consommateurs soit la moins intru-
sive possible pour ne pas influencer leurs comportements. Ceci va aussi ncessiter de
lexpertise dans le domaine des nouvelles technologies de linformation et de la commu-
nication, afin doptimiser les traitements et leurs exploitations. Cest dans ce domaine
quintervient lquipe Information Management. Dans ce contexte, les projets actuelle-
ment en cours de ralisation portent sur des systmes de reconnaissance visuelle de
personnes, de comportements et de produits ou sur le systme dintgration de donnes.
5
Contexte et objectifs
Les exigences du systme PEA sont triples : le systme doit personnaliser les mes-
sages, donner des retours lutilisateur sur ses choix et tre mobile afin dtre prsent
au moment du choix. Lide est de proposer un dbut de solution aux limitations des
conseils gnraux diffuss actuellement. Le but ici est avant tout pdagogique.
6
1.2 Objectifs informatiques
Forme : donnes textuelles, images, diagrammes, couleurs... Cette ide provient des
conclusions de ltude de linfluence des informations nutritives de Stubenitsky
et al. (2000), et suppose que le type de format dinformation utilis pourrait in-
fluencer lefficacit du message. Par exemple, le nombre de calories (information
textuelle) dun aliment correspondant un plat allg, naura pas forcment de
porte sur la personne qui na pas la notion de la ration qui lui est ncessaire.
Contenu : cest linformation pertinente pour le consommateur. Il sagit ici dtre en
accord avec le rgime dittique du consommateur. Par exemple, donner la teneur
en sel dun produit reste surtout pertinent pour lutilisateur qui suit un rgime dit
"sans sel".
Il en rsulte, que cette personnalisation servira de guide pour la partie IHM 6 du systme
de diffusion de linformation.
La mobilit de la solution est aussi une exigence importante pour aider la per-
sonne, et qui va influencer le choix de larchitecture du systme. En effet, dans le
cas de lutilisation du plateau virtuel, vu prcdemment, la mobilit permettrait lu-
tilisateur doptimiser la composition de son plateau pendant ses choix. Cela est vrai
aussi de faon plus gnrale, pour aider la personne amliorer son comportement.
Un des phnomnes prendre en compte est celui de la tentation. Il influence norm-
ment les choix du consommateur et dpend souvent du contact avec les produits. Ce
quaimeraient les chercheurs, cest de pouvoir, dans une prochaine version, coupler le
conseiller un systme de golocalisation des produits et du consommateur afin de le
prvenir sil sapproche de produits estims comme "dangereux" ou au contraire de lui
proposer un chemin optimal vers les produits bnfiques. De ce fait, nous avons choisi
une plate-forme mobile, type ordiphone ou Smartphone en anglais, pour restituer les
conseils. En effet, ils allient la capacit et les fonctionnalits ncessaires.
7
Contexte et objectifs
Lobjectif de mon stage est donc double. Premirement, il sagit de modliser les
composants ontologiques des domaines concernant une vaste proccupation humaine :
savoir lalimentation. Deuximement, il est aussi question de proposer un prototype
darchitecture et dapplication sur Smartphone capable de restituer au consommateur le
menu avec les conseils personnaliss et sappuyant sur ces composants ontologiques.
La solution propose est schmatise par la figure 1.2 o les principaux acteurs du
prototype sont reprsents avec leurs rles. Un environnement de connaissances associ
aux donnes collectes sera exploit par un modle de conseils alimentaires person-
naliss que nous avons considr comme une bote noire. Sa tche est de fournir les
recommandations ncessaires la constitution dun menu issu de notre environnement
et personnalis, cest--dire dont les informations seront restitues de manire perti-
nente pour le consommateur. La plateforme choisie pour lutilisateur est le Smartphone
afin de laider lors de ses choix au sein du Restaurant du Futur.
Trois profils de consommateurs tablis avec les chercheurs et une ditticienne ont
guid notre tude. En effet, le domaine est trs vaste et il fallait rduire dans un pre-
mier temps lespace de complexit. Par rapport au modle de conseils et aux donnes
disponibles, le prototype intgre des fonctionnalits restreintes. Il sagissait cependant
8
1.2 Objectifs informatiques
John est un homme de 50 ans et mesure 1 mtre 80. Il fait partie de lquipe
Information Management, travaille devant son ordinateur toute la journe et a une ac-
tivit sdentaire. Il est un consommateur rgulier du Restaurant du Futur, puisquil y
mange quatre fois par semaine. Il napporte jamais daliment extrieur au restaurant.
Il a rarement de repas de travail, mais djeune souvent avec les autres membres de
lquipe. John nest pas sportif, habite trop loin de son travail pour venir en vlo, et
vient donc en voiture. Son IMC 7 est denviron 30, donc il doit perdre du poids et cest
pourquoi il a un rgime alimentaire basses calories particulier. Le problme est que
John est gourmand et habitu choisir des plats sucrs, il prend toujours un dessert
pour finir son repas.
9
Contexte et objectifs
10
Chapitre 2
Etat de lart
11
Etat de lart
Web Smantique
Lapproche actuelle du Web Smantique, ou Web des donnes, est base sur lide
de travailler, au niveau du Web, partir de concepts plutt que de documents, qui con-
tiendraient alors des informations, ou mtadonnes, formalises pour tre traites au-
tomatiquement par des agents logiciel. Le Web de donnes est fond sur une pile de
langages et protocoles issus du Web et propres au Web Smantique (illustration figure
2.1), conus pour tre compris smantiquement et utilisables par les programmes. Le
W3C 2 supervise le dveloppement des standards, propre aux Web Smantique, comme
RDF 3 , RDFS 4 , OWL 5 ou SPARQL 6 que nous allons dcrire.
RDF : pour Resource Description Framework, Manola & Miller (2004), un langage
pour reprsenter des informations propos de ressources sur le Web. RDF est destin
aux situations o ces informations ont besoin dtre traites par des applications au lieu
dtre seulement affiches pour les personnes. Les informations peuvent tre changes
entre les applications sans perte de sens. RDF est fond sur lide didentifier les choses
en utilisant des URI 7 , et en dcrivant les ressources en fonction de proprits et de
1. OBOE : OBOE : Extensible Observation Ontology
2. W3C : World Wide Web Consortium
3. RDF : Resource Description Framework
4. RDFS : Resource Description Framework Schema
5. OWL : Web Ontology Language
6. SPARQL : SPARQL Protocol and RDF Query Language
7. URI : Uniform Resource Identifier, identificateurs de ressource Web
12
2.1 Ontologies et outils du Web Semantic
valeurs de proprits. De ce fait, on pourra traduire des informations simples sur les
ressources sous forme de graphe, o les nuds reprsentent des ressources et les arcs
les proprits. RDF emploie une terminologie particulire, illustre par la figure 2.2,
pour indiquer les diverses parties des dclarations :
le sujet concerne ce qui est dcrit,
le prdicat correspond la proprit,
lobjet est la valeur de la proprit.
La srialisation des dclarations, ou triplets, peut avoir diffrents formats, Segaran et al.
(2009) : notation N-Triples 8 (syntaxe verbeuse), N3 9 (syntaxe condense) et RDF/XML 10
8. http://www.w3.org/2001/sw/RDFCore/ntriples/
9. http ://www.w3.org/DesignIssues/Notation3
10. http ://www.w3.org/TR/REC-rdf-syntax/
13
Etat de lart
(syntaxe officielle).
RDFS : pour RDF Schema, permet de dcrire les ressources du vocabulaire RDF. Il
dfini la notion de classe et de proprit. Il permet de dfinir des hirarchies de classes
et de proprits.
OWL : pour Web Ontology Language, Mcguinness & van Harmelen (2004) et Segaran
et al. (2009), est un langage RDF pour la dfinition de classes et de proprits (RDFS),
mais aussi pour permettre plus de raisonnements et des infrences bases sur les rela-
tions. Ce langage est divis en trois sous-langages dont la complexit et lexpressivit
augmentent. OWL-Lite, le plus simple, OWL-DL 11 , bas sur les logiques de description
et OWL-Full, le plus expressif mais dont la calculabilit nest pas garantie.
SPARQL : pour SPARQL Protocol and RDF Query Language, Prudhommeaux &
Seaborne (2008), SPARQL est un langage dinterrogation standard pour les graphes
RDF. Il est capable de rechercher des motifs de graphe (graph patterns) obligatoires et
optionnels ainsi que leurs conjonctions et leurs disjonctions. SPARQL gre galement le
test extensible des valeurs et la contrainte des interrogations par un graphe RDF source.
Les rsultats des interrogations SPARQL peuvent tre des ensembles de rsultats ou
des graphes RDF. Ce langage dinterrogation ne permet pas, comme le fait SQL 12 pour
les bases de donnes relationnelles, dinsertion, de modification ou de suppression de
triples.
Outils dexploitations
Sesame est un logiciel libre. Ce "framework" Java, dvelopp au dpart par la so-
cit hollandaise Aduna dans le cadre dun projet europen, volue actuellement grce
un projet communautaire et hberg par OpenRDF. Sesame 13 va fournir les fonction-
nalits ncessaires au stockage de triplets RDF ainsi que des librairies dinterrogation
et de manipulation de ces triplets. Sesame va galement fournir le raisonneur RDFS,
subsumption de classes et de proprits par exemple et OWL DLP avec lextension
OWLIM. Il est facilement extensible grce au dveloppement de la communaut, citons
par exemple des adapteurs Jena pour faciliter le passage entre les deux API 14 , Elmo qui
fournit une API, base sur les annotations Java, permettant un mapping entre structure
mtier et ontologie.
14
2.2 Web Service
Jena est aussi un outil libre et similaire Sesame. Jena 15 a t dvelopp au dpart par
la socit Hewlett-Packard Labs Semantic Web Programme. LAPI est plus complte
car elle inclut nativement le support de OWL. De plus, ce "framework" Java fournit
galement plusieurs raisonneurs internes et permet lutilisation de Pellet, raisonneur
OWL-DL.
Les Web Services RESTful sont bass sur un type darchitectures fondes sur les
concepts de ressources et dagents et dveloppes dans la thse de Roy Fielding, Field-
ing (2000). Le principe est quun composant logiciel puisse lire ou modifier une ressource
en utilisant une reprsentation (XML ou JSON 18 par exemple) de cette ressource. Comme
dans le domaine du Web Smantique, lURI a un rle important et doit suffire pour
identifier une ressource. Les services bass sur rest utilise le protocole HTTP, dfini
par le norme RFC2616, voir Fielding et al. (1999). Ce protocole fournit les oprations
ncessaires la manipulation des ressources : GET, POST, PUT, DELETE, etc.. Lin-
convnient de REST est que le client doit conserver localement les donnes, puis que
cest un service sans tat, ce qui peut poser des problmes de charge.
Les Web Services bass sur les technologies du W3C reposent sur un ensemble
de protocoles et de standards utiliss au dpart pour lchange de donnes entre en-
vironnements htrognes. Les trois lments principaux sont SOAP (Simple Object
Access Protocol) pour lchange des messages pour lappel et rponse de mthodes
entre les deux environnements, WSDL (Web Service Description Language) pour la de-
scription des messages changs (type de donnes, oprations...) et enfin les annuaires
UDDI (Universal Description Discovery and Integration) pour le rfrencement et la
dcouverte des Services Web. Linconvnient d la multitude des technologies est la
performance qui est moins importante.
15. http://openjena.org/
16. REST : Representational State Transfer
17. XML : eXtensible Markup Language
18. JSON : JavaScript Object Notation
15
Etat de lart
16
2.3 La plateforme Smartphone
Microsoft Visual Studio 2010 Express pour Windows Phone CTP permet de crer
des applications Silverlight pour Windows Phone 7. Il permet de dployer lapplication
directement sur lmulateur ou sur un appareil Windows Phone 7.
Silverlight est une implmentation du Framework Microsoft .Net, destine crer des
applications interactives riches (ou RIA 24 en anglais) sur le Web, multiplateformes et
navigateurs Web. Les bibliothques de classes fournies par Silverlight pour Windows
Phone donnent des classes, composants, contrles et lments dinterface utilisateur
spcialement adapts aux applications sur ordiphone Windows Phone 7. Ils correspon-
dent une version amliore de Sivlerlight 3 classique sans offrir toutes les fonction-
nalits de Silverlight 4 (la version actuelle).
Silverlight peut tre dcrit comme un sous-ensemble de la technologie Microsoft Win-
dows Presentation Foundation 25 (WPF) et va notamment donner accs aux fonctionnal-
its de liaison de donnes (data binding en anglais).
24. Rich Internet Application, dont la premire dfinition et description des fonctionnalits sont
dcrites par Allaire (2002)
25. http://msdn.microsoft.com/fr-fr/library/cc903925%28v=VS.95%29.aspx
26. http://msdn.microsoft.com/fr-fr/library/cc278072%28v=VS.95%29.aspx
17
Etat de lart
18
2.3 La plateforme Smartphone
section 4.4. Lexploitation de XML avec Silverlight est possible avec linterface de pro-
grammation LINK to XML 29 .
LINK to XML est proche du modle DOM 30 car le document XML est charg en m-
moire. Le document peut tre interrog ou modifi. LINK 31 est un langage de requtes
proche de SQL 32 ou XPath (non disponible sous Silverlight pour Windows Phone).
19
Chapitre 3
Modles de connaissances
Introduction
21
Modles de connaissances
22
3.1 Processus de conception et interaction entre les composants ontologiques
composant logiciel peut tre dploy indpendamment et peut tre sujet de composition
dun tiers.
De la mme faon, nos composants ontologiques ont des proprits similaires. Ils
sont rutilisables, composs dautres composants, composables et possde une autonomie
relative. La figure 3.2 reprsente, laide de la notation UML, les trois composants ma-
jeurs, savoir :
une ontologie du contexte du restaurant avec la dfinition des menus et de lenvi-
ronnement matriel,
une ontologie pour dcrire les produits,
une ontologie pour dfinir les consommateurs.
23
Modles de connaissances
Nous avons aussi reprsent lontologie des recommandations, Advise, car elle joue en
effet un rle particulier dans notre systme.
Une zone en pointills a t ajoute afin de reprsenter le lien fort qui existe en-
tre lontologie du contexte du restaurant et lontologie des produits. Ceci nous pousse,
souvent tout au long de ce document, ne considrer quune seule ontologie, celle des
produits. En pratique cela est d au fait que nous retrouvons un lien de composition en-
tre les menus et les produits, et que lontologie de description de lenvironnement (table,
chaise, luminosit...) du restaurant reste encore construire.
Sur ce schma, les ontologies sont exploites par deux lments (noeuds) : le mod-
le et le systme de diffusion. Dans les deux cas, des ontologies diffrentes sont actives,
ou utilises, par les acteurs : le contexte, les produits, les consommateurs et les recom-
mandations par le modle de conseils et le contexte/menu et les recommandations par
le systme de diffusion. Ceci correspond au premier type de modularit entre nos on-
tologies.
Une autre caractristique de nos ontologies est la sous-composition et le partage de
composants. Ceci est li la proprit de rutilisation des ontologies. Par exemple, la
figure 3.3 schmatise une partie des relations des ontologies Measure et Diet, que nous
avons spcialement dfinies pour le projet, et dont le but est respectivement de dcrire
les mesures (e.g. masse, prix, etc.) et les rgimes alimentaires des consommateurs.
F IGURE 3.3 Reprsentation des composants Measure et Diet, avec la notation UML
24
3.2 Ontologie des produits du Restaurant du Futur
Lontologie locale des mesures va rutiliser lontologie OUM (cf. section 3.2). Mea-
sure est utilise pour annoter toutes les caractristiques mesurables de nos modles.
Ainsi, elle est utilise pour dcrire les caractristiques physiques (taille, poids...) dun
consommateur, ou encore les caractristiques nutritives dun produit. Au besoin, nous
pouvons connecter le composant des Measure aux ontologies, pour ajouter des types de
connaissances mesures. La dfinition des rgimes alimentaires, Diet sur la figure 3.3, et
des produits sont dautres exemples dutilisation de composants "partags". Ainsi lon-
tologie Sensory&Strucure est utilise par le consommateur pour dcrire ses prfrences
gustatives, tandis que dans le cadre de lontologie des produits on dcrit les gots.
Dans les sections suivantes, nous dtaillerons la modlisation des modules ontologiques
des produits du restaurant, section 3.2, des consommateurs, section 3.3 et enfin la dfi-
nition des recommandations du modle de conseils, section 3.4.
25
Modles de connaissances
26
3.2 Ontologie des produits du Restaurant du Futur
Lillustration dun produit est donne par la proprit hasIcon de cible un nom
du fichier. La gestion de laffichage de limage se fera ensuite par lapplication. Cest
une proprit importante au niveau du domaine dapplication, car laspect des plats entre
en jeu lors de du choix de certains consommateurs. Cette proprit est aussi utilise par
le concept Category. Un produit qui na pas dillustration, utilise celle de sa catgorie.
27
Modles de connaissances
besoin de nous appuyer sur un autre type de connaissances et utiliser lontologie des
produits laitier, dj existante.
Lide des proprit belongsTo et aggregates est de reprsenter le concept de com-
position. Odell (1998) dfinit la composition comme un mcanisme servant former un
objet entier en utilisant dautres objets comme parties. La reprsentation de la composi-
tion est un sujet en dveloppement dans le cadre du W3C, voir Rector & Welty (2005)
sur la reprsentation de la composition. En effet, elle nest pas native au formalisme
comme peut ltre la spcialisation et ncessite un modlisation manuelle.
28
3.2 Ontologie des produits du Restaurant du Futur
annexe E, listings E.1 et E.2), cest--dire que pour une instance de MeasurementChar-
acteristic ces proprits auront une unique instance.
Listing 3.1 Code Turtle de la dfinition de MeasurementCharacteristic
meas:MeasurementCharacteristic
a owl:Class ;
rdfs:label " Measurement c h a r a c t e r i s t i c "@en ;
rdfs:subClassOf owl:Thing ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:maxCardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty meas:hasDateOfMeasure
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:maxCardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty meas:hasValue
] ;
rdfs:subClassOf
[ a owl:Class ;
owl:intersectionOf ( [ a owl:Restriction ;
owl:allValuesFrom oum:Unit_of_measure ;
owl:onProperty meas:hasUnitOfMeasure
] [ a owl:Restriction ;
owl:allValuesFrom oum:Metrological_concept ;
owl:onProperty meas:measureOf
])
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:maxCardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty meas:hasUnitOfMeasure
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty meas:measureOf
] .
29
Modles de connaissances
Lontologie dveloppe ici, pour dcrire les produits et leurs rles dans le restau-
rant, est faite en fonction des connaissances dj disponibles dans le projet FOVEA et
au RoF. Elle reste suffisante tant que le modle nest pas stabilis mais devra voluer
assez rapidement dans un premier temps avec lintroduction de la notion dingrdients,
puis dans un second temps avec lannotation des produits par rapport leurs origines et
leurs sensations et structures gustatives.
30
3.3 Ontologies pour les prfrences des consommateurs
La dfinition du modle sest faite en deux phases : la premire assez gnrale, grce
la littrature scientifique du domaine et la seconde plus "applique". Cette dernire est
base sur nos trois profils et sur les donnes disponibles, savoir :
identit de la personne, accessible grce ladministration de linstitut,
rsultat dune enqute (mode de vie, interaction avec la nourriture, etc.),
gots alimentaires au restaurant (historique des prcdents repas).
Ainsi, plusieurs composants ontologiques ont t produits. Ils pourront tre assembls et
complts en fonction des besoins du modle. La version intgre dans la mise en oeuvre
du prototype est plus lgre et ne contient que lextension de lentit de la personne et
les rsultats de lenqute.
31
Modles de connaissances
est dfinie avec des restrictions sur la cardinalit exprimant le caractre obligatoire de
ces proprits. Notamment le WURCardNumber, identifiant de lemploy linstitut,
est sous forme XML de type :
<owl:Restriction>
< o w l : c a r d i n a l i t y r d f : d a t a t y p e = " h t t p : / / www. w3 . o r g / 2 0 0 1 / XMLSchema#
n o n N e g a t i v e I n t e g e r " >1< / o w l : c a r d i n a l i t y >
< o w l : o n P r o p e r t y r d f : r e s o u r c e = " h t t p : / / www. wurvoc . o r g / r o f / c o n s u m e r #
hasWURCardNumber " / >
</ owl:Restriction>
32
3.3 Ontologies pour les prfrences des consommateurs
Les proprits physiques de la personne dans notre cas sont les plus pertinentes, car
elles suffisent aux ditticiens pour donner des premires recommandations. De ce fait,
nous avons fait voluer le concept de Consumer pour y ajouter des cardinalits plus
prcises (cf. annexe F).
33
Modles de connaissances
La notion de rgime alimentaire est un concept que nous avons commenc reprsen-
ter ici. Dautres ontologies et structures de connaissances existent mais restent bien sou-
vent trop orientes vers le domaine de la sant par rapport au domaine du projet et trop
complexes par rapport nos besoins en matire de prototypage. Lide ici tait plutt
dessayer de reprsenter le type de rgime alimentaire souhait par un consommateur,
ainsi que ses objectifs. Pour dbuter, nous nous sommes appuys sur nos trois profils.
Ce composant ontologique minimal fait intervenir plusieurs types de facteurs dcrits et
illustrs par Kster (2009). La figure 3.10 illustre cette modlisation. Un consommateur
peut avoir un ou plusieurs rgimes alimentaires : DietPreference. Ce concept intgre
la reprsentation dune relation n-aire de proprits dobjets. adviser reprsente celui
qui est lorigine de cette prfrence. En effet, la base, le consommateur lui-mme
veut suivre un rgime particulier, par exemple "manger biologique". Le systme/ditti-
cien aura galement un objectif pour le consommateur, par exemple un rgime avec peu
dhydrates de carbone. Le modle devra ensuite grer ces souhaits et ou ces conflits et
produire des conseils. La proprit reason et son image ReasonType correspondent la
notion de facteur de motivation et de facteur contextuel socio-culturel (la religion ou le
dsir de salimenter partir des produits issus du commerce quitable par exemple). Ce
concept est associ au concept de niveau dimportance dfini pour linstant simplement
par ses instances :
34
3.4 Ontologies de recommandations
a owl:Class ;
rdfs:subClassOf owl:Thing ;
owl:oneOf ( :AbsoluteImportance :HighImportance :LowImportance :MediumImportance )
.
Un rgime alimentaire prfrentiel est aussi dfini par un type de rgime : DietType.
Ce concept peut nous permettre de dfinir des rgimes et est schmatis figure 3.11.
Cette figure illustre quil est possible dindiquer limportance donne au prix ou len-
vironnement dans ce type de rgime. De plus, la proprit involved, dfinie listing 3.5,
est spcialise en sous-proprit avoided, favored, needed et prohibited. Ces proprits
vont permettre de dfinir les implications entre le rgime et :
un nutriment (de lontologie sur les nutriments), par exemple le rgime "low_calory_diet"
avoided energy ;
un produit (du restaurant), par exemple le rgime "without_tiramisu_diet" prohib-
ited tiramisu ;
un allergne (de lontologie Allergens 4 )), par exemple le rgime "peanut_intolerant_diet"
prohibited Peanut ;
une perception (de lontologie Sensory_and_structure 5 )), par exemple le rgime
"chocolateFlavour_favored_diet" favored ChocolateFlavour.
35
Modles de connaissances
36
3.4 Ontologies de recommandations
Pour la modlisation, je me suis appuye sur les profils dfinis avec les chercheurs
et dgager les conditions types pouvant tre fournies par le modle de conseils. De plus,
nous avons montr le scnario de John une ditticienne qui a nous a donn le type de
conseils dittiques quelle aurait pu prescrire.
37
Modles de connaissances
Techniquement, lide est quen sortie du modle de conseils, une instance du con-
cept AdvisedLunch soit cre. Cette instance est compose de :
Une collection de conseils ou dAdvice La figure 3.12 montre que chacun des conseils
peut tre isAdvised ou isAvoid. Ils peuvent concerner (relation concernType) un
concept de lontologie des produits, par exemple Product ou Category. Cette rela-
tion a pour cible un objet OWL de type Class. Ce conseil peut respecter des con-
ditions qui concernent des caractristiques de llment : Requirement ou qui con-
cernent des variables mesures : MeasurementCharacteristic ou NutritiveCharac-
teristic. La capture dcran de lditeur TopBraid, figure 3.13, illustre la reprsen-
tation de lexpression "John doit prendre des produits qui appartiennent la cat-
gorie des salades et qui ont la proprit davoir une prsentation naturelle 6 ".
F IGURE 3.13 Capture dcran TopBraid, conseil pour John de prendre une salade
frache
Une caractristique pertinente pour le consommateur Il sagit ici de dfinir une Mea-
surementCharacteristic ou une NutritiveCharacteristic prfrentielle pour John.
Cette variable a pour porte le repas complet et peut tre associe des conditions
MeasurementCharacteristic ou NutritiveCharacteristic qui vont permettre dex-
primer le fait par exemple que John ne devrait pas ingrer plus de 600 kcal durant
son repas (cf. figure 3.14). Par la suite, nous verrons que cette caractristique est
affiche en priorit et est associe un traitement particulier dans lapplication
Smartphone.
6. Par opposition aux salades sous film disponibles au restaurant
38
3.4 Ontologies de recommandations
F IGURE 3.14 Recommandation globale dun repas de 600 kcal maximum pour John
(TopBraid)
La notion de tentation durant le choix des produits est associe au concept Tempta-
tionMode. Il possde la proprit owl :oneOf contenant trois instances fullTemp-
tation, moderateTemptation et freeTemptation.
Le mode daffichage donn par le concept TypeOfDataDisplayAdvice va avoir des con-
squences pour lapplication Smartphone. En ce qui concerne notre version, seule
le mode rawData existe et est implment dans notre systme.
Conclusion
Nous avons modlis plusieurs composants ontologiques rutilisables, composables
dontologies locales (e.g. Measure) ou externes (e.g. OUM) et combinables en fonction
des besoins afin davoir un ensemble de connaissances volutives. Ces composants on-
tologiques ont t modliss partir des donnes disponibles, par discussion avec les
experts du domaine et de lexpertise de linstitut de recherche travers la littrature
produites dans le domaine.
Trois principales structures ont ts produites et permettent de formaliser les con-
naissances suivantes :
le contexte du restaurant : le menu, les catgories, les buffets avec les ali-
ments ou produits disponibles accompagns de leurs caractristiques (nutritive,
prix, etc.) ;
39
Modles de connaissances
40
Chapitre 4
Introduction
Des modles de connaissances appropris ont t dfinis (voir chapitre 3), afin de
satisfaire les exigences fonctionnelles du systme PEA (Personal Eating Advisor). Ces
exigences portent sur lapport de conseils alimentaires personnaliss et adapts, aux
consommateurs du Restaurant du Futur. A cet effet, les modles de connaissances con-
struits, se consacrent la reprsentation des aliments et des menus du jour proposs aux
consommateurs par le restaurant, ainsi qu la reprsentation du profil du consommateur
et aux recommandations qui peuvent lui tre faites en terme dalimentation.
41
Mise en uvre au travers dune architecture logicielle
Les ractions du systme au choix des utilisateurs vont se traduire, pour notre proto-
type, par limplmentation de la notion de plateau virtuel. Cette fonctionnalit permettra
davoir un retour global sur lensemble des produits choisis. Lutilisateur aura ainsi la
possibilit de simuler son repas et dajuster ses choix.
La mobilit est ncessaire pour que lutilisateur puisse avoir linformation disposi-
tion alors quil est en train de faire son choix. Cet argument a jou en faveur du choix
dune plate-forme de consultation ordiphone, ou Smartphone en anglais.
42
4.1 Architecture du prototype PEA et dmarche de personnalisation
43
Mise en uvre au travers dune architecture logicielle
Module dacquisition : son rle est de convertir les donnes acquises sous format
texte, en faits. Ce module est un module annexe, qui permet dalimenter la base
de faits partir dinformations manant du restaurant
Modle de conseils : son rle va tre dinterroger le SBC afin de consulter les connais-
sances sur le consommateur et le menu du jour, puis de produire les recommanda-
tions alimentaires personnalises sur les produits qui vont influer la constitution
du menu et laffichage des informations associes. Limplmentation de ce mod-
le nentre pas dans le cadre de mon stage.
La couche mtier : est constitue de deux modules. Le premier module a pour but de
convertir nos connaissances en objets mtiers, manipulables par les procdures
de cration de menu. Le deuxime module a pour objectif de constituer partir
du menu du jour un menu "mtier" personnalis pour un consommateur. Trois
grandes fonctionnalits sont ncessaires :
le marquage dlments du menu ou du contexte du restaurant (produit, cat-
gorie ou buffet) comme tant "conseill" ou " viter" ;
la gestion de la caractristique principale ;
la gestion de la tentation par suppression des produits considrs comme
viter ;
la gestion au niveau des classes mtier du plateau virtuel de lutilisateur.
Web Service : permet de mettre disposition les informations sur le menu du jour
fourni par le restaurant, comprenant galement les produits figurant dans le menu
et leurs caractristiques. Pour un consommateur identifi, son menu "personnal-
is" est galement restitu au travers du Web Service.
Lapplication Smartphone : est une application qui facilite la consultation du menu
et gre la manire dont sont affiches les informations sur linterface face aux
recommandations mises par le systme.
44
4.2 Mise en uvre oprationnelle dun systme base de connaissances
45
Mise en uvre au travers dune architecture logicielle
46
4.2 Mise en uvre oprationnelle dun systme base de connaissances
en particulier les caractristiques nutritives. Cette deuxime phase est cependant semi-
automatique, elle ncessite en effet une phase de validation et de consolidation, avec par
exemple lajout dun fichier dillustration pour ce qui concerne les produits.
Notre environnement va donc contenir nos composants ontologiques ainsi que les
donnes sous forme de graphes RDF provenant :
de trois profils de consommateurs et leurs recommandations,
du contexte du restaurant : catgories, buffets et menu sur trois mois,
47
Mise en uvre au travers dune architecture logicielle
48
4.2 Mise en uvre oprationnelle dun systme base de connaissances
F IGURE 4.2 Diagramme de classes UML partiel du module mtier : conversion RDF
vers objets mtier
49
Mise en uvre au travers dune architecture logicielle
Listing 4.4 Exemple de code paramtrant : mthode dfinie dans sa classe RoFCate-
gory
p u b l i c c l a s s RoFCategory e x t e n d s RoFElement i m p l e m e n t s Comparable<RoFCategory> {
...
/
I n i t i a l i z e t h e e l e m e n t from t h e Sesame r e p o s i t o r y w i t h t h e u r i o f t h e o b j e c t .
/
p u b l i c v o i d initRoFElement ( ) {
i f ( t h i s . id ! = n u l l )
try {
RepositoryConnection con = SesameForRoF . Instance ( ) . getSesame ( ) . getConnection ( ) ;
/ / b u i l d s p a r q l query
StringBuilder query = new StringBuilder ( ) ;
query . append ( "SELECT ? l a b ? i c " ) ;
query . append ( "WHERE { " ) ;
query . append ( " OPTIONAL { < " + t h i s . getId ( ) + " > < " + PROD . HAS_ICON + " > ? i c } . " ) ;
query . append ( " OPTIONAL { < " + t h i s . getId ( ) + " > < " + RDFS . LABEL + " > ? l a b . " ) ;
query . append ( " FILTER ( l a n g ( ? l a b ) = \ " " + ConfigRoF . LANGUAGE + " \ " ) } . " ) ;
query . append ( " } " ) ;
TupleQueryResult result = con . prepareTupleQuery ( QueryLanguage . SPARQL , query .
toString ( ) ) . evaluate ( ) ;
// result
List<String> reslib = result . getBindingNames ( ) ;
i f ( result . hasNext ( ) ) {
BindingSet binds = result . next ( ) ;
i f ( reslib . contains ( " i c " ) && binds . getValue ( " i c " ) ! = n u l l ) t h i s . icon = new
RoFImage ( binds . getValue ( " i c " ) . stringValue ( ) ) ;
50
4.2 Mise en uvre oprationnelle dun systme base de connaissances
Cette structure permet une rutilisation et une volution future plus facile.
51
Mise en uvre au travers dune architecture logicielle
RoFProduct prod = new RoFProduct ( new URI ( bindingSet . getValue ( " p r o d " ) . stringValue ( ) )
);
t h i s . products . put ( prod . getId ( ) , prod ) ;
...
}
...
52
4.3 Personnalisation du menu du jour : RoFAdvisedMenu
53
Mise en uvre au travers dune architecture logicielle
54
4.3 Personnalisation du menu du jour : RoFAdvisedMenu
query . append ( " OPTIONAL { ? advElem < " + ADV . HAS_MEASUREMENT_REQUIREMENT + " > ? mr } .
");
query . append ( " FILTER ( ! bound ( ? mr ) ) . " ) ;
query . append ( " } " ) ;
query . append ( "ORDER BY ? advElem " ) ;
...
}
55
Mise en uvre au travers dune architecture logicielle
56
4.3 Personnalisation du menu du jour : RoFAdvisedMenu
Le mode de tentation est donn par lontologie des recommandations, pour John il
sagit du mode fullTemptation, donc les lments ne sont pas supprims. La figure 4.6
schmatise la formalisation de la tentation pour John.
Cette rgle mtier est implmente par la fonction processTemptation() qui rcupre
en premier le mode de tentation dans la base, puis suivant les modes de tentation va
supprimer de lobjet mtier AdvisedMenu les lments non souhaitable dtre mis
disposition.
57
Mise en uvre au travers dune architecture logicielle
58
4.3 Personnalisation du menu du jour : RoFAdvisedMenu
59
Mise en uvre au travers dune architecture logicielle
F IGURE 4.8 Recommandation globale dun repas de 600 kcal maximum pour John
(TopBraid)
Larchitecture de services Web choisie est REST (voir section ). Ce choix a t fait
en fonction de plusieurs critres :
lger car bas uniquement sur le protocole HTTP, et donc moins de complexit
engendre par lutilisation des diffrents intermdiaires des architectures SOAP
par exemple ;
architecture oriente ressources par rapport une architecture base sur les traite-
ments ;
60
4.4 Web Service
Pour implmenter cette architecture, nous avons utilis de le framework Open Source
Restlet, crit en Java. Il correspondait bien nos besoins : filtres daccs aux ressources
bass sur XPath, support de reprsentation XML, extension permettant de dployer rapi-
dement une application Restlet sur les tlphones mobiles Google Android.
Dans cette section est dcrite limplmentation de lapplication est base sur une
architecture REST et permet la diffusion de ressources : les menus avec leur composition
(produits, catgories, etc. mais aussi images).
Format dchange
Nous avons choisi dutilis un format utilisant le langage XML pour communiquer
entre le serveur et la plateforme mobile. Le listing 4.8 illustre un exemple de reprsen-
tation XML permettant de dcrire la catgorie "fruit" dun menu.
Listing 4.8 Extrait de reprsentation XML dun menu
<rof>
<menu>
< i d >http: / / www . wurvoc . org / rof / product#menu20100730< / i d >
<name>menu20100730< / name>
< l a b e l >menu20100730< / l a b e l >
<dateOfMenu >20100730< / dateOfMenu >
<categories>
<category>
< i d >http: / / www . wurvoc . org / rof / product#fruit< / i d >
...
<products>
<product>
< i d >http: / / www . wurvoc . org / rof / product#appel< / i d >
...
<buffet>
< i d >http: / / www . wurvoc . org / rof / product#dessertsAndJuicesBuffet< / i d >
</ buffet>
<quantities>
<quantity>
< u n i t symbol = " k c a l " >kilocalorie ( mean ) < / u n i t >
< value >98 ,74< / value >
< v a r i a b l e >energie< / v a r i a b l e >
< i d v a r i a b l e >http: / / www . wurvoc . org / vocabularies / ommc 1 . 6 / energy< / i d v a r i a b l e >
</ quantity>
...
</ rof>
Ces donnes sont produites par notre module mtier, en effet chaque classe im-
plmente la fonction toXML qui produit un lment de type XML correspondant la
61
Mise en uvre au travers dune architecture logicielle
description de son type et de ses attributs (cf. extrait du diagramme de classes, figure
4.9). Cette implmentation est facilit par la spcialisation. Chaque lment de base va
avoir un identifiant, id, correspondant lURI de lobjet mtier et instance RDF, ainsi
quun label pour laffichage dans la bonne langue et un nom.
Application Restlet
Les classes dveloppes laide du framework Restlet sont donnes par la figure
4.10. La classe LunchAtRoFApplication est la classe mre de lapplication, elle va grer
les ressources. Pour cela, elle possde des attributs consumer et menu. Le premier est
une collection java (ConcurrentMap) permettant de grer les accs concurrents aux don-
nes contenues. Cest une map associant lidentifiant dun utilisateur, son numro dem-
ploy, une instance de type RoFConsummer. Ainsi chaque instance de consommateur
du systme est gr par cette structure. Lattribut menu, correspond au menu du jour
gnral. Chaque menu est mis jour automatiquement par le systme, qui vrifie les
dates des menus de la consommation du service Web.
Cette classe dfinie galement, les routes ou chemins daccs aux ressources. Le list-
ing 4.9 illustre plusieurs dfinitions de lien entre un chemin daccs une ressource
62
4.4 Web Service
63
Mise en uvre au travers dune architecture logicielle
et une classe ressource (cf. figure 4.10). Certains chemins sont paramtrables par des
filtres, chane de caractres variable entre accolades. Par exemple, le paramtre wurid
du chemin "/user/wurid/tray" permet de slectionner en fonction de lidentifiant le bon
consommateur et ensuite son plateau virtuel.
Avant dexcuter une des trois mthodes dsignes ci-dessus, une mthode dini-
tialisation du framework Restlet est excute automatiquement. Nous lavons redfinie
afin de traiter les filtres et ainsi slectionner les bonnes ressources ou objets mtiers. Le
listing 4.10 montre limplmentation de la mthode GET de la classe ressource grant
le plateau virtuel dun consommmateur.
64
4.4 Web Service
/ / G e n e r a t e a DOM document r e p r e s e n t i n g t h e c o n s u m e r
Document doc = representation . getDocument ( ) ;
doc . normalizeDocument ( ) ;
/ / R e t u r n s t h e XML r e p r e s e n t a t i o n o f t h i s document .
r e t u r n representation ;
} c a t c h ( IOException e ) {
e . printStackTrace ( ) ;
}
return null ;
}
...
}
Serveur dimages
Dans notre projet, chaque lment du menu est associ une illustration. Pour met-
tre disposition ces images, nous avons ajouter un serveur de fichiers statiques notre
application. Nous avons utilis pour cela le framework Restlet qui gre la notion de
rpertoire ddi et correspond un accs vers un rpertoire de notre serveur o se trouve
stockes les images. Les images seront donc accessible pas leur nom.
Nous avons donc mis en place un Web Service REST, bas sur le framework Java
Restlet, permettant :
de produire sous forme XML, la reprsentation des menus, des catgories de
menu, des produits par catgories, des caractristiques par produit, etc. ;
65
Mise en uvre au travers dune architecture logicielle
Les cas dutilisation utilisateur sont dcrits par le diagramme UML figure 4.11. Pour
rsumer, depuis son terminal mobile, lutilisateur doit avoir accs aux fonctionnalits
suivantes :
consultation du menu : les catgories, les produits avec leurs dtails,
consultation et gestion dun plateau virtuel du repas,
enregistrement de lapplication auprs de notre systme.
Parmi ces fonctionnalits, la manire dafficher les informations va rester sous la respon-
sabilit du concepteur de lapplication Smartphone. En effet, un jeu de mta-donnes
produit par le PEA va fournir la manire dont il est souhaitable que les informations
soient affiches, par exemple les donnes brutes vs histogramme de la valeur nutrition-
nelle des aliments. Dans ce prototype, seul le mode daffichage "donnes brutes" est
implment.
Vues de lapplication
La navigation entre les pages peut tre schmatise grce au diagramme UML dac-
tivit fig. 4.12.
La partie vue de lapplication est crite avec le langage de balises XAML et le code
joint en C#.
Il y a trois types de pages :
les pages de registration et de bienvenue ;
66
4.5 Application sur Smartphone
68
4.5 Application sur Smartphone
Lutilisateur du Smartphone est reprsent par la classe User, visible sur le dia-
gramme de classes (figure 4.14) des principales vues. Chacune des classes contient une
proprit User. Cet objet correspond lobjet RoFConsumer du module mtier du sys-
tme de diffusion et au concept Consumer de lontologie. Dans le cas de lutilisateur, la
liaison entre ces concepts dans lensemble du systme, se fait grce au numro dem-
ploy du consommateur. Il va nous permettre de pouvoir accder la ressource per-
sonnel sur le systme de diffusion, voir section 4.4 sur le Web Service et laccs au
menu personnalis. Par exemple, lurl http ://www.wur.nl/LunchAtRoF/user/11090/tray
permet dobtenir la ressource correspondant au plateau virtuel de lutilisateur dont li-
dentifiant est 11090.
1. Isolated Storage en anglais est un systme de fichier virtuel mis disposition pour stocker les
donnes des applications Silverlight. cf. http://msdn.microsoft.com/en-us/library/ff402541%28VS.92%
29.aspx
69
Mise en uvre au travers dune architecture logicielle
70
4.5 Application sur Smartphone
< R a d i o B u t t o n C o n t e n t = " " GroupName= " T r a y P r o d u c t s " G r i d . Row= " 1 " H e i g h t = " 58 "
H o r i z o n t a l A l i g n m e n t = " L e f t " Margin = " 0 , 0 , 0 , 0 " Name= " { B i n d i n g I d } "
V e r t i c a l A l i g n m e n t = " Top " Checked = " R B S e l e c t _ C h e c k e d " Width = " 64 " M i n H e i g h t = " 20 "
MinWidth= " 20 " / >
<Image S o u r c e = " { B i n d i n g I m a g e U r l } " H e i g h t = " 58 " Width = " 77 " V e r t i c a l A l i g n m e n t = " C e n t e r
" Margin = " 0 , 0 , 0 , 0 " / >
< S t a c k P a n e l Width = " 290 " H e i g h t = " 72 " V e r t i c a l A l i g n m e n t = " S t r e t c h " >
< T e x t B l o c k T e x t = " { B i n d i n g L a b e l } " V e r t i c a l A l i g n m e n t = " Top " T e x t W r a p p i n g = " Wrap "
F o n t S i z e = " 25 " F o r e g r o u n d = " White " F o n t F a m i l y = " Segoe WP" Margin = " 4 , 0 , 0 , 0 " / >
< T e x t B l o c k T e x t = " { B i n d i n g F i r s t C h a r a c t } " V e r t i c a l A l i g n m e n t = " Top " T e x t W r a p p i n g = "
Wrap " F o n t S i z e = " 18 " F o r e g r o u n d = " White " F o n t F a m i l y = " Segoe WP" Margin = " 6 , 0 , 0 , 0
" />
</ StackPanel>
<Image H e i g h t = " 30 " V i s i b i l i t y = " { B i n d i n g I M G K o o k V i s i b i l i t y } " Width = " 30 "
H o r i z o n t a l A l i g n m e n t = " L e f t " S o u r c e = " { B i n d i n g IMGKookSource } " Name= " IMGKook "
V e r t i c a l A l i g n m e n t =" Center " / >
</ StackPanel>
< / DataTemplate>
< / ListBox . ItemTemplate>
< / ListBox>
Dans le cas, du plateau virtuel, nous avons dvelopp les mthodes permettant de sup-
primer (DELETE) et ajouter (POST) des lments la ressources RoFTray de notre
systme.
Notons que nous avons choisi de faire appel au Web Service chaque changement
de vue, et non pas de charger la structure complte du menu au dpart. Ce choix a t
71
Mise en uvre au travers dune architecture logicielle
72
4.5 Application sur Smartphone
fait car un des scnarios, dvelopper dans une future version, prvois que les conseils
voluent en fonction de chaque choix de lutilisateur, ce qui impliquera de un recalcule
du menu personnalis.
Le diagramme de classes des modles de prsentation, figure 4.15, est proche des
autres modles dvelopps dans notre prototype par les classes cres. Par contre, les
relations entre elles sont plus forte car on utilise la composition de catgories dans un
menu, de produits dans une catgorie et le plateau, de caractristiques dans un produit.
La consquence est que la structure est moins souple mais correspond au modle de
navigation dfini (cf. figure 4.12)
Par rapport lontologie de dpart, nous navons utilis que les concepts ncessaires
lapplication Smartphone comme Category et Product. Ces concepts vont correspon-
dre directement deux classes du mme nom. Comme pour le module de la couche
mtier, une classe Item a t dfinie. Elle est compose de trois attributs dont id pour
lURI. Lattribut label de lobjet correspond la chane de caractres, afficher dans
la langue souhaite et name correspond largument de lURI. LURI va permettre de
lier les objets (catgorie, produit, caractristique, unit, etc.) travers larchitecture du
systme de connaissances jusquau Smartphone. De plus il permet didentifier et de
slectionner des objets et ainsi de naviguer travers les ressources (catgories, produits,
etc.), tant au niveau de lapplication Smartphone que du Web Service.
73
Mise en uvre au travers dune architecture logicielle
74
Chapitre 5
Conclusion
75
Conclusion
Ce travail ouvre des perspectives de recherche par exemple, sur lvolution dy-
namique des ontologies en fonction du comportement de lutilisateur et de ses ractions
aux conseils donns, diffrents pas de temps, y compris en temps rel. Une autre per-
spective a trait lamlioration de la communication entre les diffrents modles : de
connaissance, mtier et consultation.
76
Bibliographie
77
BIBLIOGRAPHIE
Manola F. & Miller E., (Rd.) (2004). RDF Primer. W3C Recommendation. World
Wide Web Consortium. Disponible ladresse : http://www.w3.org/TR/rdf-primer/.
Mcguinness D.L. & van Harmelen F. (2004). OWL web ontology language overview.
W3C recommendation, W3C. Disponible ladresse : http://www.w3.org/TR/
owl-features/.
Noy N. & Mcguinness D. (2001). Ontology development 101 : A guide to creating your
first ontology. Rap. Tech..
Noy N. & Rector A. (2006). Defining n-ary relations on the semantic web. W3C Working
Group Note. Disponible ladresse http://www.w3.org/TR/swbp-n-aryRelations.
Prudhommeaux E. & Seaborne A. (2008). SPARQL Query Language for RDF. W3C
Recommendation. Disponible ladresse : http://www.w3.org/TR/rdf-sparql-query/.
Psych V., Mendes O. & Bourdeau J. (2003). Apport de lingnierie ontologique aux
environnements de formation distance. Revue des Sciences et Technologies de lIn-
formation et de la Communication pour lEducation et la Formation (STICEF), 10,
89126. Disponible ladresse http://sticef.univ-lemans.fr/num/vol2003/psyche-06s/
sticef_2003_psyche_06s.htm.
Rector A. & Welty C. (2005). Simple part-whole relations in owl ontologies. W3C
Working Draft. Disponible ladresse http://www.w3.org/2001/sw/BestPractices/
OEP/SimplePartWhole/index.html.
Rijgersberg H., Wigham M. & Top J. (2010). How semantics can improve engineer-
ing processes : A case of units of measure and quantities. Advanced Engineering
Informatics. Accepted.
Segaran T., Taylor J. & Evans C. (2009). Programming the Semantic Web. OReilly,
Cambridge, MA.
Stubenitsky K., Aaron J., Catt S. & Mela D. (2000). The influence of recipe modification
and nutritional information on restaurant food acceptance and macronutrient intakes.
Public Health Nutrition, 3(02), 201209.
78
Annexes
79
Annexe A
81
/RJRXW_0\$FFRXQW_$GPLQ7RROV
:HLJKWLQNJ
0RGLI\6XUYH\ 3$*(&21',7,216 '21( 35(9,(: 35,17
_0RGLI\6XUYH\ 7KLVVXUYH\LVFXUUHQWO\/2&.('IRUHGLWLQJE\$QQH7LUHDX,WZLOOEHFRPHDYDLODEOHDIWHUWKH\XQORFNLWRUDIWHUPLQXWHV
KDVSDVVHGZLWKQRDFWLYLW\&OLFNKHUHWRXQORFNDQGH[LWWKHVXUYH\
7KHPRGLI\VXUYH\SDJH
FRQWDLQVDOOWKHIXQFWLRQV
UHODWHGWR6XUYH\'HVLJQ >1R7LWOH(QWHUHG@
7KLVVXUYH\KDVDWOHDVWRQHUHVSRQVH2QO\OLPLWHGFKDQJHVDUHDOORZHGRQDVXUYH\ZLWKUHVSRQVHV7RIXOO\HGLWWKLV
VXUYH\\RXPXVWILUVWGHOHWHDOORIWKHUHVSRQVHVZKLFKFDQEHGRQHE\FOLFNLQJKHUH
3DJH+HOS
5YG7986WXGHQWHQ+XLGLJHHQTXHWH
7H[W5HSODFHPHQW :RUNHPDLODGGUHVVILUVWQDPHODVWQDPH#ZXUQOLIHPSOR\HGDW:85
>1R7LWOH(QWHUHG@
&RS\WKHWH[WWRNHQIURP
WKHEHORZOLVWSDVWHWKH
FRSLHGWH[WLQWRWKH
GHVLUHGORFDWLRQLQWKH
VXUYH\
:HOFRPHWRWKHLQWDNHVXUYH\RIWKH5HVWDXUDQWRIWKH)XWXUH
8VHU'DWD7RNHQV
7KHVXUYH\
VOHQJWKLVDSSUR[LPDWHO\TXHVWLRQV$OOTXHVWLRQVPXVWEHDQVZHUHG3HUTXHVWLRQRQO\D
(PDLO'DWD7RNHQV :KHUHDUH\RXHPSOR\HG"
VLQJOHDQVZHULVDOORZHG
+LGGHQ'DWD7RNHQV :85RWKHUV$GPLQLVWUDWLRQ)%VWDII
<RXUILUVWLPSUHVVLRQLVXVXDOO\EHVW'RQ
WRYHUWKLQN\RXUDQVZHUWKHUHDUHQRJRRGRUEDGDQVZHUV
,WHP$QVZHU7RNHQV
$)6*
36*
3ULQW6XUYH\
$6*
3UHYLHZ7KLV6XUYH\ (6*
>1R7LWOH(QWHUHG@
*R7R6XUYH\/LVW
:KDWLV\RXUKLJKHVWOHYHORIHGXFDWLRQ"
*LYHQ$FFHVV&RGH
>1R7LWOH(QWHUHG@
)LUVWQDPH
:KDWLV\RXUKRXVHKROGW\SH"
VLQJOH
OLYLQJWRJHWKHUZLWKRXWFKLOGUHQ
OLYLQJWRJHWKHUFKLOGUHQRXWRIKRPH
/DVWQDPH
ZLWKFKLOGUHQSDUWO\DWKRPH\RXQJHVWXQGHU
ZLWKFKLOGUHQSDUWO\DWKRPH\RXQJHVW!\HDU
RWKHU
:KDWDUHWKHILUVWIRXUILJXUHVRI\RXU]LSFRGHKRPHDGGUHVV"
<HDURIELUWK
+RZGR\RXXVXDOO\WUDYHOWRZRUN"
>1R7LWOH(QWHUHG@
*HQGHU
>1R7LWOH(QWHUHG@
+RZRIWHQGR\RXGRVSRUWVZHHNO\DYHUDJH"
/HQJWKLQFP
,IIRRGWDVWHVJRRGWR\RXGR\RXHDWPRUHWKDQXVXDO"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
,QWKHODVW\HDUVZKHUHGLG\RXWUDYHOWRSULYDWHO\DQGSURIHVVLRQDOO\"
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXKDYHQRWKLQJWRGR"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
,I\RXKDYHSXWRQZHLJKWGR\RXHDWOHVVWKDQ\RXXVXDOO\GR"
:KHUHGR\RXRUVRPHERG\HOVHLQ\RXUKRXVHKROGJRVKRSSLQJIRRGSURGXFWV"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
DOZD\V RIWHQ UHJXODUO\ UDUHO\ QHYHU
6XSHUPDUNHW
6PDOOHUVKRSV
,QWHUQHW
0DUNHW
3HWUROVWDWLRQVHWF
(DWLQJRXWRIKRPH >1R7LWOH(QWHUHG@
+RZRIWHQGR\RXEX\RUJDQLFDQGRUIDLUWUDGHSURGXFWV"
DOZD\V
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHGHSUHVVHGRUGLVFRXUDJHG"
RIWHQ 1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
UHJXODUO\
UDUHO\
QHYHU
,IIRRGVPHOOVDQGORRNVJRRGGR\RXHDWPRUHWKDQXVXDO"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
:KDWLV\RXUUHDFWLRQWRWKHIROORZLQJVWDWHPHQWV
1HLWKHU +RZRIWHQGR\RXUHIXVHIRRGRUGULQNRIIHUHGEHFDXVH\RXDUHFRQFHUQHGDERXW\RXUZHLJKW"
'LVDJUHH 'LVDJUHH 'LVDJUHH GLVDJUHH $JUHH $JUHH $JUHH
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
VWURQJOH PRGHUDWHO\ VOLJKWO\ QRU VOLJKWO\ PRGHUDWHO\ VWURQJO\
DJUHH
,DPFRQVWDQWO\
VDPSOLQJQHZDQG
GLIIHUHQWIRRGV
,GRQ
WWUXVWQHZ
IRRGV
,I,GRQ
WNQRZ 'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHIHHOLQJORQHO\"
ZKDWLVLQDIRRG, 1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
ZRQ
WWU\LW
,OLNHIRRGVIURP
GLIIHUHQWFRXQWULHV
(WKQLFIRRGORRNV
WRRZHLUGWRHDW
$WGLQQHUSDUWLHV,
ZLOOWU\QHZIRRG
,DPDIUDLGWRHDW
WKLQJV,KDYH >1R7LWOH(QWHUHG@
QHYHUKDGEHIRUH
,DPYHU\
SDUWLFXODUDERXW
WKHIRRGV,ZLOO
HDW ,I\RXVHHRUVPHOOVRPHWKLQJGHOLFLRXVGR\RXKDYHDGHVLUHWRHDWLW"
,ZLOOHDWDOPRVW
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
DQ\WKLQJ
,OLNHWRWU\QHZ
HWKQLFUHVWDXUDQWV
'R\RXKDYHDGHVLUHWRHDWZKHQVRPHERG\OHWV\RXGRZQ"
>1R7LWOH(QWHUHG@
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHWKHGHVLUHWRHDWZKHQ\RXDUHLUULWDWHG"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXWU\WRHDWOHVVDWPHDOWLPHVWKDQ\RXZRXOGOLNHWRHDW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
,I\RXKDYHVRPHWKLQJGHOLFLRXVWRHDWGR\RXHDWLWVWUDLJKWDZD\"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXILQGLWKDUGWRUHVLVWHDWLQJGHOLFLRXVIRRGV"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
'R\RXGHOLEHUDWHO\HDWOHVVLQRUGHUQRWWREHFRPHKHDYLHU"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHFURVV"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHDGHVLUHWRHDWZKHQWKLQJVDUHJRLQJDJDLQVW\RXRUZKHQWKLQJVKDYHJRQHZURQJ"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXZDWFKH[DFWO\ZKDW\RXHDW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
,I\RXZDONSDVWDVQDFNEDURUDFDIpGR\RXKDYHWKHGHVLUHWREX\VRPHWKLQJGHOLFLRXV"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
,I\RXZDONSDVWWKHEDNHUGR\RXKDYHWKHGHVLUHWREX\VRPHWKLQJGHOLFLRXV"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHDSSURDFKLQJVRPHWKLQJXQSOHDVDQWWRKDSSHQ"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHWKHGHVLUHWRHDWZKHQ\RXDUHHPRWLRQDOO\XSVHW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
+RZRIWHQGR\RXWU\QRWWRHDWEHWZHHQPHDOVEHFDXVH\RXDUHZDWFKLQJ\RXUZHLJKW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXGHOLEHUDWHO\HDWIRRGVWKDWDUHVOLPPLQJ"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXHDWPRUHWKDQXVXDOZKHQ\RXVHHRWKHUVHDWLQJ"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
,I\RXVHHRWKHUVHDWLQJGR\RXDOVRKDYHWKHGHVLUHWRHDW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHERUHGRUUHVWOHVV"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
:KHQ\RXKDYHHDWHQWRRPXFKGR\RXHDWOHVVWKDQXVXDOWKHIROORZLQJGD\V"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
'R\RXJHWWKHGHVLUHWRHDWZKHQ\RXDUHDQ[LRXVZRUULHGRUWHQVH"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
+RZRIWHQLQWKHHYHQLQJGR\RXWU\QRWWRHDWEHFDXVH\RXDUHZDWFKLQJ\RXUZHLJKW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHIULJKWHQHG"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXWDNHLQWRDFFRXQW\RXUZHLJKWZLWKZKDW\RXHDW"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
'R\RXKDYHDGHVLUHWRHDWZKHQ\RXDUHGLVDSSRLQWHG"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
>1R7LWOH(QWHUHG@
:KHQ\RXDUHSUHSDULQJDPHDODUH\RXLQFOLQHGWRHDWVRPHWKLQJ"
1HYHU 5DUHO\ 6RPHWLPHV 2IWHQ 9HU\RIWHQ
3RZHUHGE\6HOHFW6XUYH\1(7Y
&RS\ULJKW:DJHQLQJHQ85$JURWHFKQRORJ\DQG)RRG6FLHQFHV*URXS
Annexe B
87
The ontologies
Anne Tireau
3
Some scenarios for the application
During the week Johns eaten at the Restaurant of the Future. We are Wednesday and
so we know what he ate the last 2 days (Tab. 1.1). We also know of what his lunch is
composed from the beginning of his coming in the RoF.
From the beginning of the week Wim has eaten at the Restaurant of the Future. We
are Wednesday and so we know what he ate the last 2 days (Tab. 1.2). We also know of
what his lunch is composed from the beginning of his coming in the RoF.
5 6
1.4 Feedback scenarios Some scenarios for the application
drink most often (fruit juice or warm tea). Like a lot of women she loves chocolate and
she often gives in the temptation to take chocolate dessert or warm chocolate at the end
of the lunch, even if she has eaten ones fill. She makes a bit sports the weekend (hike in F IGURE 1.2 Johns e-mail
the nature) and she comes every days with her bicycle (against the pollution of course).
Web solution John is at his office and log on his count at the RoF Advise Website.
During the week Esthers eaten at the Restaurant of the Future. We are Wednesday Maybe he received an e-mail to inform him that he can connect to it. Then he can
and so we know what she ate the last 2 days (Tab. 1.3). We also know of what her lunch navigate through the product available at the RoF. The products are sorted for him. He
is composed from the beginning of her coming in the RoF. has access to a predefine selection of food and information about their, but also to all
the other food available today.
TABLE 1.3 Esthers lunch
Monday Tuesday Web/Wap solution for mobile The early solution could have or be a mobile phone
Juice & Smoothies Tiramisu version and be used at the RoF.
Salads Rauwkost/ saladebar middel
Freshmade Soup Soep Courgette SmartphoneApps solution John synchronize his Smartphone to update the RoF Ad-
Hot meals & snacks Zalmmoot Omelet Met Kaas vise Apps at his office or with Wifi/3G access at the RoF. He can use it at the RoF.
Dessert & Juices Dessert 1,30
Coffee & Tea cappuccino
Wednesday scenarios
For the different solution, we choose Smartphone representation."
1.4 Feedback scenarios Preselected product solution The food are selected and sorted according :
From information about the person and the RoFs menu we want to advise our consu- the context of the lunch (mainly the daily menu of the RoF),
mer about food that could fit their. There are many solutions to advise them : by email, Johns preferences (what Johns likes and wants),
web or Smartphone. There also different solution to access to the information. Johns profile (Johns nutritive needs).
Question : What do we propose a menu (link between courses) or a products per
category ? In this document we consider that for each category we can advise one or
Means of communication
more product.
E-mail solution John is at his office and receives an e-mail around 11 oclock. This
e-mail contains a selection and a advise of foods for him (Fig. 1.2). John can print or After update his Smartphone John can watch on his Smartphone what are RoFAdvi-
just notice the e-mail advise and go to the RoF for the lunch. seApps proposes for him today. It could be at his office or at the RoF. He can navigate
through the RoFs categories (Fig. 1.3) and looking for informations about foods and
7 8
1.4 Feedback scenarios Some scenarios for the application
make his final choice. Smartphone and search what he wants to eat today. When he selects and item, the sys-
tem dynamically propose to him alternatives. These alternatives are selected and sorted
by the system according his preferences (Fig. 1.5).
Information displayed
Like food, the informations about food and their granularity are selected for John.
Not all the information are displayed by the system. There also are many means to dis-
play it. It could be Johns choice or determined by his knowledge about food (nutrition,
traceability, etc.). We could propose adding to raw data symbols to help (Fig. 1.7)
Dynamic alternatives solution In the same way that the early solution, John needs
to update his Smartphones RoFAdviseApps and maybe to have a Wifi/3G access (de-
pending of the technology chosen). Then at his office or at the RoF he can consult hes
9 10
1.4 Feedback scenarios
11
Determine the domain of the ontologies
13 14
2.7 At the restaurant Determine the domain of the ontologies
Does he often drink wine, beer or an other alcoholic drink ? With what does it combine well ?
How many course of a meal has one lunch ? What is its origin ? (Foreign speciality...)
Does he take a coffee, tea or chocolate after lunch ? What is its traceability ? (Fair trade)
How does it look ? smell ?
Is he fond of good food ? Is a photo of it available ?
What is more important quality or quantity ?
How much does he eat ?
2.9 Type of Feedback
What taste does he prefer ? Sweet ? Salt ? Hot ? Spicy ? ...
Does exist food that he unconditional loves or hates ? What kind of feedback / information does he need ?
Does he provide information on where to find the food ?
How does he choose his food : by smell, look... ? Does he need alternatives ?
Which information does he need ? (organic...) If he just need raw information about food ? What kind ?
Does he want eating a food if it looks good or if someone eats it ? Have he need to access his lunch history ?
Does he like trying new food ? Does he prefer receive an email with the menu and/or proposition before going to
Does he like vary his menu ? lunch ?
Does he need an interactive navigation among the foods information ?
Does he eat without being hungry ?
Does emotion/feel make he hungry or satiate ?
Does he feel satiated when his meal was finished ?
2.8 Food
In what category is it ? (Fruit...)
What are their nutritive properties ?
It is newer in the menu ? Special menu ? (Christmas...)
15 16
Important terms in the ontology
Ingredient : composition of the Product (tomato, salmon, cumin...), all the name ?
availability ? 3.4 About Preference
Origin of ingredient, product. This is information about traceability.
Category of the ingredients (vegetable, fruit, meat, fish...)
What does the consumer like (and would want) ?
Nutritive properties : Energy (unit), Fat (unit), Vitamin, etc. Food
Appearance of the Product / Presentation (look, smell, color, etc.) Context
Recipe properties : temperature, fried food,... Objective
17 18
3.6 About Person
19
Annexe C
99
Essential factors that influence eating and drinking behaviour and food choice
FBR-CS MR FBR-CS FBR-CS MR LEI
Age/Gender Coping
FBR-CS Physical condition Assimilation FBR-CS
HV Sensory acuity Psychological Habituation
2.2 factors 4.2
3
Extrinsic product
characteristics
Complexity Expectations
Adaptation Trust in Industry
FBR-CS 6 MR LEI
& Government
Dynamic contrast
1.2 5.2
Irritation Claims
Boredom Brand label Integrity Societal beliefs
FBR-CS Sustainability Risk perception MR LEI
Aversion Packaging norms values
1.3 6.1 6.2 6.3 5.3
103
Annexe E
Concept de MeasurementCharacteristic
105
Annexe F
cons:Consumer
a owl:Class ;
rdfs:comment " P e r s o n who i s a c o n s u m e r o f t h e R e s t a u r a n t o f t h e F u t u r e "@en ;
rdfs:label " Consumer " ^^xsd:string ;
rdfs:subClassOf owl:Thing ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty cons:hasWURCardNumber
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty cons:hasLastName
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty cons:hasFirstName
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty cons:hasGender
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:cardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty cons:hasHeight
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:allValuesFrom cons:Height ;
owl:onProperty cons:hasHeight
] ;
rdfs:subClassOf
[ a owl:Restriction ;
owl:minCardinality " 1 " ^^xsd:nonNegativeInteger ;
owl:onProperty cons:hasWeight
] ;
rdfs:subClassOf
[ a owl:Restriction ;
107
Turtle code of Consumer
owl:allValuesFrom cons:Weight ;
owl:onProperty cons:hasWeight
] .
108
Annexe G
109
Productparameters
SCOMP0056\RvdT_DataModel
Data-
model
SCOMP0056\RvdT_RawData
Backup-protocol
- PersoonID - ProductID
- producten - nutrienten - Weeknummer
Data- - prijs - ingredienten - Menuitems
bronnen - tijdstip van - kcal (aanbod)
geborgd - ...
afrekenen
- ... Sync-protocol
Data-
bronnen Sodexo
Kassa DB Sodexo DB? menu-cyclus
DB?
G.2 Infrastructure des produits
111
Persoonsparameters
SCOMP0056\RvdT_DataModel
Data-
model
SCOMP0056\RvdT_RawData
Backup-protocol
Persoon: Persoon: Gewicht:
- naam Persoon: - tijdstip
- naam
- leeftijd - naam - gewicht
Data- - e-mail
- opgegeven - e-mail
bronnen - WUR-card
geborgd gewicht - pasnummer
nummer
- lengte Sync-pro
- geslacht
Data-
bronnen Acces DB met Wageningen
Internetenqute Weegschaal
persoon-pas- Basis
database
koppeling Administratie
G.3 Infrastructure des donnes intgre
113
Parameter RVDT Weather
- Lighting RVDT [string] - Outdoor [float] < C>
- RVDT doors open / close [boolean] - Sun [float] <%>
- RVDT curtains open / close [boolean] - Precipitation [string]
Assortment - Utilization [float] <%> - Weather forecast [string]
- Bestaat_uit: Menu items - Indoor temperature [float] < C>
- Menu-cycle [string] - Area smell [string]
- Sound [string]
- Cash position [string]
Staff
- Sex [list]
- Age [int] <jaar>
Menu item - Behavior [string]
- Ingredients [string]
- Nutritional value [string]
- Energy value [string]
- Weight [float] <kg> Choice behavior
- Price [float] <Eur> - Invloed_van: Environmental factors
- Category [string] - Selectie_van: Menu item Environment Factor
- Presentation [string] - Entry in electoral area RVDT [time] Buffet
- Operation: Staff
- Description [string] - Leaving select portion RVDT [time] - Classification: Menu item
- Preparation: Buffets
- Crockery size [string] - Gait [[float] [float]] - Position [string]
- Device: Furniture
- Portion size [string] - Viewing habits [string] - Lighting [string]
- Opportunity: Special occasion
- Water at lunch? [Boolean] - Actuele_weer: Weather
- Packed lunch from home [boolean] - Settings: Parameter RVDT
Waste
- Product: Menu items Special occasion
- Weggooier: Person - Days of the week [list]
- Volume [float] <kg> - Season [list]
Individual Eetgedrag - Description [string]
- GFT / rest [list] - Invloed_van: Environmental factors
- Order of consumption [string]
- Hapsnelheid [float] <hap/minuut>
- Chewing time [float] <kauwbeweging / minuut>
- Hapgrootte [string]
Person - Meal time [float] <sec>
- Sex [list] Furniture
- Seating [string]
- BMI [float] - Heeft_stoel: Chair
- Seat selection [string]
- Age [int] <jaar> - Heeft_tafel: Table
- Preferred feedback [string]
- Has travel behavior: choice behavior
- Does eating: Individual Eetgedra
Table
Groepseetgedrag - Description [string]
Group Chair
- Invloed_van: Environmental factors - Position [string]
- Groepseetgedrag: Groepseetgedrag - Description [string]
- Average meal duration [float] <sec>
- Bestaat_uit: Persons - Position [string]
- Imitation eating? [boolean]
- Group size [int]
- Animated nature [string]
Annexe H
Vocabulaire partag
115
Vocabulaire partag