Gastrophysics and follies

Yes, turns out there is a science of eating, which is called gastrophysics, and a popular science introduction to the emerging field was published in an accessible book this year by Charles Spence (Professor [!] Charles Spence, as the front cover says), called, unsurprisingly, Gastrophysics—the new science of eating. The ‘follies’ I added to the blog post title refers to the non-science parts of the book, which is a polite term that makes it a nice alliteration in the pronunciation of the post’s title. The first part of this post is about the interesting content of the book; the second part about certain downsides.

The good and interesting chapters

Given that some people don’t even believe there’s a science to food (there is, a lot!), it is perhaps even a step beyond to contemplate there can be such thing as a science for the act of eating and drinking itself. Turns out—quite convincingly in the first couple of chapters of the book—that there’s more to eating than meets the eye. Or taste bud. Or touch. Or nose. Or ear. Yes, the ear is involved too: e.g., there’s a crispy or crunchy sound when eating, say, crisps or corn flakes, and it is perceived as an indicator of the freshness of the crisps/cornflakes. When it doesn’t crunch as well, the ratings are lower, for there’s the impression of staleness or limpness to it. The nose plays two parts: smelling the aroma before eating (olfactory) and when swallowing as volatile compounds are released in your throat that reach your nose from the back when breathing out (i.e., retronasal).

The first five chapters of the books are the best, covering taste, smell, sight, sound, and touch. They present easily readable interesting information that is based on published scientific experiments. Like that drinking with a straw ruins the smell-component of the liquid (and so does drinking from a bottle) cf drinking from a glass that sets the aromas free to combine the smell with the taste for a better overall evaluation of the drink. Or take the odd (?) thing that frozen strawberry dessert tastes sweeter from a white bowl than a black one, as is eating it from a round plate cf. from an angular plate. Turns out there’s some neuroscience to shapes (and labels) that may explain the latter. If you think touch and cutlery don’t matter: it’s been investigated, and it does. The heavy cutlery makes the food taste better. It’s surface matters, too. The mouth feel isn’t the same when eating with a plain spoon vs. from a spoon that was first dipped in lemon juice and then in sugar or ground coffee (let it dry first).

There is indeed, as the intro says, some fun fact on each of these pages. It is easy to see that these insights also can be interesting to play with for one’s dinner as well as being useful to the food industry, and to food science, be it to figure out the chemistry behind it or how to change the product, the production process, or even just the packaging. Some companies did so already. Like when you open a bag of (relatively cheap-ish) ground coffee: the smell is great, but that’s only because some extra aroma was added in the sealed air when it was packaged. Re-open the container (assuming you’ve transferred it into one), and the same coffee smell does not greet you anymore. The beat of the background music apparently also affects the speed of masticating. Of course, the basics of this sort of stuff were already known decades ago. For instance, the smell of fresh bread in the supermarket is most likely aroma in the airco, not the actual baking all the time when the shop is open (shown to increase buying bread, if not more), and the beat of the music in the supermarket affects your walking speed.

On those downsides of the book

After these chapters, it gradually goes downhill with the book’s contents (not necessarily the topics). There are still a few interesting science-y things to be learned from the research into airline food. For instance, that the overall ‘experience’ is different because of lower humidity (among other things) so your nose dries out and thus detects less aroma. They throw more sauce and more aromatic components into the food being served up in the air. However, the rest descends into a bunch of anecdotes and blabla about fancy restaurants, with the sources not being solid scientific outlets anymore, but mostly shoddy newspaper articles. Yes, I’m one of those who checks the footnotes (annoyingly as endnotes, but one can’t blame the author for that sort of publisher’s mistake). Worse, it gives the impression of being research-based, because it was so in the preceding chapters. Don’t be fooled by the notes in, especially, chapters 9-12. To give an example, there’s a cool-sounding section on “do robot cooks make good chefs?” in the ‘digital dining’ chapter. One expects an answer; but no, forget that. There’s some hyperbole with the author’s unfounded opinion and, to top it off, a derogatory remark about his wife probably getting excited about a 50K GBP kitchen gadget. Another example out of very many of this type: some opinion by some journalist who ate some day, in casu at über-fancy way-too-expensive-for-the-general-reader Pairet’s Ultraviolet (note 25 on p207). Daily Telegraph, New York Times, Independent, BBC, Condiment junkie, Daily Mail Online, more Daily Mail, BBC, FT Weekend Magazine, Wired, Newsweek etc. etc. Come on! Seriously?! It is supposed to be a popsci book, so then please don’t waste my time with useless anecdotes and gut-feeling opinions without (easily digestible) scientific explanations. Or they should have split the book in two: I) popsci and II) skippable waffle that any science editor ought not to have permitted to pass the popsci book writing and publication process. Professor Spence is encouraged to reflect a little on having gone down on a slippery slope a bit too much.

In closing

Although I couldn’t bear to finish reading the ‘experiential meal’ chapter, I did read the rest, and the final chapter. As any good meal that has to have a good start and finish, the final chapter is fine, including the closing [almost] with the Italian Futurists of the 1930s (or: weird dishes aren’t so novel after all). As to the suggestions for creating your own futurist dinner party, I can’t withhold here the final part of the list:

