[contents]
Copyright © 2006 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and 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 vocabulary 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/.
This 27 September 2006 Working Draft of the Evaluation and Report Language (EARL) 1.0 Schema is and update of 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 meetings in October 2005 and February 2006 (see history of document changes). This document is intended to be published and maintained as a W3C Recommendation after review and refinement.
The working group encourages feedback about this document, Evaluation and Report Language (EARL) 1.0 Schema, by developers and researchers who have interest in software-supported evaluation and validation of Web sites. In particular, the group is looking for feedback on the following questions:
Please send comments on this document to the public email list of the working group public-wai-ert@w3.org. The archives of the working group mailing list are publicly available.
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 has been produced by the Evaluation and Repair Tools Working Group as part of the WAI Technical Activity.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; 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) must disclose the information in accordance with section 6 of the W3C Patent Policy.
[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 Criterion.
http://www.example.org/page.html
Example 2: an software carries out automated evaluation of a Web page against a Test Criterion.
http://validator.w3.org/
http://www.example.org/page.html
at
2004-04-14T14:00:04+1000
<li>
element on line 53, char 7 was
not closed.There are a number 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 serialization 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 keywords must, required, recommended, 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]xmls
http://www.w3.org/2001/XMLSchema#
described in
[Editors' Note: TBD]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 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:test
earl:result
An Assertion may also include the following optional properties:
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:test rdf:resource="#testcase" />
<earl:result rdf:resource="#result" />
</earl:Assertion>
An Assertor determines the results of a test (i.e. an assertor
asserts and assertion). An earl:Assertor
must belong to one of the following types:
earl:SingleAssertor
foaf:Agent
foaf:Person
,
foaf:Organisation
and foaf:Group
which
can all be used to describe an Assertor. However, since the
foaf:Agent
class and several of its subclasses are
not currently considered as stable, these classes must be used with care. It is recommended to use the stable and widely
deployed foaf:Person
class, and to use it as follows:
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 preferably an
encrypted email address. The properties
foaf:name
, foaf:mbox
and
foaf:mbox_sha1sum
are defined by FOAF [FOAF].earl:Software
earl:CompoundAssertor
earl:mainAssertor
property, and may, have secondary
Assertor identified by the earl:helpAssertor
property, as well as optional title
and description identified by the [DC] dc:title
and
dc:description
properties respectively.Note: since the range of both the earl:mainAssertor
and the
earl:helpAssertor
properties of the Compound Assertor reference earl:Assertor
classes, these
instances can be a Person, Agent, Software, or
recursively another Compound Assertor.
Example 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 (see also example 13).
<earl:Software rdf:ID="tool">
<dc:title xml:lang="en">Cool Tool</dc:title>
<dc:description xml:lang="en">My favorite tool!</dc:description>
<foaf:homepage>http://example.org/tools/#cool</foaf:homepage>
<dct:hasVersion>1.0.3</dct:hasVersion>
</earl:Software>
Example 6: a Compound Assertor of the person from example 4 using the software from example 5.
<earl:compoundAssertor rdf:ID="assertor">
<dc:title xml:lang="en">Bob using Cool Tool</dc:title>
<dc:description xml:lang="en">Bob doing semi-automated testing</dc:description>
<earl:mainAssertor rdf:resource="#bob"/>
<earl:helpAssertor rdf:resource="#tool"/>
</earl:compoundAssertor>
The Test Subject is the class of things that have been tested.
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.
The earl:TestSubject
class may have any of the following
properties:
dc:title
dc:description
dc:date
dct:hasPart
dct:isPartOf
Example 7: Java applet that is part of a Web application.
<earl:TestSubject rdf:ID="subject">
<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 Criterion is a testable statement - usually one that can be passed or failed. It is a super class for all types of tests including things such as validation requirements, code test cases, checkpoints from guidelines such as Web Content Accessibility Guidelines 1.0 [WCAG10], or others.
While the generic earl:Testable
class can be used
directly, one of the following types should
be used:
earl:TestRequirement
earl:TestCase
alt
attribute which could be part of testing WCAG 1.0
Checkpoint 1.1.Any Test Criterion such as Test Requirement or Test Case should be identified with a URI using the Dublin Core
dc:identifier
property. A Test Criterion may be a single test,
or part of a larger compound test suite. These relations may be described using Dublin Core's
dct:hasPart
or dct:isPartOf
properties.
Additionally, a title or description for the Test Criterion may be included by using the Dublin Core
dc:title
or dc:description
properties.
[Editor's note: The earl:Testable
, earl:TestRequirement
, and
earl:TestCase
classes are
included for convenience, since this allows various useful properties to be
described in simple standard RDF. The working group will
deprecate these classes if they find an appropriate replacement from a
language designed for describing Test Criterion (including test requirements
and test cases), something which is beyond the scope of the current
specification.]
Example 8: instance of a test case that is described with a title and its relationship to a test suite.
<earl:TestCase rdf:ID="testcase">
<dc:title xml:lang="en">HTML Test 282</dc:title>
<dc:description xml:lang="en">Test 282 of the HTML test suite</dc:title>
<dct:isPartOf rdf:resource="http://example.org/tests/html/"/>
<dct:hasPart rdf:resource="http://example.org/tests/html/#617"/>
<dc:identifier>http://example.org/tests/html/#282</dc:identifier>
</earl:TestCase>
The (optional) Test Mode information is used to simplify some commonly used queries on how the testing was carried out. When provided, it must reflect the information provided by the Assertor, and it must be exactly one of the following pre-defined values (or subclasses of them):
earl:manual
earl:compoundAssertor
class of the Assertor.earl:automatic
earl:semiauto
earl:compoundAssertor
class of the Assertor.earl:mixed
earl:heuristic
Example 9: the assertion from example 3 was carried out in semi-automatic mode.
<earl:Assertion rdf:about="#assertion">
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#semiauto"/>
</earl:Assertion>
The actual result of the test. It includes both machine-readable values as well as human-readable description of the results (typically error messages).
A Test Result must have exactly one of the following properties:
earl:validity
A Test Result should include the following properties:
dc:title
dc:description
A Test Result may also include the following properties:
earl:confidence
earl:instance
Example 10: A test result with a validity of fail and a description of the problem in English, and encoded in XHTML format.
<earl:result rdf:ID="result">
<earl:validity rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#fail"/>
<dc:title xml:lang="en">Invalid Markup (code #353)</dc:title>
<dc:description rdf:parseType="Literal" xml:lang="en">
<div 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:instance rdf:resource="#instance"/>
</earl:result>
Outcome of a test. The Validity Level must be one of the following pre-defined values (or subclasses of them):
earl:pass
earl:fail
earl:cannotTell
earl:notApplicable
earl:notTested
Confidence in the result by an Assertor. This may be used where an assertor 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.
Example 11: The result from example 10 has a confidence level of 87 (the interpretation of this value is application specific)
<earl:result rdf:about="#result">
<earl:confidence rdf:datatype="http://www.w3.org/2001/XMLSchema#int">87</earl:confidence>
</earl:result>
An Instance Location is a an area within the Test Subject that triggered or primarily influenced the Test Result. These areas could be described using a variety of different types of pointers that are grouped by Pointer Collection classes. Each instance of such a collection must describe exactly one occurrence of an area.
Each earl:instance
property must reference a earl:PointerCollection
,
each of which must contain one or more of
the following properties:
earl:xPointer
earl:htmlPointer
earl:xPath
earl:XPathPointer
class which
must include an XPath string
expression using the earl:expression
property, and may include a namespace
definition using the earl:ns
and earl:Namespace
property and
class respectively.earl:lineCharLen
earl:LineCharLenPointer
class which must include earl:line
and earl:char
integer values, and
may also include a earl:len
integer value. The
integer values for earl:line
and earl:char
must start with the value "1" to denote the
first position, while the integer value for earl:len
must start with the value "0" to denote the
first position.earl:charSnippet
earl:CharSnippetPointer
class must include a earl:charContent
property and may also include a
earl:charOffset
integer value. The integer value for earl:charOffset
must start with the value "0" to denote the
first position.earl:byteSnippet
earl:ByteSnippetPointer
class must include a earl:byteContent
property and may also include a
earl:byteOffset
integer value. The integer value for earl:byteOffset
must start with the value "0" to denote the
first position.Note: all the above pointer types (except for
xPointer and htmlPointer which are string expressions
expressed as simple properties) are subclasses of a generic earl:Pointer
class. If new pointers
are defined to extend this core selection of pointers, they should also be
subclasses of the generic class and be referenceable from the earl:PointerCollection
class by defining appropriate properties.
[Editor's note: the working group is interested in getting feedback on the selected variety of pointers and if they have missed other crucial types.]
Example 12: The result from example 10 references a Pointer Collection that contains three different types of pointers, each of which points to the same Location Instance within the Test Subject.
<earl:PointerCollection rdf:about="#instance">
<earl:xPointer rdf:datatype="http://www.w3.org/2001/XMLSchema#string">@@@TBD</earl:xPointer>
<earl:htmlPointer rdf:datatype="http://www.w3.org/2001/XMLSchema#string">@@@TBD</earl:htmlPointer>
<earl:xPath>
<earl:expression rdf:datatype="http://www.w3.org/2001/XMLSchema#string">@@@TBD</earl:expression>
</earl:xPath>
</earl:PointerCollection>
A Software Tool is any software such as an authoring tool,
browser, or evaluation tool. Software should
have a title using the Dublin Core property dc:title
; and
may have descriptions, version information,
and a home page using the Dublin Core terms dc:description
,
dct:hasVersion
, as well as the FOAF term foaf:homepage
.
While the software class is often used to describe evaluation tool
assertors, a software could also be a Test
Subject (for example to test compliance of an authoring tool to the
Authoring Tool Accessibility
Guidelines). In this case, it inherits the optional properties dc:date
,
dct:isPartOf
and dct:hasPart
from the Test
Subject class.
Example 13: The software which was an Assertor in example 5 could also be used as a Test Subject.
<earl:subject>
<earl:Software rdf:about="#tool">
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#gDate">2005-06-25</dc:date>
<dct:isPartOf rdf:resource="http://example.org/tools/"/>
<dct:hasPart rdf:resource="http://example.org/tools/cool/#module-1"/>
</earl:Software>
</earl:subject>
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.
Web Content must have the following properties:
dc:date
GET
request was issued to the Web server.Web Content may have the following optional properties:
dc:format
earl:httpRequest
earl:httpResponse
Note:an instance 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 intended to make use of HTTP vocabulary in RDF that will be published in a separate document.]
Example 14: TBD
TBD
[Editor's note: Is this section suitable for this document or should it be rather moved to the Guide document?]
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: this section has been rewritten by the editor and does not yet represent the consensus of the Working Group.]
An EARL report is a set of instances of the Assertion class. Each assertion contains information about a single test that was carried out. EARL does not prescribe how to group tests into a report since this is highly application and end-user specific. For example, a reports generated for Web developers may contain more detailed results in order to repair bugs while reports generated for project managers may contain aggregated results with less detail on the specific issues. EARL does not require these assertions to be in a single file, database, or other form of repository; RDF parsers should be able to work with distributed information provided they have access.
A valid EARL report must validate against the formal RDF grammar, and must adhere to the constraints defined by this document. In case of discrepancy, the normative reference is Appendix A: EARL 1.0 Schema in RDF/XML. Note: to support XML based applications, EARL reports should be represented in (a compact) RDF/XML format when it is being exported or published outside an application. However, EARL processors should be able to parse valid reports in other RDF formats such as N3.
If the core EARL vocabulary is extended for specific purposes (for example by subclassing terms), the RDFS (including relevant OWL constraints etc.) must be provided so that RDF parsers can process the introduced vocabulary correctly. Furthermore, any extensions must ensure the integrity and validity of the core EARL vocabulary in order to ensure interoperable exchange of EARL reports.
[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:dct="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xmls="http://www.w3.org/2001/XMLSchema#">
<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>
<!--// @@@ EDITORS' NOTE: decision regarding maxCardinality restriction pending //-->
</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>
<!--// @@@ EDITORS' NOTE: decision regarding maxCardinality restriction pending //-->
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#test"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
<!--// @@@ EDITORS' NOTE: decision regarding maxCardinality restriction pending //-->
</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>
<!--// @@@ EDITORS' NOTE: decision regarding maxCardinality restriction pending //-->
</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">Is 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">Has Test 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#test">
<rdfs:label xml:lang="en">Has Test Criterion</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#Testable"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#result">
<rdfs:label xml:lang="en">Has Test 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#mode">
<rdfs:label xml:lang="en">Has Test 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: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">Has 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">Has 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:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Testable">
<rdfs:label xml:lang="en">Test Criterion</rdfs:label>
<rdfs:comment xml:lang="en">A testable statement against which subjects are tested</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestRequirement">
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Testable"/>
<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#TestCase">
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Testable"/>
<rdfs:label xml:lang="en">Test Case</rdfs:label>
<rdfs:comment xml:lang="en">A test case 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</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a human only</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic">
<rdfs:label xml:lang="en">Automatic</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a tool only</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#semiauto">
<rdfs:label xml:lang="en">Semi-Automatic</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed primarily by a tool, and human assistance</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mixed">
<rdfs:label xml:lang="en">Mixed</rdfs:label>
<rdfs:comment xml:lang="en">Test was performed by a combination of persons and tools</rdfs:comment>
</owl:Thing>
<owl:Thing rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#heuristic">
<rdfs:label xml:lang="en">Heuristic</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">Has Validity Level</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">Has Confidence Level</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>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#instance">
<rdfs:label xml:lang="en">Has Location Instance</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#PointerCollection"/>
</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#Pointer">
<rdfs:label xml:lang="en">Pointer</rdfs:label>
<rdfs:comment xml:lang="en">A pointer to a location within the Test Subject</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection">
<rdfs:label xml:lang="en">Pointer Collection</rdfs:label>
<rdfs:comment xml:lang="en">A collection of pointers, all pointing to the same thing</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<!--// @@@ EDITORS' NOTE: decision regarding Min/Max cardinality restriction on properties pending //-->
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#expression">
<rdfs:label xml:lang="en">Has Pointer Expression</rdfs:label>
<rdfs:comment xml:lang="en">String based pointer to be used in subclasses of Pointer</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#xPointer">
<rdfs:label xml:lang="en">Has XPointer Expression</rdfs:label>
<rdfs:comment xml:lang="en">XPointer expression pointing into the Test Subject</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#htmlPointer">
<rdfs:label xml:lang="en">Has HTML Pointer Expression</rdfs:label>
<rdfs:comment xml:lang="en">HTML Pointer expression pointing into the Test Subject</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#lineCharLen">
<rdfs:label xml:lang="en">Has LineCharLen Values</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLenPointer"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#xPath">
<rdfs:label xml:lang="en">Has XPath Expression</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#XPathPointer"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charSnippet">
<rdfs:label xml:lang="en">Has Char Snippet</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CharSnippetPointer"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteSnippet">
<rdfs:label xml:lang="en">Has Byte Snippet</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ByteSnippetPointer"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLenPointer">
<rdfs:label xml:lang="en">LineCharLen Pointer</rdfs:label>
<rdfs:comment xml:lang="en">Line/character and optionally the length of a region within the Test Subject</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#line"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<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>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#char"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<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>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#len"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</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#line">
<rdfs:label xml:lang="en">Has Line Number</rdfs:label>
<rdfs:comment xml:lang="en">Line number within the Test Subject</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLength"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#char">
<rdfs:label xml:lang="en">Has Char Number</rdfs:label>
<rdfs:comment xml:lang="en">Char or column number within the Test Subject</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLength"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#len">
<rdfs:label xml:lang="en">Has Length Value</rdfs:label>
<rdfs:comment xml:lang="en">Length of a region within the Test Subject</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLength"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#XPathPointer">
<rdfs:label xml:lang="en">XPath Pointer</rdfs:label>
<rdfs:comment xml:lang="en">XPath expression (including namespace) pointing into the Test Subject</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#expression"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<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>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ns"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
//-->
</owl:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ns">
<rdfs:label xml:lang="en">Has Namespace</rdfs:label>
<rdfs:comment xml:lang="en">A namespace used in a particular XPath expression</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#XPath"/>
<rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace">
<rdfs:label xml:lang="en">Namespace</rdfs:label>
<rdfs:comment xml:lang="en">Prefix and namespace URI for an XPath expression</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#prefix"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<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>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#nsURI"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<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#prefix">
<rdfs:label xml:lang="en">Has Namespace Prefix</rdfs:label>
<rdfs:comment xml:lang="en">A namespace prefix</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#nsURI">
<rdfs:label xml:lang="en">Has Namespace URI</rdfs:label>
<rdfs:comment xml:lang="en">A namespace URI</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CharSnippetPointer">
<rdfs:label xml:lang="en">Char Snippet Pointer</rdfs:label>
<rdfs:comment xml:lang="en">Character based part of the Test Subject</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charContent"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
//-->
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charOffset"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</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#charContent">
<rdfs:label xml:lang="en">Has Char Content</rdfs:label>
<rdfs:comment xml:lang="en">Character content that is part of the Test Subject</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charSnippet"/>
<!--// @@@ EDITORS' NOTE: range here could be a string or a parsed XML document... //-->
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charOffset">
<rdfs:label xml:lang="en">Has Char Offset</rdfs:label>
<rdfs:comment xml:lang="en">Number of characters into the Char Content</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charSnippet"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ByteSnippetPointer">
<rdfs:label xml:lang="en">Byte Snippet Pointer</rdfs:label>
<rdfs:comment xml:lang="en">Byte based part of the Test Subject (encoded in Base64)</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
<rdfs:subClassOf rdf:parseType="Collection">
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteContent"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
//-->
</owl:Restriction>
<owl:Restriction>
<owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteOffset"/>
<!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</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#byteContent">
<rdfs:label xml:lang="en">Has Byte Content</rdfs:label>
<rdfs:comment xml:lang="en">Byte content that is part of the Test Subject (encoded in Base64)</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteSnippet"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteOffset">
<rdfs:label xml:lang="en">Has Byte Offset</rdfs:label>
<rdfs:comment xml:lang="en">Number of bytes into the Byte Content</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteSnippet"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>
<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: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:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#httpRequest">
<rdfs:label xml:lang="en">With 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">With HTTP Response</rdfs:label>
<rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#WebContent"/>
</rdf:Property>
<!-- Deprecated Terms -->
<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#requirement">
<rdfs:label xml:lang="en">Has 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>
<!-- Replaced Terms -->
<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 | Used In |
---|---|---|
earl:manual |
Manual | earl:TestMode |
earl:automatic |
Automatic | earl:TestMode |
earl:semiauto |
Semi-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 the working draft matures to Recommendation level.
This section describes differences between this draft and the EARL 1.0 Schema draft of 9 September 2005.
earl:mixed
and earl:semiauto
values for
the earl:TestMode
class.earl:mode
property of earl:Assertion
optional.dc:date
property of earl:TestSubject
optional.dc:title
property of earl:Software
recommended.high
, medium
and
low
) values from earl:confidence
.foaf:Agent
to the list of allowable
Assertor
types.earl:Testable
as a super class of
earl:TestCase
and added earl:TestRequirement
as
a further subclass of earl:Testable
.dc:location
with dc:identifier
in
earl:Testable
(and its subclasses) and with
foaf:homepage
in earl:Software
.earl:TestResult
class.dc:date
a required attribute of the
earl:WebContent
class.This section describes the changes made since the EARL 1.0 draft of 12 December 2002.
earl:Platform
class.earl:message
, earl:format
,
earl:Person
, earl:name
,
earl:email
, and earl:contactInfo
with
equivalent terms from the Dublin Core and FOAF vocabularies.earl:Software
class to replace the deprecated
earl:Tool
and earl:UserAgent
classes. It can be
used to decribe a assertor tools or test subjects.earl:SingleAssertor
,
earl:CompoundAssertor
, earl:mainAssertor
, and
earl:helpAssertor
to better describe different kinds of
assertors.earl:WebContent
to replace the deprecated
earl:ReprOf
class.earl:httpRequest
and earl:httpResponse
properties in earl:WebContent
class to describe the
request/response sequences that were exchanged.New terms have been introduced to the vocabulary, sometimes as replacements for deprecated terms that existed in earlier drafts, sometimes to introduce new funtionality
earl:mixed
and earl:semiauto
earl:TestMode
.earl:test
and earl:Testable
earl:TestCase
and
earl:TestRequirement
.earl:instance
and several location pointersearl:Software
earl:Tool
. It can be
used to decribe a assertor tools or test subjects.earl:SingleAssertor
,
earl:CompoundAssertor
earl:mainAssertor
, earl:helpAssertor
earl:httpRequest
, earl: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:
earl:evidence
earl:methodology
earl:requirement
high
, medium
and earl:low
earl:confidence
property were
deprecated in favour of authors defining their usage in a way that
encourages interoperability.earl:reprOf
earl:UserAgent
, earl:Tool
earl:Software
class.earl:platform
earl:message
, earl:format
dc:description
and dc:format
.earl:Person
, earl:name
,
earl:email
, earl:contactInfo
No significant changes are currently planned by the Working Group. However, there are several open questions and modifications that need to be made before Last Call. The currently known issues are highlighted within this document and indicated as "Editors Notes".
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.