-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOntologytex.tex
98 lines (81 loc) · 12.9 KB
/
Ontologytex.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
\input{preamble.tex}
\begin{document}
\maketitlepage
%\section{Ontology}
\abstract{
\noindent
We are building an application which allows the user to keep track of the amount of calories that he/she eats a day. The application provides a way to track the desired amount of food the user should eat in order to stay on the same weight. Based on the amount of calories the user needs, some recipes are proposed. The user could provide a desired weight, which will lead to an adaptation of the needed calories intake.}
\section{Introduction}
This report elaborates on the process of creating the ontology (which is included as attachment to this document) for the course Open Information Systems. It describes the organization within our team and how the collaboration with the other teams took place. It shows who contributed to the ontology, which aspects went smoothly and which parts of the ontology were points of discussion.
%\newpage
\section{Ontology}
\subsection{Organization}
In order to be able to communicate easily between the different groups we decided, after some initial contact on Facebook, to create a slack channel. This channel was created by Sander Lenearts and at least one person from each group was contacted so all the groups and all their members could join. This slack channel has as an advantage that it was possible to start an initial discussion during the vacation period without having to have everybody physically present at the same place. It was also possible to discus between the food and exercise groups, while providing the option to pin certain decisions and files.\\ \\
We also used Google Doc files that allows for collaboration on a single document. This was used to type out the glossaries, definitions and conceptual schema's.
\subsection{Meetings}
In the first meeting that took place on slack. We wanted to create a global ontology. The only thing that both the food groups and the exercises groups had in common was energy. We decided on a definition that both had a relationship to food and to exercises without getting too technical. Another point of discussion was the unit. Some people wanted to have the SI unit (Joule) but since the unit calories is more widely used, it was decided to use calories as unit. Since there were no more commonalities, we decided to work with the food group separately. This was done in a different slack channel were each group was identified using a separate avatar.
\newline
\newline
\noindent
The second slack meeting, for the food team, there was at least one member of every group besides group 8. We started with a definition for an Ingredient. A huge point of discussion was whether an ingredient had a brand. Group 5 really wanted this incorporated while this was the only group that needed this aspect. It was proposed that the brand could be part of a more specialized ontology but group 5 didn't agree with this so it was decided that brands would be part of it but, clearly stating that they were an optional property. Since slack has as drawback that it doesn't keep the complete channel history (in the free version) and since discussions on slack can be rather uncoordinated we decided to have the next meeting face to face.
\newline
\newline
\noindent
Every group had to prepare a glossary and search for entities in their database. During this meeting, that took place Monday 11 April in the morning, all groups but one, group 8, were represented by at least one member. Group 8 did not reply in the slack-channel, the Facebook chat or on the forum on PointCarr\'e. We discussed other ways of contacting them, and decided we would personally contact them during another class. During this meeting we discussed the first food ontology. There was a discussion about whether only to incorporate calories or if other nutritious values were necessary as well. In the end we decided to go with the definition that group 7 proposed since every group was able to map on this definition and since this was the design that was general enough so that the ontology could be easier to reuse. The incorporation of recipe, food and ingredient, and their relation was one of the easiest to decide on. Furthermore we discussed that everybody had some kind of concept to describe either ingredients or recipes, tags in our case. But since the definition of this was so different for each group we settled on not including them at this point in our ontology and we noted that we can always come back to it. During this meeting the focus however did seem to be a lot on how our databases were designed and sometimes group 5 did seem to focus too much on their specific implementation. After agreeing on most definitions and almost finishing the basic ontology, someone noticed that calories is not a nutritional value. We had a discussion whether we should change it and put calorie in the ingredient entity or leave it that way. Where group 5 proposed to put calories in ingredients and have an extra data property that would enable us to use the energetic value of an ingredient in joule or in kcal. Because calories did fit our personal definition of nutritional values, we left it the way we first agreed to it because every group could map onto this ontology. The collaboration went good and we had one person typing our glossary in a Google doc while somebody else drew the different entities on the blackboard.
\newline
\newline
\noindent
During the evening meeting of Monday 11 April, every group was present but group 8. During this meeting we had the intend to put the ontology in web Protégé. We encountered some difficulties with the platform and decided to ask for more information and get together another day.
\newline
\newline
\noindent
We tried having another meeting on Wednesday 13 April where group 2 and group 1 tried putting the ontology in Web Protégé. Since we still encountered problems we decided to send another mail for more information and ask extra information during the next class of Open Information Systems.
\newline
\newline
\noindent
During the meeting of Monday 18 April, after having asked questions during the classes that day, all groups were present. We put the ontology in the local version of prot\'eg\'e. Furthermore we had an extra discussion since we didn't want to have calories in the nutritional value since we didn't like the fact that calories weren't in fact nutritional values. Group 5 also brought up that they didn't like the relationship with amount/nutritional value since it was too complex. They proposed (again) to have an extra data property \emph{energy} on the ingredient class. After hearing the arguments it was decided to change the name, since calories aren't nutrients. But to keep the relationship with amount(changed name to quantity since this is more informative)/nutritional value since this one is more general. We like to note that while groups 8 and 4 where present they didn't have any input.\\ \\
We also faced the issue of adding an extra class between ingredient and nutritional value. This is not strictly necessary but because we also had a \emph{linking} class between recipe and ingredient we decided to add this as well. This because otherwise ingredient class would have a data property amount, which is not very generic as other applications might be interested in only the ingredient class. During this meeting some name changes where made because they where clearer.
\subsection{Team Organization}
<<<<<<< HEAD
Since Arno De Witte was on vacation during spring break, both Jolien Declerck and Silke Verhaeghe attended the first two slack meetings and the first real life meeting. In case we weren't sure of certain aspects we could always reach Arno and a global overview of the decisions was given after each meeting. For the rest of the meetings everyone of our group was present. Arno was the one to apply the remarks of the teacher to our current database/Conceptual schema. Writing the report was a group effort.
=======
Since Arno De Witte was unavailable spring break, both Jolien Declerck and Silke Verhaeghe attended the first two slack meetings and the first real life meeting. In case we weren't sure of certain aspects we could always reach Arno, and a global overview of the decisions was given after each meeting. For the rest of the meetings everyone of our group was present. Arno was the one to apply the remarks of the teacher to our current database/Conceptual schema. Writing the report was a group effort.
>>>>>>> origin/master
\subsection{Other discussions}
We discussed what other groups had in common with our proposal. Because there where no things that where worthwhile exchanging we did not add an extra ontology.
\newline
\newline
\noindent
We had the discussion with all of the groups whether or not we should exchange information about our users or the accounts. We did not see any benefits and for privacy reasons for the user we decided not to exchange user information and therefore not include this in the ontology.
\newline
\newline
\noindent
The day before the deadline, a point about adding disjointness rules to the ontology. This was proposed by Sander Lenaerts (Group 1), however some groups (2 and 7) wanted to keep the already decided on ontology as the deadline neared and this did not yield a high priority. However without the consent of all groups, a adapted ontology was pinned in the slack channel. Some groups, including ours, had to change their document last minute to comply with this change.
\subsection{Ontology explained}
The ontology is centered around the ingredient class. An ingredient was the thing we all had in common to start with. Ingredients have nutritional values like sugar, salt and calories, specified in the list of nutritive values. We have decided to make an extra class nutritive value to specify this. Because we need to be able to have multiple nutritive values for one ingredient, we have added the nutritive value quantity class. This was necessary for some of the groups in order to be able to map to the ontology. Here you can specify the quantity specified for a nutritive value for 100 gram. It also provides with a single class for nutritive values, which would otherwise be ``polluted" with a unit and an amount.
\\ \\
Ingredients can also be combined into a recipe. We have also added an ingredient quantity class for the same reason we added the nutritive value quantity. A recipe can have multiple ingredients combined. The ingredient quantity class specifies the quantity needed for the ingredient in a specific recipe. We have also provided the unit of quantity. Combining some ingredients result into a recipe. The result of a recipe is something that we can eat so we have classified this as food. There is also a possibility to provide steps in order to complete a recipe. Steps consists of an ordering number and the description of the step.
\\ \\
Because we have made this decision, all groups can map onto it. In our case, not every ingredient is combined into a recipe but it is still food. Therefore we can say for example, one apple is the ingredient for eating an apple, it does not specify any steps. Via this way we can say that an apple is a food.
\\ \\
We did not add a link between food and ingredient. This is because in the open world assumption a food can also be an ingredient. Initially it was provided to add a link but some groups protested because they did not see the benefit of it so we left it out.
\section{Glossary}
\textit{Recipe} \\
A collection of ingredients and/or the steps necessary to combine the ingredients into some food. It contains a list of ingredients with their quantity, a list of steps to complete the recipe and a link to food. \\ \\
\textit{Food} \\
Any substance that can be eaten or drunk. When consumed, it provides a nutrition. Food can be an ingredient or the result of a recipe. It only has a name. \\ \\
\textit{Ingredient} \\
An ingredient is a substance containing nutrients; an ingredient can be a food. It contains an optional brand, a name and a list of nutritive values with their quantity. \\ \\
\textit{Ingredient Quantity} \\
The link between a recipe and an ingredient.
It depicts the amount of some ingredient necessary to complete a recipe.
It contains a reference to the ingredient, a quantity and the unit for which the quantity is specified. This can be liter, a table spoon or something similar.
\\ \\
\textit{Nutritive value} \\
A substance that provides nourishment essential for the maintenance of life and for growth. For example fat, sugar, carbohydrate, protein, sodium. This contains only a name. \\ \\
\textit{Nutritive Value Quantity} \\
The link between a nutrition and an ingredient.
It depicts the amount of some nutrient per 100 gram of some ingredient. This contains an ID of nutritive value, a quantity and the unit for which the quantity is specified.\\ \\
\textit{Recipe Step} \\
A step in the preparation process of a recipe. A step has a ordering number starting from 1. A step has a number for ordering and a string as a human readable description. This contains an order number which specifies the order of the steps and a description.
\end{document}