RDF Schema for Daniel's EDL [was: Re: RDF From Al's OOP Code]

Daniel's vocabulary is excellent, and I thought it would be a good idea to
write an RDF Schema for it (codifying EDL as it stands):-
http://infomesh.net/edl/rdfschema/
I have also appended it to the bottom of this note [1]

> Note: my RDF is largely approximate, I haven't check with an RDF
> expert what would make more sense in terms of structure/organization

You don't need to consult an expert: just consult SiRPAC
     http://www.w3.org/RDF/Implementations/SiRPAC
Pasting your code in there showed that in all of the triples generated, the
subject was http://www.w3.org/ implying that http://www.w3.org/ had a
testConfidence of both 3 and 5 etc. (easily fixed). Anyway, you are right
in saying that that doesn't really matter: it's the vocabulary that
matters. That's why I prepared the Schema; we already have the structure
(we are using RDF: RDF is our structure!).

>   <rdf:RDF
>     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>     xmlns:edl="http://www.w3.org/schema/edl">

Mental note: we need a solid namespace! N.B. I'm glad that we are following
the RDF convention that the NameSpace will point to the Schema (for
validation and parsing purposes). This appears to be in line with the
DesignIssues.

> edl:TestResult
>    Pass, Fail, NotApplicable, UnKnown

This looks very much like an XML Schema. The advantage to that is that the
results will be very clearly defined; the problem with specifying exactly
what results you can have for each property is that you can't extend the
model much in future. What if I wanted to add "Passed 80%" to that list? I
could do that if you used RDF schemes instead:-

> edl:TestResult
>      Specifies the EDL Test Result for the evaluation target.

Would mean you could have any value you wanted, provided that you
acknowledge the fact that it means it the the EDL Test Result for the
evaluation target. That's why I've written this little RDF Schema for EDL
as it stands:-

[1]
<?xml version="1.0"?>
<RDF
  xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<!--  This is the RDF Schema for EDL -->
<rdfs:Class rdf:ID="result" rdfs:label="result" rdfs:comment="A result
bag.">
   <rdfs:isDefinedBy
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag" />
</rdfs:Class>
<Property ID="testID" rdfs:label="testID"
  rdfs:comment="Identifies the property upon which the evaluation is being
performed.">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testResult" rdfs:label="testResult"
  rdfs:comment="Identifies the EDL Test Result for the evaluation target">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testConfidence" rdfs:label="testConfidence"
  rdfs:comment="Identifies the confidence to which the evaluation has been
performed">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testMode" rdfs:label="testMode"
  rdfs:comment="The mode under which the test has been carried out (e.g.
auto, manual etc.)">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testProgram" rdfs:label="testProgram"
  rdfs:comment="Identifies the test program used to carry out the
evaluation">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testAssertor" rdfs:label="testAssertor"
  rdfs:comment="The identity of the assetor of the evaluation (i.e.
whoSez)">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testDetail" rdfs:label="testDetail"
  rdfs:comment="Identifies the subelement being tested in a resource">
  <rdfs:domain rdf:resource="#result" />
</Property>
<Property ID="testComment" rdfs:label="testComment"
  rdfs:comment="A comment about the test">
  <rdfs:domain rdf:resource="#result" />
</Property>
</RDF>

That clearly shows that there is one bag like class, and a host of
properties that you can use for each property result.
Here is an example of some EDL:-

<?xml version="1.0"?>
  <rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:edl="http://infomesh.net/edl/rdfschema/">
    <rdf:Description rdf:about="http://www.w3.org/">
    <edl:result>
     <rdf:Description rdf:ID="output1">
       <edl:testID>
            http://www.w3.org/TR/WCAG/#tech-identify-grammar
       </edl:testID>
       <edl:testResult>Pass</edl:testResult>
       <edl:testConfidence>5</edl:testConfidence>
       <edl:testMode>Auto</edl:testMode>
       <edl:testProgram>http://validator.w3.org/ </edl:testProgram>
    </rdf:Description>
    <rdf:Description rdf:ID="output2">
       <edl:testID>
            http://www.w3.org/TR/WCAG/#tech-table-layout
       </edl:testID>
       <edl:testResult>Fail</edl:testResult>
       <edl:testConfidence>3</edl:testConfidence>
       <edl:testMode>Human</edl:testMode>
       <edl:testPerson>danield@w3.org</edl:testPerson>
       <edl:testDetail>http://www.w3.org/#first(table)</edl:testDetail>
       <edl:testComment>This table is being used for
layout</edl:testComment>
    </rdf:Description>
    </edl:result>
   </rdf:Description>
  </rdf:RDF>

Try pasting that into SiRPAC as usual, and marvel at the triples produced
:-)

Kindest Regards,
Sean B. Palmer
http://www.mysterylights.com/sbp/
"Perhaps, but let's not get bogged down in semantics."
   - Homer J. Simpson, BABF07.

Received on Monday, 18 December 2000 12:04:23 UTC