[contents]
Copyright © 2006 W3C ® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use rules apply.
This document describes the formal schema of the Evaluation and Report Language (EARL) 1.0. The Evaluation and Report Language is a standardized format to express test results. The primary motivation for developing this language is to facilitate the exchange of test results between Web accessibility evaluation tools in a vendor neutral and platform independent format. It also provides reusable vocabulary for generic quality assurance and validation purposes. While this document focuses on the technical details of the specification, a companion document [Guide] describes the motivations for EARL and provides a tutorial introduction to its use.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
The Evaluation and Repair Tools Working Group (ERT WG) encourages feedback about this document, Evaluation and Report Language (EARL) 1.0 Schema, by Web developers and researchers who have interest in software-supported evaluation and validation of Web sites. In particular, the group is looking for feedback about how robust and unambiguous the schema is, and how well it addresses use cases. Specific questions are also highlighted within the relevant sections of this document. Feedback on this draft should be sent to the Working Group's email list public-wai-ert@w3.org, whose archives are available, preferably before 14 january 2006, and in any case not after this draft is obsoleted by a new Editors' or W3C Working Draft. The editors hope to make this document obsolete with a replacement draft before the end of January 2006.
The purpose of the Evaluation and Report Language (EARL) 1.0 Schema is to define a common vocabulary to express test results. This document is an update for the previous EARL 1.0 Working Draft of 9 September 2005. It meets the requirements specified in the Requirements for the Evaluation and Report Language (EARL) 1.0, and incorporates change requests received since the September 2005 Working Draft, in particular implementing the decisions of the EARL Working Group at its face to face meeting in October 2005. While this document focuses on the technical details of the specification, a companion document [Guide] describes the motivations for EARL and provides a tutorial introduction to its use.
Please send comments to the mailing list of the ERT WG. The archives for this list are publicly available.
This is an Editors' Working Draft of the Evaluation and Report Language (EARL) 1.0 Schema. This document is intended to be published and maintained as a W3C Recommendation after review and refinement. Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced under the 5 February 2004 W3C Patent Policy. The Working Group maintains a public list of patent disclosures relevant to this document; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with section 6 of the W3C Patent Policy.
This document has been produced as part of the W3C Web Accessibility Initiative (WAI). The goals of the Evaluation and Repair Tools Working Group (ERT WG) are discussed in the Working Group charter. The ERT WG is part of the WAI Technical Activity.
[Editor's note: this section will be synchronized with the EARL 1.0 Guide [Guide] as it is being developed.]
The Evaluation and Report Language (EARL) is a format to express test results. Test results include bug reports, test suite evaluations, and conformance claims. The test subject might be a Web site, an authoring tool, a user agent or some other entity. Thus, EARL is flexible. It enables any person, entity, or organization to state test results for any thing tested against any set of criteria.
Stating test results in EARL creates a variety of opportunities. The data can be:
A companion document [Guide] to this specification provides more introductory material and explanation of the use cases for EARL.
EARL statements contain the following types of information:
Prose examples that demonstrate the above structure:
Example 1: a person carries out a manual evaluation of a Web page against a test criteria.
http://www.example.org/mypage
Example 2: an evaluation tool carries out automated evaluation of a Web page against a test criteria.
2004-04-14T14:00:04+1000
http://www.example.org/yourpage
There are a niumber of known issues in this draft, that need to be resolved in future drafts. Comments are specifically requested on any of these issues, which are marked as follows:
[Editor's note: there are some items that the working group has discussed but not reached consensus, and others that are known issues that have not yet been discussed]
This subsection will be removed from the final version of the document, and editorial comments will have been resolved.
This document is intended as a brief complete specification of the EARL 1.0 vocabulary. It assumes that the reader is familiar with the ideas of RDF and can read its XML serialisation as bare code. The assumed audience is developers who are implementing EARL in software or processes, or are seeking to understand the ideas, models, or properties and classes used in the EARL vocabulary. Readers who would like a more tutorial introduction to the language, with more explanation of its foreseen use cases, are referred to the EARL 1.0 Guide [Guide]. Readers who wish to understand more about RDF are advised to consider reading a general introduction, or reading the RDF Primer [RDF-PRIMER].
The key words must, required, should, may, and optional are used in accordance with RFC 2119 [RFC2119].
The namespace for EARL as specified in this draft is http://www.w3.org/WAI/ER/EARL/nmg-strawman#
.
[Editor's note: Versioning terms during the process of developing the vocabulary is an issue the group is working on. It is possible that a new namespace will be used for a final version of the vocabulary]
Where RDF terms are used in their abbreviated form (e.g. Assertion
or foaf:Person
), if no namespace is provided the term is in the EARL namespace. The following prefixes are used in examples throughout this document:
earl
http://www.w3.org/WAI/ER/EARL/nmg-strawman#
which is described in this documentfoaf
http://xmlns.com/foaf/0.1/
which is also where the terms
are described [FOAF]dc
http://purl.org/dc/elements/1.1/
whose terms are described in [DC]dct
http://purl.org/dc/terms/
described at [DCT]rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
described in [RDF]rdfs
http://www.w3.org/2000/01/rdf-schema#
described in [RDFS]owl
http://www.w3.org/2002/07/owl#
described in [OWL]EARL is defined as an RDF vocabulary. The Resource Description Framework (RDF) [RDF] is a general-purpose language for describing information in a way that is machine-understandable.
EARL is an RDF vocabulary used to make statements about how a resource performed against a test. In common with other RDF it assumes that other vocabularies will be used as appropriate.
For more information on RDF, please refer to the following references:
The EARL 1.0 specification defines an RDF Vocabulary that consists of classes and properties. This section describes the core vocabulary and gives brief examples of its usage. Later sections describe extensibility of EARL 1.0; and conformance to EARL 1.0.
An Assertion is a statement about the results of performing a test. The earl:Assertion
class relates the required instances of an Assertor, Test Subject, Test Requirement, and Test Result to a specific Assertion. It can also provide information about the Test Mode, Methodology and Evidence used in generating the result. It is the fundamental unit of an EARL statement or set of statements.
An Assertion must have at least the following properties:
earl:assertedBy
earl:subject
earl:requirement
earl:result
An Assertion may also include the following optional properties:
earl:evidence
earl:methodology
earl:mode
Example 3: instance of an assertion expressed as an RDF/XML fragment.
<earl:Assertion rdf:ID="#assertion">
<earl:assertedBy rdf:resource="#assertor"/>
<earl:subject rdf:resource="#subject"/>
<earl:requirement rdf:resource="#testcase"/>
<earl:result rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass"/>
<earl:methodology rdf:resource="http://example.com/some/method#used"/>
</earl:Assertion>
An Assertor determines the results of a test (i.e. an assertor asserts and assertion). An earl:Assertor
must be either a SingleAssertor (a Person, Agent, or Software), or Compound Assertor.
An Assertor must belong to one of the following types:
earl:SingleAssertor
foaf:Person
foaf:Person
to describe a person. There should be identifying information including a name, and a uniquely identifying property such as email address or an encrypted email address. The properties foaf:name
, foaf:mbox
and foaf:mbox_sha1sum
are defined by FOAF [FOAF].foaf:Agent
foaf:Person
is a subclass of this class, which also has subclasses of foaf:Organisation
and foaf:Group
.earl:Software
earl:CompoundAssertor
earl:mainAssertor
property, and may, have secondary Assertor identified by the earl:helpAssertor
property, as well as an optional description identified by the Dublin Core dc:description
property.earl:Assertor
class, the instances can be a Person, Agent, Software, or recursively another Compound AssertorExample 4: an Assertor that is a person called Bob B. Bobbington.
<foaf:Person rdf:ID="bob">
<foaf:name>Bob B. Bobbington</foaf:name>
<foaf:mbox rdf:resource="mailto:bob@example.org"/>
<foaf:mbox_sha1sum>1a9daad476f0158b81bc66b7b27b438b4b4c19c0</foaf:mbox_sha1sum>
</foaf:Person>
Example 5: an Assertor that is a piece of software called Cool Tool.
<earl:Software rdf:ID="tool">
<dc:title xml:lang="en">Cool Tool</dc:title>
<dc:description xml:lang="en">My favorite tool!</dc:description>
<dc:location>http://example.org/tools/#cool</dc:location>
<dct:hasVersion>1.0.3</dct:hasVersion>
</earl:Software>
Example 6: the Assertor from example 3 is the person from example 4 using the software from example 5.
<earl:compoundAssertor rdf:ID="assertor">
<earl:mainAssertor rdf:resource="#bob"/>
<earl:helpAssertor rdf:resource="#tool"/>
</earl:compoundAssertor>
The Test Subject is the class of things that have been tested. The earl:TestSubject
class must have exactly one date specified by the Dublin Core dc:date
property. It may also have any of the following properties:
dc:title
dc:description
dct:hasPart
dct:isPartOf
This class is intentionally generic to serve a wide variety of usages. For more specific use cases, the EARL earl:WebContent
or earl:Software
classes can be used in place to describe Web Content or Software that is being tested.
Example 7: Java applet that is part of a Web application
<earl:TestSubject rdf:ID="#applet">
<dc:title xml:lang="en">Login Applet</dc:title>
<dc:description xml:lang="en">Java applet that is used for system login</dc:description>
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#gDate">2005-06-25</dc:date>
<dct:isPartOf rdf:resource="http://example.org/"/>
</earl:TestSubject>
A Test Requirement is a test - usually one that can be passed or failed. This includes things such as validation requirements, code test cases, checkpoints from guidelines such as Web Content Accessibility Guidelines 1.0 [WCAG10], or others. These should be identified with a URI.
A Test Requirement may be a single test, or may be a part of a larger compound test suite. These relations may be described using Dublin Core's dct:hasPart
or dct:isPartOf
properties. Additionally, the Web location or a description for the test may be included by using the Dublin Core dc:location
or dc:description
properties.
[Editor's note: The earl:TestRequirement
class is included for convenience, since it allows various useful properties to be described in simple standard RDF. The working group will deprecate this class if they find an appropriate replacement from a language designed for describing test cases, something which is beyond the scope of the current specification.]
Example 8: instance of a test requirement that is described with a title and its relationship to a test suite.
<earl:TestRequirement rdf:ID="html">
<dc:title xml:lang="en">HTML Test Suite</dc:title>
<dc:description xml:lang="en">Tests specifically for the Hyper Text Markup Language</dc:title>
<dct:isPartOf rdf:resource="http://example.org/tests/#all"/>
<dct:hasPart rdf:resource="http://example.org/tests/#282"/>
<dc:location>http://example.org/tests/html/</dc:location>
</earl:TestRequirement>
Example 9: test requirements that don't need to be described further can be shortened as follows:
<earl:testcase rdf:resource="http://www.w3.org/TR/WCAG10/wai-pageauth.html#tech-text-equivalent"/>
@@Do we need this example? It doesn't seem to make any sense to have it. And if we do, was it meant to refer to the property testCase
(now requirement
) or the class Testcase
(now TestRequirement
)??
The Test Mode must be exactly one of the following pre-defined values, or subclasses of them (see section Extensibility for more explanation):
earl:manual
earl:compoundAssertor
class of the Assertor.earl:automatic
earl:mixed
earl:heuristic
earl:evidence
property may be used to point to a list of Assertions used to produce results in this modeExample 10: instance of an assertion that has been carried out in manual mode
<earl:Assertion rdf:about="http://example.org/#assertion">
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#manual"/>
</earl:Assertion>
The actual result of the test. This must have exactly one earl:validity
properties to describe a Validity Level. It may also include a Confidence Level, using the EARL earl:confidence
properties; or a description, using the Dublin Core dc:description
property. The description is meant to be human-readable text or markup (for example HTML included as an XML Literal), and should include an identification for the natural language.
[Editor's note: the confidence property is still under discussion, please refer to the Confidence Level for more information]
The following example shows a result with a validity of fail and a description of the problem in English, and encoded in XHTML format:
Example 11: A test result with a validity and a description property
<earl:result rdf:parseType="Resource">
<earl:validity rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#fail"/>
<dc:description rdf:parseType="Literal">
<div xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<p>The <code>table</code> element is not allowed to appear
inside a <code>p</code> element</p>
</div>
</dc:description>
</earl:result>
Outcome of a test. The Validity Level must be one of the following pre-defined values, or subclasses of them (see section Extensibility for more explanation):
earl:pass
earl:fail
earl:cannotTell
earl:notApplicable
earl:notTested
Confidence in the result by an Assertor. This may be used where a tool wants to assert that it has different levels of confidence about two possible results (for example low confidence that a test has been passed, but also high confidence that it is not applicable). The values of the confidence level should be defined either as RDF values, or using a datatype, in order to allow others to work interoperably with them.
[Editor's note: We will have an example of how to do this in a future draft, and further discussion in the [Guide].]
A piece of software such as an authoring tool, browser, or evaluation tool. Software must have a title (using the Dublin Core property dc:title
) and may have descriptions, version information, and Web location (using the Dublin Core terms dc:description
, dct:hasVersion
, and dc:location
). Additionally, if it is used as a Test Subject then it inherits additional properties such as dc:date
(required) as well as dct:isPartOf
and dct:hasPart
(optional).
[Editor's note: earl:Tool
used to be a sub class of Assertor in previous versions of this Working Draft but it has been deprecated in favour of earl:Software
, which may also be reused as a Test Subject.]
Example 12: The software which was an Assertor in example 5 is now being described as a Test Subject.
<earl:Software rdf:about="#tool">
<dc:title xml:lang="en">Cool Tool</dc:title>
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#gDate">2005-06-25</dc:date>
</earl:Software>
Information on the World Wide Web. This should include enough information to identify the content actually tested, taking account of content type and language negotiation and similar factors that can change the content actually served. This class is intended to be used as a test subject but can be reused for other purposes (outside EARL) as well. The Web content class has the following properties:
dc:format
dc:location
earl:httpRequest
earl:httpResponse
A member of the Web Content class may include several request/response sequences to document the content and language negotiation that took place before the content was finally sent.
[Editor's note: the request/response properties of this class are still being refined]
Because EARL is written as an RDF vocabulary, it is extensible; that is, it is simple to add new terms or otherwise modify (for example by subclassing) them to fit your own specific application demands more closely. EARL was designed to be generic for usages in quality assurance but can be extended to fit particular domains better. EARL is a core set of structures and terms. In addition, the working group expects to work on at least a couple of areas and perhaps extend the specification (especially with respect to Web accessibility evaluation) before publishing it as a Recommendation.
[Editor's note: there will be examples of extending EARL provided in a later draft]
The EARL vocabulary uses OWL [OWL] to provide formal constraints on what is valid EARL.
[Editor's note: the topic of conformance requirements beyond those implicit in the vocabulary definition will be discussed, and results will be incorporated into a future draft.]
[Editor's note: need to make a schema available at the namespace URI, which includes OWL information on deprecated terms]
<?xml version="1.0" encoding='UTF-8'?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:earl="http://www.w3.org/WAI/ER/EARL/nmg-strawman#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:owl="http://www.w3.org/2002/07/owl#">
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion">
<rdfs:label xml:lang="en">An assertion</rdfs:label>
<rdfs:comment xml:lang="en">Parent node that contains all parts of an assertion</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#assertedBy"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#subject"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#requirement"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#result"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#assertedBy">
<rdfs:label xml:lang="en">asserted by</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#subject">
<rdfs:label xml:lang="en">subject</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestSubject"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#requirement">
<rdfs:label xml:lang="en">requirement</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestRequirement"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#result">
<rdfs:label xml:lang="en">result</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#evidence">
<rdfs:label xml:lang="en">evidence</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#methodology">
<rdfs:label xml:lang="en">methodology</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mode">
<rdfs:label xml:lang="en">mode</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertion"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestMode"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor">
<rdfs:label xml:lang="en">Assertor</rdfs:label>
<rdfs:comment xml:lang="en">Persons or evaluation tools that claim assertions</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#SingleAssertor"/>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CompoundAssertor"/>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#SingleAssertor">
<rdfs:label xml:lang="en">Single Assertor</rdfs:label>
<rdfs:comment xml:lang="en">One person or evaluation tool that claims assertions</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:type="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Software"/>
<owl:Thing rdf:type="http://xmlns.com/foaf/0.1/Person">
<owl:Thing rdf:type="http://xmlns.com/foaf/0.1/Agent">
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CompoundAssertor">
<rdfs:label xml:lang="en">Compound Assertor</rdfs:label>
<rdfs:comment xml:lang="en">Group of persons or evaluation tools that claim assertions</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mainAssertor"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mainAssertor">
<rdfs:label xml:lang="en">Main Assertor</rdfs:label>
<rdfs:comment xml:lang="en">Assertor mainly responsible for determining assertion result</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CompoundAssertor"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#helpAssertor">
<rdfs:label xml:lang="en">Help Assertor</rdfs:label>
<rdfs:comment xml:lang="en">Assertor assisting to determine assertion result</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CompoundAssertor"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Assertor"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestSubject">
<rdfs:label xml:lang="en">Test Subject</rdfs:label>
<rdfs:comment xml:lang="en">Subject of the assertion</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/date"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestRequirement">
<rdfs:label xml:lang="en">Test Requirement</rdfs:label>
<rdfs:comment xml:lang="en">A requirement against which subjects are tested</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestMode">
<rdfs:label xml:lang="en">Test Mode</rdfs:label>
<rdfs:comment xml:lang="en">Mode in which tests were conducted</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#manual">
<rdfs:label xml:lang="en">Manual Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a human</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic">
<rdfs:label xml:lang="en">Automatic Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a tool</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mixed">
<rdfs:label xml:lang="en">Mixed Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a person or organisation using a tool</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#heuristic">
<rdfs:label xml:lang="en">Heuristic Testing Mode</rdfs:label>
<rdfs:comment xml:lang="en">Result was derived from other results</rdfs:comment>
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult">
<rdfs:label xml:lang="en">Test Result</rdfs:label>
<rdfs:comment xml:lang="en">Result from conducting test cases on subjects</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#validity"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:maxCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#validity">
<rdfs:label xml:lang="en">Validity Level Property</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ValidityLevel"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#confidence">
<rdfs:label xml:lang="en">Confidence Level Property</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ConfidenceLevel"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ValidityLevel">
<rdfs:label xml:lang="en">Validity Level</rdfs:label>
<rdfs:comment xml:lang="en">Nominal value of the result</rdfs:comment>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass">
<rdfs:label xml:lang="en">Pass</rdfs:label>
<rdfs:comment xml:lang="en">Test passed</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#fail">
<rdfs:label xml:lang="en">Fail</rdfs:label>
<rdfs:comment xml:lang="en">Test failed</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#cannotTell">
<rdfs:label xml:lang="en">Can Not Tell</rdfs:label>
<rdfs:comment xml:lang="en">Outcome of the test is uncertain</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#notApplicable">
<rdfs:label xml:lang="en">Not Applicable</rdfs:label>
<rdfs:comment xml:lang="en">Test is not applicable to the subject</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#notTested">
<rdfs:label xml:lang="en">Not Tested</rdfs:label>
<rdfs:comment xml:lang="en">Test has not been carried out</rdfs:comment>
</owl:Thing>
</owl:oneOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ConfidenceLevel">
<rdfs:label xml:lang="en">Confidence Level</rdfs:label>
<rdfs:comment xml:lang="en">Level of confidence in the given result</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Software">
<rdfs:label xml:lang="en">Software Tool</rdfs:label>
<rdfs:comment xml:lang="en">A tool that can perform tests or be the subject of testing</rdfs:comment>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.org/dc/elements/1.1/title"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1
</owl:minCardinality>
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent">
<rdfs:label xml:lang="en">Web Content</rdfs:label>
<rdfs:comment xml:lang="en">Subjects that are available on the Web</rdfs:comment>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpRequest">
<rdfs:label xml:lang="en">http-request</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpResponse">
<rdfs:label xml:lang="en">http-response</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent"/>
</rdf:Property>
<!-- Deprecated and replaced terms -->
<rdf:Description rdf:about="#testCase">
<owl:sameAs rdf:resource="#requirement" />
</rdf:Description>
<rdf:Description rdf:about="#Testcase">
<owl:sameAs rdf:resource="#TestRequirement" />
</rdf:Description>
<rdf:Description rdf:about="#singleAssertor">
<owl:sameAs rdf:resource="#SingleAssertor" />
</rdf:Description>
<rdf:Description rdf:about="#compoundAssertor">
<owl:sameAs rdf:resource="#CompoundAssertor" />
</rdf:Description>
</rdf:RDF>
The following terms are defined by this specification:
Name | Label | required properties | Allowable types | optional properties |
---|---|---|---|---|
earl:Assertion |
Assertion | |||
earl:Assertor |
Assertor |
|
|
|
earl:SingleAssertor |
Single Assertor |
|
|
|
earl:CompoundAssertor |
Compound Assertor | earl:mainAssertor |
|
earl:helpAssertor |
earl:TestSubject |
Test Subject | dc:date |
|
|
earl:TestRequirement |
Test Requirement |
|
|
|
earl:TestMode |
Test mode |
|
|
|
earl:TestResult |
Test Result | earl:validity |
|
|
earl:ValidityLevel |
Validity Level |
|
|
|
earl:ConfidenceLevel |
Confidence Level |
|
|
|
earl:Software |
Software tool | dc:title |
|
|
earl:WebContent |
Web Content |
|
Name | Label | Domain | Range |
---|---|---|---|
earl:assertedBy |
asserted by | earl:Assertion |
earl:Assertor |
earl:subject |
subject | earl:Assertion |
earl:TestSubject |
earl:requirement |
requirement | earl:Assertion |
earl:TestRequirement |
earl:result |
result | earl:Assertion |
earl:TestResult |
earl:mode |
mode | earl:Assertion |
earl:TestMode |
earl:methodology |
methodology | earl:Assertion |
rdf:Resource |
earl:evidence |
evidence | earl:Assertion |
[Editors' note: To be determined. Either an rdf
Collection, or some other list of, earl:Assertion s] |
earl:mainAssertor |
Main Assertor | earl:CompoundAssertor |
earl:Assertor |
earl:helpAssertor |
Help Assertor | earl:CompoundAssertor |
earl:Assertor |
earl:validity |
validity | earl:TestResult |
earl:ValidityLevel |
earl:confidence |
confidence | earl:TestResult |
earl:ConfidenceLevel |
earl:httpResponse |
HTTP response information | earl:WebContent |
[Editors' note: to be specified] |
earl:httpRequest |
HTTP request information | earl:WebContent |
[Editors' note: to be specified] |
Name | Label | Used In |
---|---|---|
earl:manual |
Manual | earl:TestMode |
earl:automatic |
Automatic | earl:TestMode |
earl:mixed |
Mixed | earl:TestMode |
earl:heuristic |
Heuristic | earl:TestMode |
earl:pass |
Pass | earl:ValidityLevel |
earl:fail |
Fail | earl:ValidityLevel |
earl:notTested |
Not tested | earl:ValidityLevel |
earl:cannotTell |
Cannot tell | earl:ValidityLevel |
earl:notApplicable |
Not Applicable | earl:ValidityLevel |
This section records current changes and future plans for changes as the nd theworking draft matures to Recommendation level.
earl:requirement
and earl:TestRequirement
have replaced earl:testCase
and earl:Testcase
methodology
and evidence
properties.mixed
value for the TestMode
class.mode
property of Assertion
optional.high
, medium
and low
values of earl:confidence
foaf:Agent
to the list of allowable Assertor
types.New terms have been introduced to the vocabulary, sometimes as replacements for deprecated terms that existed in earlier drafts, sometimes to introduce new funtionality
evidence
methodology
mixed
mode
.requirement
testCase
as the base property for a requirement that the test subject has been
tested against.TestRequirement
Testcase
as the base container class for a requirement that the test subject has been tested against.Software
Tool
. It can be used to decribe a assertor tools or test subjects.SingleAssertor
, CompoundAssertor
mainAssertor
, helpAssertor
httpRequest
, httpResponse
WebContent
(or a "Delivery Unit" on the Web).A number of terms that existed in earlier drafts have been deprecated, either in favour of terms from existing widely-used vocabularies, or because their use is somehow problematic. While this deprecation is provisional, no RDF has been published formally noting them as deprecated (for example through OWL). A quick guide to terms that have been provisionally deprecated:
high
, medium
and low
confidence
property were deprecated in favour of authors defining their usage in a way that encourages interoperability.reprOf
testCase
requirement
property.Testcase
TestRequirement
class.UserAgent
, Tool
Software
class.platform
message
, format
dc:description
and dc:format
.Person
, name
, email
, contactInfo
The working group is considering several open issues which would lead to extending the current vocabulary before it reaches recommendation.
As well as issues noted in the draft, the following issues are under active consideration:
A mechanism to provide further evidence used to make a claim. The working group has included the evidence
property but has not yet determined the most useful model for the list of statements used in evidence of an inferred result.
Within Web content, for the use case of testing accessibility, it is very valuable to point to the location(s) that cause the test to pass or fail. This is also true of software interfaces and various other kinds of subject. The working group has agreed in principle to include a mechanism for recording this information in an EARL report, but has not yet developed or found the necessary terms.
There are currently placeholder properties httpRequest
and httpResponse
for HTTP transaction information. The group expects to develop these further, either themselves or with an existing vocabulary. An extensive amount of work has been done on such vocabularies, and this material couldd be included as soon as the next draft of this specification.
This is under review by the working group. The current draft requires that developers who use this property provide some means of identifying the way its values are determined in order to allow interoperable use of those values.
http://www.dublincore.org/documents/dces/
http://www.dublincore.org/documents/dcmi-terms/
http://xmlns.com/foaf/0.1/
http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Guide-20051214
http://www.w3.org/TR/owl-features/
http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/
http://www.w3.org/TR/rdf-primer/
http://www.w3.org/TR/rdf-schema/
http://www.w3.org/DesignIssues/RDF-XML
http://www.ietf.org/rfc/rfc2119.txt
http://www.w3.org/TR/WCAG10/
EARL is the result of the work of many people over the past. The editors would particularly like to thank Wendy Chisholm, Sean B Palmer, and Daniel Dardailler, whose contributions have included editing the first versions of the EARL specifications, and the late Leonard Kasday who set the work in motion to develop EARL. The editors apologise for any names left out of this list, and will endeavour to rectify any errors noted in comments.
Shadi Abou-Zahra, Chrisoula Alexandraki, Myriam Arrue, Gabriele Bartolini, Giorgio Brajnik, Dan Brickley, Karl Dubost, Nick Gibbins, Al Gilman, Dominique Hazaël-Massieux, Nadia Heninger, Sandor Herramhof, Ian Hickson, Björn Höhrmann, Carlos Iglesias, Nick Kew, Johannes Koch, Jim Ley, William Loughborough, John Lutts, Charles McCathieNevile, Libby Miller, Tom Martin, Yehya Mohamed, Dave Pawson, Eric Prud'hommeaux, Pierre Queinnec, Chris Ridpath, Romain Roure, Christophe Strobbe, Aaron Swartz, Olivier Thoreaux, Carlos Velasco and Rob Yonaitis.