- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Thu, 28 Sep 2006 14:50:32 +0200
- To: Kendall Clark <kendall@monkeyfist.com>
- Cc: dawg mailing list <public-rdf-dawg@w3.org>
This review wasn't exactly what you were looking for, but may still be
helpful to the EARL folks. Should I send them to the earl comments
list claiming them to come from the DAWG (with or without discussion),
or should I send them privately?
On Mon, Sep 18, 2006 at 02:05:22AM +0200, Eric Prud'hommeaux wrote:
> On Thu, Sep 14, 2006 at 06:33:24PM -0400, Kendall Clark wrote:
> >
> > Folks,
> >
> > I promised the SWCG that I'd try to find someone on DAWG to review
> > the EARL schema:
> >
> > http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Schema-20060905g
>
> == Example 3 ==
> <http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Schema-20060905#example-3>
> <earl:Assertion rdf:ID="#assertion">
> should be "assertion" (kudos to emacs22 nxml-mode).
>
> There are a few other mods I had to make. See the attached xslt for
> how I extracted the examples, and the attached rdf file for what my
> final edit was. (Ignore the html mods in the parseType="Literal" --
> they were just so I keep the text brief.)
>
>
> == 2.1 Assertion ==
> <http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Schema-20060905#example-3>
> It may be worth associating the mode with the assertor, eg
>
> <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" />
> <!-- removed mode -->
> <!-- earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mixed"/ -->
> </earl:Assertion>
>
> <earl:compoundAssertor rdf:ID="assertor">
> <dc:title xml:lang="en">Bob using Two Cool Tools</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:helpAssertor rdf:resource="#validator"/>
> <earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#mixed"/>
> </earl:compoundAssertor>
>
> <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>
> <earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#semiauto"/>
> </foaf:Person>
>
> <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:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#semiauto"/>
> </earl:Software>
>
> <earl:Software rdf:ID="validator">
> <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:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic"/>
> </earl:Software>
>
> This might be worth 10 minutes thought, but feel free to dismiss as it
> may not have much payback.
>
>
> == Confidence Level ==
> <http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Schema-20060905#example-3>
> [[
> 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.
> ]]
>
> I don't see much value to a standardized predicate with an
> application-specific range. I would guess you serve more needs if you
> specify a fairly arbitrary, human-friendly range, say, 0-100, and let
> the apps that need their own range use their own predicate in addition
> to the standard one:
> <earl:result rdf:about="#result">
> <earl:confidence rdf:datatype="http://www.w3.org/2001/XMLSchema#int">87</earl:confidence>
> <my:confidence rdf:datatype="http://www.w3.org/2001/XMLSchema#int">65535</earl:confidence>
> </earl:result>
>
> what is an "RDF values"? (There's only one instance of the term in the
> spec.)
>
>
> == 2.6.3. Instance Location ==
> <http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Schema-20060905#instancelocation?
> [[
> 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 re
> grouped by Pointer Collection classes. Each instance of such a
> collection must describe exactly one occurence of an area.
> ]]
>
> Readers could use more guidance on "area". Perhaps you get the most
> bang for the buck by saying it's logical section of a document
> identifiable by at least one of these addressing schemes.
>
> Hard case: identifying the location of a cognitive barrier introduced
> by the intereaction of a flowed paragraph and the picture it's flowing
> around. Worth it? I dunno. 10 minutes thought by the experts.
>
> [[
> earl:htmlPointer
> An HTML Pointer string expression
> ]]
>
> Is that a URL reference (#label thingy)?
>
> I don't think you need both earl:charSnippet and earl:byteSnippet.
> Rather, I think that these two identify quoted-printable and base64
> RFC2045 § 6 Content-Transfer-Encodings. Please consider merging them
> into a earl:snippit property with an object with an
> ear:encodingMechanism with values like #quoted-printable, #eightBit,
> #base64.
>
> _:result earl:instance [
> earl:snippet [
> a earl:SnippetPointer ;
> earl:encodingMechanism smtp:base64 ;
> earl:content "A32F48ED3F2" ] ;
> earl:snippet [
> a earl:SnippetPointer ;
> earl:encodingMechanism smtp:quoted-printable ;
> earl:content "Hi mom!" ] ;
> ] .
>
>
> == 2.8. Web Content ==
> <http://www.w3.org/WAI/ER/EARL10/WD-EARL10-Schema-20060905#webcontent>
> [[
> earl:httpResponse
> HTTP response (except the actual payload of the date) sent by the
> server to the client
> ]]
>
> s/date/data/
> rfc2616 says that a response is made of:
> Response = Status-Line ; Section 6.1
> *(( general-header ; Section 4.5
> | response-header ; Section 6.2
> | entity-header ) CRLF) ; Section 7.1
> CRLF
> [ message-body ] ; Section 7.2
> Infortunately, there's no convenient "headers" production, but you can
> s/payload/message-body/ in order to tie back to the RFC terminology.
> (I assume you you want the Status-Line included.)
>
> [[
> 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.
> ]]
> Ooo, attacking the non-REST interactions. That *is* ambitious.
> Is that a requirement? You can never be sure you've captured enough in
> your log for someone to duplicated the experience, even if they can go
> back in time. If you want to give folks a rough tool that they can use
> to captures *some* of these, I'd get rid of the dc:format (or tie it
> redundantly to the indivitual requests and responses), and make the
>
> [ a earl:TestSubject ;
> earl:messageSequence ( [ Server "example.org" ;
> port "80" ;
> request "GET /loginPage..." ;
> response "200..." ]
> [ server "example.org" ;
> port "80" ;
> request "GET /loginPage...?name=ericP..." ;
> response "200...cookie..." ]
> [ server "example.org" ;
> port "80" ;
> request "GET /service...cookie..." ;
> response "200..." ] ) ] .
> for documents that can't be identified by URI, and
> [ a earl:TestSubject ;
> earl:uri <http://example.org/service> ]
> for documents that can be.
>
> 2.8 also could use an example.
>
>
> == Query-ability ==
>
> Looking at this from the SPARQL perspective ,this is all trivially
> query-able. For example, from the attached data extracted from the
> examples wiht the attached earl-ex.xslt , I queried
>
> [[
> PREFIX earl: <http://www.w3.org/WAI/ER/EARL/nmg-strawman#>
> PREFIX dc: <http://purl.org/dc/elements/1.1/>
> PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> SELECT ?name ?title ?val ?conf
> WHERE { ?assert earl:subject [ dc:title ?title ] ;
> earl:test [ dc:identifier "http://example.org/tests/html/#282" ] ;
> earl:result [ earl:validity ?val ; earl:confidence ?conf ] ;
> earl:assertedBy [ earl:mainAssertor [ foaf:name ?name ] ] }
> ]]
>
> and got back:
>
> +-------------------+--------------+---------+----+
> | name| title| val|conf|
> |-------------------|--------------|---------|----|
> |"Bob B. Bobbington"|"Login Applet"|earl:fail| 87|
> +-------------------+--------------+---------+----+
>
>
> == General Comments ==
>
> I was impressed by this spec, though you tackle some difficult stuff
> near the end. Have fun!
>
>
> == Mapping to DAWG tests ==
> should be done soon
> --
> -eric
>
> home-office: +1.617.395.1213 (usually 900-2300 CET)
> +33.1.45.35.62.14
> cell: +33.6.73.84.87.26
>
> (eric@w3.org)
> Feel free to forward this message to any list for any purpose other than
> email address distribution.
> <?xml version='1.0' ?>
> <xsl:transform version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:html="http://www.w3.org/1999/xhtml">
> <xsl:output method="text" encoding="utf-8" indent="no" />
>
> <xsl:template match="/">
> <xsl:text><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:dc="http://purl.org/dc/elements/1.1/"
> xmlns:dct="http://purl.org/dc/terms/"
> xmlns:foaf="http://xmlns.com/foaf/0.1/">
> </xsl:text>
> <xsl:apply-templates />
> <xsl:text>
> </rdf:RDF>
> </xsl:text>
> </xsl:template>
>
> <xsl:template match="//html:pre[@class='schema']"/>
>
> <xsl:template match="//html:pre/html:code">
> <xsl:value-of select="." />
> <xsl:text>
> </xsl:text>
> </xsl:template>
>
> <xsl:template match="text()"/>
>
> </xsl:transform>
--
-eric
home-office: +1.617.395.1213 (usually 900-2300 CET)
+33.1.45.35.62.14
cell: +33.6.73.84.87.26
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Thursday, 28 September 2006 12:49:29 UTC