In conclusion: the book is worth reading, especially the first part. Cooking up a few experiments of my own sounds like a nice pastime.

Conjuring up or enhancing a new subdiscipline, say, gastromatics, computational gastronomy, or digital gastronomy could be fun. The first term is a bit too close to gastromatic (the first search hits are about personnel management software in catering), though, and the second one has been appropriated by the data mining and Big Data crowd already. Digital gastronomy has been coined as well and seems more inclusive on the technology side than the other two. If it all sounds far-fetched, here’s a small sampling: there are already computer cooking contests (at the case-based reasoning conferences) for coming up with the best recipe given certain constraints, a computational analysis of culinary evolution, data mining in food science and food pairing in Arab cuisine, robot cocktail makers are for sale (e.g., makr shakr and barbotics) and there’s also been research on robot baristas (e.g., the FusionBot and lots more), and more, much more, results over at least the past 10 years.


The isiZulu spellchecker seems to contribute to ‘intellectualisation’ of isiZulu

Perhaps putting ‘intellectualisation’ in sneer quotes isn’t nice, but I still find it an odd term to refer to a process of (in short, from [1]) coming up with new vocabulary for scientific speech, expression, objective thinking, and logical judgments in a natural language. In the country I grew up, terms in our language were, and still are, invented more because of a push against cultural imperialism and for home language promotion rather than some explicit process to intellectualise the language in the sense of “let’s invent some terms because we need to talk about science in our own language” or “the language needs to grow up” sort of discourses. For instance, having introduced the beautiful word geheugensanering (NL) that captures the concept of ‘garbage collection’ (in computing) way better than the English joke-term for it, elektronische Datenverarbeitung (DE) for ‘ICT’, técnicas de barrido (ES) for ‘sweep line’ algorithms, and mot-dièse (FR) for [twitter] ‘hashtag’, to name but a few inventions.

Be that as it may, here in South Africa, it goes under the banner of intellectualisation, with particular reference to the indigenous languages [2]; e.g., having introduced umakhalekhukhwini ‘cell/mobile phone’ (decomposed: ‘the thing that rings in your pocket’) and ukudlulisa ikheli for ‘pass by reference’ in programming (longer list of isiZulu-English computing and ICT terms), which is occurring for multiple subject domains [3]. Now I ended up as co-author of a paper that has ‘intellectualisation’ in its title [4]: Evaluation of the effects of a spellchecker on the intellectualization of isiZulu that appeared just this week in the Alternation journal.

The main general question we sought to answer was whether human language technologies, and in particular the isiZulu spellchecker launched last year, contribute to the language’s intellectualisation. More specifically, we aimed to answer the following three questions:

  1. Is the spellchecker meeting end-user needs and expectations?
  2. Is the spellchecker enabling the intellectualisation of the language?
  3. Is the lexicon growing upon using the spellchecker?

The answers in a nutshell are: 1) yes, the spellchecker does meet end-user needs and expectations (but there are suggestions further improving its functionality), 2) users perceive that the spellchecker enables the intellectualisation of the language, and 3) non-dictionary words were added, i.e., the lexicon is indeed growing.

The answer to the last question provides some interesting data for linguists to bite their teeth in. For instance, a user had added to the spellchecker’s dictionary LikaSekelaShansela, which is an inflected form of isekelashansela ‘Vice Chancellor’ (that is recognised as correct by the spellchecker). Also some inconsistencies—from a rule-of-thumb viewpoint—in word formation were observed; e.g., usosayensi ‘scientist’ vs. unompilo ‘nurse’. If one were to follow consistently the word formation process for various types of experts in isiZulu, such as usosayensi ‘scientist’, usolwazi ‘professor’, and usomahlaya ‘comedian’, then one reasonably could expect ‘nurse’ to be *usompilo rather than unompilo. Why it isn’t, we don’t know. Regardless, the “add to dictionary” option of the spellchecker proved to be a nice extra feature for a data-driven approach to investigate intellectualisation of a language.

Version 1 of the isiZulu spellchecker that was used in the evaluation was ok and reasonably could not have interfered negatively with any possible intellectualisation (average SUS score of 75 and median 82.5, so ‘good’). It was ok in the sense that a majority of respondents thought that the entire tool was helpful, no features should be removed, it enhances their work, and so on (see paper for details). For the software developers among you who have spare time: they’d like, mainly, to have it as a Chrome and MS Word plugin, predictive text/autocomplete, and have it working on the mobile phone. The spellchecker has improved in the meantime thanks to two honours students, and I will write another blog post about that next.

As a final reflection: it turned out there isn’t a way to measure the level of intellectualisation in a ‘hard sciences’ way, so we concluded the other answers based on data that came from the somewhat fluffy approach of a survey and in-depth interviews (a ‘mixed-methods’ approach, to give it a name). It would be nice to have a way to measure it, though, so one would be able to say which languages are more or less intellectualised, what level of intellectualisation is needed to have a language as language of instruction and science at tertiary level of education and for dissemination of scientific knowledge, and to what extent some policy x, tool y, or activity z contributes to the intellectualization of a language.



