What is the best way to represent a state that changes over time, such as “Obama is the President of the United States” (that is, in 2014)? This kind of issue arises constantly in developing ontologies for use in the semantic web. There are a number of different options, and prior literature discusses the various pros and cons of these options.
This paper 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,φ).” 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 users 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 were measured, as well as the pattern that they chose to use. They were also asked for feedback about which patterns seem most natural and easily learned. The result of the experiments was that, unsurprisingly, experienced users 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 tended 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 features were not part of the original design, they are often clumsy and lead to muddle or failures of backward compatibility. Languages that are designed from the outset for use by experts are often daunting for nonexperts to learn. No ideal solution has been found. However, it is not clear how close an analogy this is, or what the knowledge representation community should take away from it.