Review of "An Empirical Perspective on Representing Time," by A. Scheuermann et al. Review #CR142575, Computing Reviews, August 1, 2014
What is the best way to represent a state that changes over time, such as "Obama is the President of the United States" (i.e. in 2014)? The kind of issue arises constantly in developing ontologies for the use in the semantic web; there are a number of different options; and there is a prior literature discussing the various pros and cons of these options.
The paper under review reports the results of some empirical comparative studies of users' preferences and skills at using four different patterns. The first pattern, called the "3D" pattern, uses a predicate "holdsAt(t,phi)". For instance, for the above sentence, the coder would write "holdsAt(President(Obama,USA),2014)" meaning, "The relation 'Obama is the President of the USA' holds in 2014." (One can either interpret "President(Obama,USA)" as a time-varying entity called a fluent, and "holdsAt" as a first-order predicate, or interpret "President(Obama,USA)" as a full-fledged proposition, and "holdsAt" as either a modal or a meta-level operator.) The second pattern, called the "3D+1" pattern, attaches the time to the relational symbol; the coder would write "President@2014(Obama,USA)" meaning "Obama is the President-in-2014 of the USA." The third pattern, called the "4D" pattern, attaches the time to the arguments; the coder would write "President(Obama@2014,USA@2014)" meaning "The time slice of Obama in 2014 is President of the time slice of the USA in 2014." The fourth representation, called the "n-ary pattern", creates a constant symbol "OPU2014" for the fact as a whole, and associates the different elements with that constant. Here the coder would write four propositions "Actor(OPU2014,Obama)", "Country(OPU2014,USA)", "Office(OPU2014,President)" and "Time(OPU2014,2014)".
The empirical studies used populations of user that differed in their expertise, and took a number of different forms. Users were given a set of sentences in English to represent; their speed and accuracy was measured, as well as the pattern that they chose to use. They were also asked for feedback about which patterns seems most natural and easily learned. The result of the experiments was that, unsurprisingly, experienced user had more facility and skill at writing representations than inexperienced users. The 3D+1 and n-ary patterns were considered the most natural and learnable. In constructing representations, inexperienced users tended to use the 3D pattern and n-ary patterns, whereas experienced uses tend to prefer the 4D pattern, which, under some circumstances, is more expressive than the others.
The practical impact of these results depends to some extent on the outcome of the debate over whether knowledge encoding, such as that needed in the semantic web, will be mostly done by naive users, in which case there is a premium on having a representation language that is easily learned and intuitive, or will mostly be done by experts, in which case there is a premium on expressive power.
Somewhat analogous issues arise in programming language design. Languages that are originally designed for ease of use, such as Basic or Python, tend over time to gain features that are more suited to experts; since these were not part of the original design, they are often clumsy, and lead to muddled language view or failures of backward compatibility. Languages that are designed from the outset for use by experts are often daunting for non-experts to learn. No ideal solution has been found. However, it is not clear how useful an analogy this is, or what the knowledge representation community should take away from it.