[1] Havránek, B. 1932. The functions of literary language and its cultivation. In Havránek, B and Weingart, M. (Eds.). A Prague School Reader on Esthetics, Literary Structure and Style. Prague: Melantrich: 32-84.

[2] Finlayson, R, Madiba, M. The intellectualization of the indigenous languages of South Africa: Challenges and prospects. Current Issues in Language Planning, 2002, 3(1): 40-61.

[3]Khumalo, L. Intellectualization through terminology development. Lexikos, 2017, 27: 252-264.

[4] Keet, C.M., Khumalo, L. Evaluation of the effects of a spellchecker on the intellectualization of isiZulu. Alternation, 2017, 24(2): 75-97.

Orchestrating 28 logical theories of mereo(topo)logy

Parts and wholes, again. This time it’s about the logic-aspects of theories of parthood (cf. aligning different hierarchies of (part-whole) relations and make them compatible with foundational ontologies). I intended to write this post before the Ninth Conference on Knowledge Capture (K-CAP 2017), where the paper describing the new material would be presented by my co-author, Oliver Kutz. Now, afterwards, I can add that “Orchestrating a Network of Mereo(topo) logical Theories” [1] even won the Best Paper Award. The novelties, in broad strokes, are that we figured out and structured some hitherto messy and confusing state of affairs, showed that one can do more than generally assumed especially with a new logics orchestration framework, and we proposed first steps toward conflict resolution to sort out expressivity and logic limitations trade-offs. Constructing a tweet-size “tl;dr” version of the contents is not easy, and as I have as much space here on my blog as I like, it ended up to be three paragraphs here: scene-setting, solution, and a few examples to illustrate some of it.



As ontologists know, parthood is used widely in ontologies across most subject domains, such as biomedicine, geographic information systems, architecture, and so on. Ontology (the philosophers) offer a parthood relation that has a bunch of computationally unpleasant properties that are structured in a plethora of mereologicial and meretopological theories such that it has become hard to see the forest for the trees. This is then complicated in practice because there are multiple logics of varying expressivity (support more or less language features), with the result that only certain fragments of the mereo(topo)logical theories can be represented. However, it’s mostly not clear what can be used when, during the ontology authoring stage one may want to have all those features so as to check correctness, and it’s not easy to predict what will happen when one aligns ontologies with different fragments of mereo(topo)logy.



We solved these problems by specifying a structured network of theories formulated in multiple logics that are glued together by the various linking constructs of the Distributed Ontology, Model, and Specification Language (DOL). The ‘structured network of theories’-part concerns all the maximal expressible fragments of the KGEMT mereotopological theory and five of its most well-recognised sub-theories (like GEM and MT) in the seven Description Logics-based OWL species, first-order logic, and higher order logic. The ‘glued together’-part refers to relating the resultant 28 theories within DOL (in Ontohub), which is a non-trivial (understatement, unfortunately) metalanguage that has the constructors for the glue, such as enabling one to declare to merge two theories/modules represented in different logics, extending a theory (ontology) with axioms that go beyond that language without messing up the original (expressivity-restricted) ontology, and more. Further, because the annoying thing of merging two ontologies/modules can be that the merged ontology may be in a different language than the two original ones, which is very hard to predict, we have a cute proof-of-concept tool so that it assists with steps toward resolution of language feature conflicts by pinpointing profile violations.



The paper describes nine mechanisms with DOL and the mereotopological theories. Here I’ll start with a simple one: we have Minimal Topology (MT) partially represented in OWL 2 EL/QL in “theory8” where the connection relation (C) is just reflexive (among other axioms; see table in the paper for details). Now what if we add connection’s symmetry, which results in “theory4”? First, we do this by not harming theory8, in DOL syntax (see also the ESSLI’16 tutorial):

logic OWL2.QL
ontology theory4 =
ObjectProperty: C Characteristics: Symmetric %(t7)

What is the logic of theory4? Still in OWL, and if so, which species? The Owl classifier shows the result:


Another case is that OWL does not let one define an object property; at best, one can add domain and range axioms and the occasional ‘characteristic’ (like aforementioned symmetry), for allowing arbitrary full definitions pushes it out of the decidable fragment. One can add them, though, in a system that can handle first order logic, such as the Heterogeneous toolset (Hets); for instance, where in OWL one can add only “overlap” as a primitive relation (vocabulary element without definition), we can take such a theory and declare that definition:

logic CASL.FOL
ontology theory20 =
then %wdef
. forall x,y:Thing . O(x,y) <=> exists z:Thing (P(z,x) /\ P(z,y)) %(t21)
. forall x,y:Thing . EQ(x,y) <=> P(x,y) /\ P(y,x) %(t22)

