@prefix : <#> . @prefix earl: . @prefix earldata: . @prefix rdf: . @prefix rdfs: . @prefix daml: . @prefix dc: . @prefix foaf: . @prefix doc: . @prefix rcs: . this dc:title "EARL (Evaluation And Report Language) 1.0 RDF Schema"; doc:obsoletes ; doc:derivedFrom ; rcs:id "$Id$" . earl:Evaluation rdfs:subClassOf rdf:Statement; daml:intersectionOf ([ daml:onProperty rdf:subject; daml:toClass earl:Assertor ] [ daml:onProperty rdf:predicate; daml:hasValue earl:asserts ] [ daml:onProperty rdf:object; daml:toClass earl:Assertion ]); rdfs:comment """An Evaluation is the most basic unit of EARL as it stands""" . earl:Assertor rdfs:subClassOf [ daml:onProperty earl:platform; daml:toClass earl:TestPlatform ], [ daml:onProperty earl:asserts; daml:toClass earl:Assertion ], [ daml:disjointUnionOf (earl:Person earl:Machine) ]; rdfs:comment """The entity making the assertion (e.g. running the test). This could be anonymous if for example you want to declare other context information."""; earl:MachineAssertor rdfs:comment "An assertor which is a machine"; daml:intersectionOf (earl:Assertor earl:Machine) . earl:PersonAssertor rdfs:comment "An assertor which is a person"; daml:intersectionOf (earl:Assertor earl:Person) . earl:asserts rdfs:comment """For earl:asserts(x,y), in general, the assertor (x) asserts the assertion (y). EARL has specific classes for these""" . earl:Assertion rdfs:subClassOf rdf:Statement; daml:intersectionOf ([ daml:onProperty rdf:subject; daml:toClass earl:TestSubject ] [ daml:onProperty rdf:predicate; daml:toClass earl:ResultProperty ] [ daml:onProperty rdf:object; daml:toClass earl:TestCase ]); rdfs:comment """These could be free standing units - used outside of earl:Evaluation(s) if required""" . # earl:Assertor terms earl:operator rdfs:domain earl:MachineAssertor; rdfs:range earl:Operator . # who cares what an operator is? We won't define it earl:contactInfo a rdf:Property; rdfs:domain earl:Assertor; rdfs:range earl:ContactInfo . earl:email a daml:UnambiguousProperty; rdfs:subPropertyOf earl:contactInfo, foaf:mbox; rdfs:domain earl:Assertor; rdfs:range earl:Email; # a machine can have one too rdfs:comment """Generally, for earl:email(x, y) x has an email address of y.""" . earl:name a rdf:Property; rdfs:domain earl:Assertor; rdfs:range rdfs:Literal; rdfs:comment "The common proper name for some earl:Assertor" . earl:platform a rdf:Property; rdfs:comment """e.g. the platform on which the test(s) were run, or the general platform on which something runs""" . earl:TestPlatform rdfs:comment "The platform on which the test(s) were run" . earl:Platform rdfs:comment "The general platform on which something runs" . earl:os rdfs:label "Operating System"; rdfs:subPropertyOf earl:platform . earl:ccppSetting rdfs:comment "Just a strawman property" . # earl:TestSubject terms earl:TestSubject a rdfs:Class; rdfs:subClassOf [ daml:onProperty earl:uniqueMarker; daml:minCardinality "1" ], [ daml:onProperty earl:platform; daml:toClass earl:Platform ] . earl:WebContent rdfs:subClassOf earl:TestSubject . earl:Tool rdfs:subClassOf earl:TestSubject . earl:UserAgent rdfs:subClassOf earl:TestSubject . (earl:WebContent earl:Tool earl:UserAgent) a daml:Disjoint . earl:date a daml:UnambiguousProperty . earl:version a daml:UnambiguousProperty . earl:date a daml:DatatypeProperty; rdfs:range earldata:Date . earl:testSubject a rdf:Property; # a daml:UniqueProperty; rdfs:domain earl:TestSubject; rdfs:range rdfs:Resource . # _:TestSubject # earl:testSubject , . earl:sameSubjectAs rdfs:seeAlso daml:equivalentTo; rdfs:domain earl:TestSubject; rdf:range earl:TestSubject; rdfs:comment """For earl:sameSubjectAs(x, y), x is defined as being the same subject being evaluated (in an assertion) as y. In other words, there is some property of sameness between the two - the exact semantics of which are not defined here, but may be useful to individual processors."""; daml:inverseOf earl:sameSubjectAs . earl:snapshot rdfs:domain earl:TestSubject . earl:version a rdf:Property; rdfs:comment "For earl:version(x, y), read: x is of version y" . # earl:ResultProperty terms earl:ResultProperty rdfs:subClassOf rdf:Property . earl:validity rdfs:range earl:ValidityState; rdfs:domain earl:ResultProperty . earl:ResultProperty rdfs:subClassOf [ daml:onProperty earl:note; daml:toClass rdfs:Resource ] . # e.g. earl:passes a earl:ResultProperty; earl:validity earl:Pass . earl:fails a earl:ResultProperty; earl:validity earl:Fail . earl:notApplicableTo a earl:ResultProperty; earl:validity earl:NotApplicable . earl:notTestedAgainst a earl:ResultProperty; earl:validity earl:NotTested . earl:cannotTell a earl:ResultProperty; earl:validity earl:CannotTell . earl:ValidityProperty daml:oneOf (earl:passes earl:fails earl:notApplicableTo earl:notTestedAgainst earl:cannotTell) . # earl:Assertion terms earl:testMode a rdf:Property; rdfs:domain earl:Assertion; rdfs:range earl:TestMode . earl:Manual a earl:TestMode . earl:Auto a earl:TestMode . earl:Heuristic a earl:TestMode . # earl:TestCase terms earl:TestCase a rdfs:Class . earl:repairInfo rdfs:range earl:RepairInfo . earl:RepairInfo rdfs:subClassOf [ daml:onProperty earl:expectedResult; daml:toClass earl:ExpectedResult ] . earl:purpose rdfs:domain earl:TestCase; rdfs:range rdfs:Literal . earl:testCriteria rdfs:domain earl:TestCase; rdfs:range earl:TestCriteria . earl:TestCriteria daml:unionOf ([ daml:onProperty earl:level; daml:minCardinality "1" ] [ daml:onProperty earl:excludes; daml:minCardinality "1" ]) . earl:suite rdfs:domain [ daml:disjointUnionOf (earl:TestCase earl:TestCriteria earl:Exclusion) ]; rdfs:range earl:Suite; rdfs:comment """A suite of checkpoints, guidelines, or any other form of rules that an earl:TestSubject can be evaluated against. e.g. WCAG 1.0""" . earl:id rdfs:domain [ daml:disjointUnionOf (earl:TestCase earl:TestCriteria earl:Exclusion) ]; rdfs:range earl:Id; rdfs:comment "A single guideline, checkpoint, etc." . earl:Suite daml:disjointWith earl:Id . earl:excludes rdfs:domain earl:TestCriteria; rdfs:range earl:Exclusion . earl:level rdfs:domain [ daml:disjointUnionOf (earl:TestCriteria earl:Exclusion) ]; rdfs:comment """This is a generic level of test criteria, for example, the priorities/levels in WCAG. These shouldn't be a string literal""" . earl:operatorInstructions rdfs:domain earl:TestCase; rdfs:range rdfs:Literal . earl:reproducableStep rdfs:domain earl:TestCase; rdfs:range rdfs:Literal . earl:EARL rdfs:label "EARL (Evaluation And Report Language)"; earl:version "1.0" .