Bug 018: Useless TestResult Intermediary

This is feedback on a Last Call Working Draft:

Evaluation and Report Language (EARL) 1.0 Schema
W3C Working Draft 10 May 2011
http://www.w3.org/TR/2011/WD-EARL10-Schema-20110510/

Specifically, ยง 2.5. TestResult Class:

http://www.w3.org/TR/2011/WD-EARL10-Schema-20110510/#TestResult

Specifically, why this exists at all.

All the useful information associated with a TestResult could be
associated from the OutcomeValue instead.

In other words, you might have something like this presently:

:assertion earl:result [ a earl:TestResult;
   dct:date "..."; # required for no obvious reason
   earl:outcome earl:passed;
   earl:info "passed for the first time" ].
   # not clear if this is a valid use of earl:info, compare Bug 011

But why not the following?

:assertion earl:result [ a earl:Pass;
   earl:info "passed for the first time" ].

This expresses the same information, but is much simpler. The only
obvious reason against is that it seems there's a danger that people
might use atomic terms and then get confused when they try to apply
earl:info to them. For example, this would be bad:

:assertion01 earl:result earl:passed.
earl:passed earl:info "passed for the first time".

:assertion02 earl:result earl:passed.
earl:passed earl:info "easy test case, unlikely to fail".

But if you removed earl:TestResult and replaced the range of
earl:result with earl:OutcomeValue instead, you'd just remove the
earl:OutcomeValue instances with URIs, such as earl:passed. Then you
could document this problem and say that people should therefore avoid
making their own instances, and try to use blank nodes if they can, or
at least to be careful to give them unique names if they're annotating
them with info.

I think that replacing earl:TestResult with earl:OutcomeValue and
removing the instances is likely to be a better approach than the
present one, but this probably needs some debate.

-- 
Sean B. Palmer, http://inamidst.com/sbp/

Received on Wednesday, 11 May 2011 13:10:05 UTC