As last example, let me illustrate the notion of the conflict resolution. Consider theory19—ground mereology, partially—that is within OWL 2 EL expressivity and theory18—also ground mereology, partially—that is within OWL 2 DL expressivity. So, they can’t be the same; the difference is that theory18 has parthood reflexive and transitive and proper parthood asymmetric and irreflexive, whereas theory19 has both parthood and proper parthood transitive. What happens if one aligns the ontologies that contain these theories, say, O1 (with theory18) and O2 (with theory19)? The Owl classifier provides easy pinpointing and tells you the profile: OWL 2 full (or: first order logic, or: beyond OWL 2 DL—top row) and why (bottom section):

Now, what can one do? The conflict resolution cannot be fully automated, because it depends on what the modeller wants or needs, but there’s enough data generated already and there are known trade-offs so that it is possible to describe the consequences:

  • Choose the O1 axioms (with irreflexivity and asymmetry on proper part of), which will make the ontology interoperable with other ontologies in OWL 2 DL, FOL or HOL.
  • Choose O2’s axioms (with transitivity on part of and proper part of), which will facilitate linking to ontologies in OWL 2 RL, 2 EL, 2 DL, FOL, and HOL.
  • Choose to keep both sets will result in an OWL 2 Full ontology that is undecidable, and it is then compatible only with FOL and HOL ontologies.

As serious final note: there’s still fun to be had on the logic side of things with countermodels and sub-networks and such, and with refining the conflict resolution to assist ontology engineers better. (or: TBC)

As less serious final note: the working title of early drafts of the paper was “DOLifying mereo(topo)logy”, but at some point we chickened out and let go of that frivolity.



[1] Keet, C.M., Kutz, O. Orchestrating a Network of Mereo(topo)logical Theories. Ninth International Conference on Knowledge Capture (K-CAP’17), Austin, Texas, USA, December 4-6, 2017. ACM Proceedings.

Logic, diagrams, or natural language for representing temporal constraints in conceptual modeling languages?

Spoiler alert of the answer: it depends. In this post, I’ll trace it back to how we got to that conclusion and refine it to what it depends on.

There are several conceptual modelling languages with extensions for temporal constraints that then will be used in a database to ensure data integrity with respect to the business rules. For instance, there may be a rule for some information system that states that “all managers in a company must have been employees of that company already” or “all postgraduate students must also be a teaching assistant for some time during their studies”. The question then becomes how to get the modellers to model this sort of information in the best way. The first step in that direction is figuring out the best way to represent temporal constraints. We already know that icons aren’t that unambiguous and easy [1], which leaves the natural language rendering devised recently [2], or one of the logic-based notations, such as the temporal Description Logic DLRUS [3]. So, the questions to investigate thus became, more precisely:

  • Which representation is preferred for representing temporal information: formal semantics, Description Logics (DL), a coding-style notation, diagrams, or template-based (pseudo-)natural language sentences?
  • What would be easier to understand by modellers: a succinct logic-based notation, a graphical notation, or a ‘coding style’ notation?

To answer these questions, my collaborator, Sonia Berman (also at UCT) and I conducted a survey to find out modeller preference(s) and understanding of these representation modes. The outcome of the experiment is about to be presented at the 36th International Conference on Conceptual Modeling (ER’17) that will be held next week in Valencia, Spain, and is described in more detail in the paper “Determining the preferred representation of temporal constraints in conceptual models” [4].

The survey consisted mainly of questions asking them about which representation they preferred, a few questions on trying to model it, and basic questions, like whether they had English as first language (see the questionnaire for details). Below is one of the questions to illustrate it.

One of the questions of the survey

Its option (a) is the semantics notation of the DLRUS Description Logic, its option (b) the short-hand notation in DLRUS, option (c) a coding-style notation we made up, and option (e) is the natural language rendering that came out of prior work [2]. Option (d) was devised for this experiment: it shows the constraint in the Temporal information Representation in Entity-Relationship Diagrams (TREND) language. TREND is an updated and extended version of ERVT [5], taking into account earlier published extensions for temporal relationships, temporal attributes, and quantitative constraints (e.g., ‘employee receives a bonus after two years’), a new extension for the distinction between optional and mandatory temporal constraints, and the notation preferences emanating from [1].

Here are some of the main quantitative results:

The top-rated representation modes and `dislike’ ratings.

These are aggregates, though, and they hide some variations in responses. For instance, representing ‘simple’ temporal constraints in the DL notation was still ok (though noting that diagrams were most preferred), but the more complex the constraints got, the more the preference for the natural language rendering. For instance, take “Person married-to Person may be followed by Person divorced-from Person, ending Person married-to Person.” is deemed easier to understand than \langle o , o' \rangle \in marriedTo^{\mathcal{I}(t)} \rightarrow \exists t'>t. \langle o , o' \rangle \in divorcedFrom^{\mathcal{I}(t')} \land \langle o , o' \rangle \not\in marriedTo^{\mathcal{I}(t')} or \diamond^+\mbox{{\sc RDev}}_{{\sf marriedTo,divorcedFrom}}. Yet, the temporal relationship {\sf marriedTo \sqsubseteq \diamond^* \neg marriedTo} was deemed easier to understand than “The objects participating in a fact in Person married to Person do not relate through married-to at some time”. Details of the experiment and more data and analysis are described in the paper [4]. In sum, the evaluation showed the following:

  1. a clear preference for graphical or verbalised temporal constraints over the other three representations;
  2. ‘simple’ temporal constraints were preferred graphically and complex temporal constraints preferred in natural language; and
  3. their English specification of temporal constraints was inadequate.

Overall, this indicates that what is needed is some modeling tool that has a multi-modal interface for temporal conceptual model development, with the ability to switch between graphical and verbalised temporal constraints in particular.

If I hadn’t had teaching obligations (which now got cancelled due to student protests anyway) and no NRF funding cut in the incentive funding (rated researchers got to hear from one day to the next that it’ll be only 10% of what it used to be), I’d have presented the paper myself at ER’17. Instead, my co-author is on her way to all the fun. If you have any questions, suggestions, or comments, you can ask her at the conference, or drop me a line via email or in the comments below. If you’re interested in TREND: we’re working on a full paper with all the details and have conducted further modeling experiments with it, which we hope to finalise writing up by the end of the year (provided student protests won’t escalate and derail research plans any further).



[1] T. Shunmugam. Adoption of a visual model for temporal database representation. M. IT thesis, Department of Computer Science, University of Cape Town, South Africa, 2016.

[2] Keet, C.M. Natural language template selection for temporal constraints. CREOL: Contextual Representation of Events and Objects in Language, Joint Ontology Workshops 2017, 21-23 September 2017, Bolzano, Italy. CEUR-WS Vol. (in print).

[3] A. Artale, E. Franconi, F. Wolter, and M. Zakharyaschev. A temporal description logic for reasoning about conceptual schemas and queries. In S. Flesca, S. Greco, N. Leone, and G. Ianni, editors, Proceedings of the 8th Joint European Conference on Logics in Artificial Intelligence (JELIA-02), volume 2424 of LNAI, pages 98-110. Springer Verlag, 2002.

[4] Keet, C.M., Berman, S. Determining the preferred representation of temporal constraints in conceptual models. 36th International Conference on Conceptual Modeling (ER’17). Mayr, H.C., Guizzardi, G., Ma, H. Pastor. O. (Eds.). Springer LNCS vol. 10650, 437-450. 6-9 Nov 2017, Valencia, Spain.

[5] A. Artale, C. Parent, and S. Spaccapietra. Evolving objects in temporal information systems. Annals of Mathematics and Artificial Intelligence, 50(1-2):5-38, 2007.

Part-whole relations and foundational ontologies

Part-whole relations seem like a never-ending story—and it still doesn’t bore me. In this case, the ingredients were the taxonomy of part-whole relations [1] and a couple of foundational ontologies and the aim was to link the former to the latter. But what started off with the intention to write just a short workshop note, for seemingly clear and just in need of actually doing it, turned out to be not so straightforward after all. The selected foundational ontologies were not as compatible as assumed, and creating the corresponding orchestration of OWL files was a ‘non-trivial exercise’.

What were (some of) the issues? On the one hand, there are multiple part-whole relations, which are typically named differently when they have a specific domain or range. For instance, to relate a process to a sub-process (e.g., eating involves chewing), to relate a region to a region it contains, relating portions of stuff, and so on. Those relations are fairly well established in the literature. What they do demand for, however, is clarity as to what those categories really are. For instance, with the process example, is that to be understood as Process as meant in the DOLCE ontology, or, say, Process in BFO? What if a foundational ontology does not have a category needed for a commonly used part-whole relation?

The first step to answer such questions was to assess several foundational ontologies on 1) which of the part-whole relations they have now, and which categories are present that are needed for the domain and range declarations for those common part-whole relations. I assessed that for DOLCE, BFO, GFO, SUMO, GIST, and YAMATO. This foundational ontology comparison is summarised in tables 1 and 2 in the paper that emanated from the assessment [2], entitled “A note on the compatibility of part-whole relations with foundational ontologies” that I recently presented at FOUST-II: 2nd Workshop on Foundational Ontology, Joint Ontology Workshops 2017 in Bolzano, Italy. In short: none fits perfectly for various reasons, but there are more and less suitable ontologies for a possible alignment. DOLCE and SUMO were evaluated to have the best approximations. It appeared at the workshops presentation’s Q&A session, where two of the DOLCE developers were present, that the missing Collective was an oversight, or: the ontology is incomplete and it was not an explicit design choice to exclude it. This, then, would make DOLCE the best/easiest fit.

I’ll save you the trials and tribulations creating the orchestrated OWL files. The part-whole relations, their inverses, and their proper parthood versions were manually linked to modules of DOLCE and SUMO, and automatically linked to BFO and GFO. That was an addition of 49 relations (OWL object properties) and 121 logical axioms, which were then extended further with another 11 mereotopological relations and its 16 logical axioms. These files are accessible online directly here and also listed with brief descriptions.

While there is something usable now and, by design at least, these files are reusable as well, what it also highlighted is that there are still some outstanding questions, as there already were for the top-level categories of previously aligned foundational ontologies [3]. For instance, some categories seem the same, but they’re in ‘incompatible’ parts of the taxonomy (located in disjoint branches), so then either not the same after all, or this happened unintentionally. Only GIST has been updated recently, and it may be useful if the others foundational ontologies were to be as well, so as to obtain clarity on these issues. The full interaction of part-whole relations with classical mereology is not quite clear either: there are various extensions and deviations, such as specifically for portions [4,5], but one for processes may be interesting as well. Not that such prospective theories would be usable as-is in OWL ontology development, but there are more expressive languages that start having tooling support where it could be an interesting avenue for future work. I’ll write more about the latter in an upcoming post (covering the K-CAP 2017 paper that was recently accepted).

On a last note: the Joint Ontology Workshops (JOWO 2017) was a great event. Some 100 ontologists from all over the world attended. There were good presentations, lively conversations, and it was great to meet up again with researchers I had not seen for years, finally meet people I knew only via email, and make new connections. It will not be an easy task to surpass this event next year at FOIS 2018 in Cape Town.




[1] Keet, C.M., Artale, A. Representing and Reasoning over a Taxonomy of Part-Whole Relations. Applied Ontology, 2008, 3(1-2):91-110.

[2] Keet, C.M. A note on the compatibility of part-whole relations with foundational ontologies. FOUST-II: 2nd Workshop on Foundational Ontology, Joint Ontology Workshops 2017, 21-23 September 2017, Bolzano, Italy. CEUR-WS Vol. (in print)

[3] Khan, Z.C., Keet, C.M. Foundational ontology mediation in ROMULUS. Knowledge Discovery, Knowledge Engineering and Knowledge Management: IC3K 2013 Selected Papers. A. Fred et al. (Eds.). Springer CCIS vol. 454, pp. 132-152, 2015. preprint

[4] Donnelly, M., Bittner, T. Summation relations and portions of stuff. Philosophical Studies, 2009, 143, 167-185.

[5] Keet, C.M. Relating some stuff to other stuff. 20th International Conference on Knowledge Engineering and Knowledge Management (EKAW’16). Blomqvist, E., Ciancarini, P., Poggi, F., Vitali, F. (Eds.). Springer LNAI vol. 10024, 368-383. 19-23 November 2016, Bologna, Italy.

Figuring out the verbalisation of temporal constraints in ontologies and conceptual models

Temporal conceptual models, ontologies, and their logics are nothing new, but that sort of information and knowledge representation still doesn’t gain a lot of traction (cf. say, formal methods for verification). This is in no small part because modelling temporal information is not easy. Several conceptual modelling languages do have various temporal extensions, but most modellers don’t even use all of the default language features yet [1]. How could one at least reduce the barrier to adoption of temporal logics and modelling languages? The two principle approaches are visualisation with a diagrammatic language and rendering it in a (pseudo-)natural language. One of my postgraduate students looked at the former, trying to figure out what would be the best icons and such, which showed there was still a steep learning curve [2]. Before examining whether that could be optimised, I wondered whether the natural language option might be promising. The problem was, that no-one had yet tried to determine what the natural language counterpart of the temporal constraints were supposed to be, let alone whether they be ‘adequate’ or the ‘best’ way of rendering the temporal constraints in tolerable natural language sentences. I wanted to know that badly enough that I tried to find out.

Given that using templates is a tried-and-tested relatively successful approach for atemporal conceptual models and ontologies (e.g., for ORM, the ACE system), it makes sense to do something similar, but then for some temporal extension. As temporal conceptual modelling language I used one that has a Description Logics foundation (DLRUS [3,4]) for that easily links to ontologies as well, added a few known temporal constraints (like for relationships/DL roles, mandatory) and removing others (some didn’t seem all that interesting), which resulted in 34 constraints, still. For each one, I tried to devise more and less reasonable templates, resulting in 101 templates overall. Those templates were evaluated on semantics and preference by three temporal logic experts and five ‘mixed experts’ (experts in natural language generation, logic, or modelling). This resulted in a final set of preferred templates to verbalise the temporal constraints. The remainder of this post first describes a bit about the templates and then the results of which I think they are most interesting.


The basic idea of a template—in the context of the verbalisation of conceptual models and ontologies—is to have some natural language for the constraint where then the vocabulary gets slotted in at runtime. Take, for instance, simple named class subsumption in an ontology, C \sqsubseteq D, for which one could define a template “Each [C] is a(n) [D]”, so that with some axiom Manager \sqsubseteq Employee, it would generate the sentence “Each Manager is an Employee”. One also could have devised the template “All [C] are [D]” and then it would have generated “All Managers are Employees”. The choice between the two templates in this case is just taste, for in both cases, the semantics is the same. More complex axioms are not always that straightforward. For instance, for the axiom type C \sqsubseteq \exists R.D, would “Each [C] [R] some [D]” be good enough, or would perhaps “Each [C] must [R] at least one [D]” be better? E.g., “Each Professor teaches some Course” vs “Each Professor must teach at least one Course”.

The same can be done for the temporal constraints. To get there, I did a bit of a linguistic detour that informed the template design (described in the paper [5]). Let us take as first example for templates temporal class that has a semantics of o \in C^{\mathcal{I}(t)} \rightarrow \exists t' \neq t. o \notin C^{\mathcal{I}(t')}; for instance, UndergraduateStudent (assuming they graduate and end up as alumni or as drop outs, and weren’t undergrads from birth):

  1. If an object is an instance of entity type [C], then there is some time where it is not a(n) [C].
  2. [C] is an entity type whose objects are, for some time in their existence, not instances of [C].
  3. [C] is an entity type of which each object is not a(n) [C] for some time during its existence.
  4. All instances of entity type [C] are not a(n) [C] for some time.
  5. Each [C] is not a(n) [C] for some time.
  6. Each [C] is for some time not a(n) [C].

Which one(s) do you think captures the semantics, and which one(s) do you prefer?

A more elaborate constraint for relationships is ‘dynamic extension for relationships, past, mandatory], which is formalised as \langle o , o' \rangle \in \mbox{{\sc RDexM}-}_{R_1,R_2}^{\mathcal{I}(t)} \rightarrow (\langle o , o' \rangle \in{\tt R_1}^{\mathcal{I}(t)} \rightarrow \exists t'<t. \langle o , o' \rangle \in \mbox{{\sc RDex}}_{R_1,R_2}^{\mathcal{I}(t')} where \langle o , o' \rangle \in \mbox{{\sc RDex}}_{R_1,R_2}^{\mathcal{I}(t)} \rightarrow ( \langle o , o' \rangle \in{\tt R_1}^{\mathcal{I}(t)} \rightarrow    \exists t'>t. \langle o , o' \rangle \in {\tt R_2}^{\mathcal{I}(t')}).; e.g., every passenger who boards a flight must have checked in for that flight. Two options could be:

  1. Each ..C_1.. ..R_1.. ..C_2.. was preceded by ..C_1.. ..R_2.. ..C_2.. some time earlier.
  2. Each ..C_1.. ..R_1.. ..C_2.. must be preceded by ..C_1.. ..R_2.. ..C_2.. .

I’m not saying they are all correct; they were some of the options given, which the participants could choose from and comment on. The full list of constraints and template options are available in the supplementary material, which also contains a file where you can fill in your own answers, see what the (anonymised) participants said, and it has the final list of ‘best’ constraints.


The main aggregate quantitative results are shown in the following table.

Many observations can be made from the data (see the paper for details). Some of the salient aspects are that there was low inter-annotator agreement among the experts, despite that they know each other (temporal logics is a small community) and that the ‘mixed group’ deemed many sentences correct that the experts deemed wrong in the sense of not properly capturing the semantics of the constraint. Put differently, it looks like the mixed experts, as a group, did not fully grasp some subtle distinction in the temporal constraints.

With respect to the templates, the preferred ones don’t follow the structure of the logic, but are, in a way, a separate rendering, or: there’s no neat 1:1 mapping between axiom type and template structure. That said, that doesn’t mean that they always chose the shortest template: the experts definitely did not, while the mixed experts leaned a bit toward preferring templates with fewer words even though they were surely not always the semantically correct option.

It may not look good that the experts preferred different templates, but in a follow-up interview with one of the experts, the expert noted that it was not really a problem “for there is the logic that does have the precise meaning anyway” and thus “resolves any confusion that may arise from using slightly different terminology”. The temporal logic expert does have a point from the expert’s view, fair enough, but that pretty much defeats my aim with the experiment. Asking more non-experts may not be a good strategy either, for they are, on average, too lenient.

So, for now, we do have a set of, relatively, ‘best’ templates to verbalise temporal constraints in temporal conceptual models and ontologies. The next step is to compare that with the diagrammatic representation. This we did [6], and I’ll describe those results informally in a next post.

I’ll present more details at the upcoming CREOL: Contextual Representation of Events and Objects in Language Workshop that is part of the Joint Ontology Workshops 2017, which will be held next week (21-23 September) in Bolzano, Italy. As the KRDB group at FUB in Bolzano has a few temporal logic experts, I’m looking forward to the discussions! Also, I’d be happy if you would be willing to fill in the spreadsheet with your preferences (before looking at the answers given by the participants!), and send them to me.



[1] Keet, C.M., Fillottrani, P.R. An analysis and characterisation of publicly available conceptual models. 34th International Conference on Conceptual Modeling (ER’15). Johannesson, P., Lee, M.L. Liddle, S.W., Opdahl, A.L., Pastor López, O. (Eds.). Springer LNCS vol 9381, 585-593. 19-22 Oct, Stockholm, Sweden.

[2] T. Shunmugam. Adoption of a visual model for temporal database representation. M. IT thesis, Department of Computer Science, University of Cape Town, South Africa, 2016.

[3] A. Artale, E. Franconi, F. Wolter, and M. Zakharyaschev. A temporal description logic for reasoning about conceptual schemas and queries. In S. Flesca, S. Greco, N. Leone, and G. Ianni, editors, Proceedings of the 8th Joint European Conference on Logics in Artificial Intelligence (JELIA-02), volume 2424 of LNAI, pages 98-110. Springer Verlag, 2002.

[4] A. Artale, C. Parent, and S. Spaccapietra. Evolving objects in temporal information systems. Annals of Mathematics and Artificial Intelligence, 50(1-2):5-38, 2007.

[5] Keet, C.M. Natural language template selection for temporal constraints. CREOL: Contextual Representation of Events and Objects in Language, Joint Ontology Workshops 2017, 21-23 September 2017, Bolzano, Italy. CEUR-WS Vol. (in print).

[6] Keet, C.M., Berman, S. Determining the preferred representation of temporal constraints in conceptual models. 36th International Conference on Conceptual Modeling (ER’17). Springer LNCS. 6-9 Nov 2017, Valencia, Spain. (in print)

Round 2 of the search engine, browser, and language bias mini-experiment

Exactly a year ago I did a mini-experiment to see whether search engine bias exist in South Africa as well. It did. The notable case was that Google in English on Safari on the Mac (GES) showed results for ‘politically interesting searches’ that had less information and was leaning to the right-side of the political spectrum in a way that raised cause for concern, as compared to Google in isiZulu in Firefox (GiF) and Bing in English in Firefox (BEF). I repeated the experiment in the exact same way, with some of the same queries and a few more new ones that take into account current affairs; the only difference being using my Internet connection at home rather than at work. The same problem still exists, sometimes quite dramatically. As recommendation, then: don’t use Google in English on Safari on the Mac unless you want to be in an “anti-government Democratic Alliance as centre-of-the-world” bubble.

To back it all up, I took screenshots again, with the order fltr GiF, GES, BEF, so you can check for yourself what users with different configurations see on the first page of the search results. The set of clearly different/biased results are listed first.

  • EFF”, which in South Africa is a left populist opposition party, and internationally the abbreviation of the electronic frontier foundation:

    “EFF” search

    GiF lists it as political party; GES in relation to the DA first and then as political party; BEF as political party and electronic frontier foundation.

  • jacob zuma”, the current president of the country: GiF first has a google ad to oust zuma, then general info and news; GES with a google ad to oust zuma, comment by JZ’s son

    “jacob zuma” search

    blaming the whites (probably fuelling racial divisiveness), then general info and news; BEF has general info and news.

  • ANC”, currently the largest political party nationally and in power: GiF has first a link to ANC site, one

    “ANC” search

    news, and for the rest contact info; GES has first ‘bad press’ for the ANC as top stories, then twitter, then the ANC website; BEF lists first the ANC site, then news and info.

  • Manana”, who is the Higher Education deputy minister who faces allegations of mistreatment by female

    “Manana” search

    staff members in his department: GiF with news about the accusations; GES has negative news about the ANC women’s league and DA actions; BEF shows info about Manana and mixed it up with the Spanish mañana.

  • The autocomplete function when typing “ANC” was somewhat surprising: GiF also associates it with ‘eff news’, and ‘zuma’;

    exploring the autocomplete on “ANC”

    GES doesn’t have ‘eff news’ to suggest, so autocomplete also seems to be determined by the client-side configuration; BEF has all sorts of things.

  • white monopoly capital” (long story): GiF shows general info and news; GES also shows general info

    “white monopoly capital” search

    and news, but with that inciting blaming the whites news item; BEF shows general info and news as well, but differently ordered from Google’s result.

  • DA”, which in South Africa refers to the abbreviation of the Democratic Alliance opposition party

    “DA” search

    (capitalist, for the rich): GiF lists the DA website and some news; GES shows news on DA action and opinion, then the DA website; BEF lists the DA site, some general info and disambiguation.

  • motion of no confidence”, which was held last week against Jacob Zuma

    “motion of no confidence” search

    (the motion failed, but not by a large margin): GiF has again that Google ad for the organization to oust Zuma, then info and mostly news (with 1 international news site [Al Jazeera]); GES has info then SA opinion pieces rather than news; BEF has news and info.

  • FeesMustFall”, which was one of the tags of the student protests in 2015

    “FeesMustFall” search

    and 2016 (for free higher education): GiF has general info and news; GES shows first two ads to join the campaign, then general info and news; BEF has info and news. So, this seems flipped cf. last year.

Then the set of searches of which the results are roughly the same. I had expected this for “Law on cookies in South Africa” and “Socialism”, for they were about the same last year as well. I wasn’t sure about “women’s month” (this month, August), given its history; there are slight differences, but not much. The interesting one, perhaps, was that “state capture gupta” also showed similar results across the three configurations, all of them showing results to pages that treat it as fact and at least some detailed background reading on it.

“Law on cookies in South Africa” search

“Socialism” search

“women’s month” search



“state capture gupta” search

Finally, last year the mini-experiment was motivated by lecture preparations for the “Social Issues and Professional Practice” block of CSC1016S that I’m scheduled to teach in the upcoming semester (if there won’t be protests, that is). As compared to last year, now I can also add a note on the Algorithmic Transparency and Accountability statement from the ACM, in addition to the ‘filter bubble’ and ‘search engine manipulation’ items. Maybe I should cook up an exercise for the students so we can get data rather still being in the realm of anecdotes with my 20 searches and three configurations. If you did the same with a different configuration, please let me know.