Re: Statements about statements -- Help needed!

[cc- tag, cos I think this isn't really their thing]

Hi Misha and al.

On Thu, 22 Dec 2005 18:27:18 +0100, Misha Wolf <"Misha.Wolf"@reuters.com>  
wrote:

> In working on the XSLT transform to convert NewsML 2 [1] metadata
> to RDF, we're having problems with statements about statements.  We
> would appreciate advice, especially if it is couched in terms we can
> understand.

I'll try...

> It is the second category that is causing us problems.  It includes
> statements such as:
> -  this statement was created by A
> -  this statement was created on date/time B
> -  this statement was made with confidence level C
> -  the relevance level of this statement to the news item is D
> -  this statement is based on information derived by method E

> So it seems that we couldn't express:
> -   Fred said on 22 Dec 2005, with a confidence of 40%, that
>     a subject of this news item is concept X.
> The section seems to offer two semi-viable options:
> -  Use rdf:ID to identify a statement and then make statements about
>    the identified statement.

EARL [1] faced a similar problem. So you don't have to start with the  
spec, here's a summary in "english" (chaalsk to be precise ;)

EARL is about conformance - the idea is a language to say that Foo  
conforms to some set of requirements. The common example used, because it  
was developed by accessibility people, is that a web page at  
http://www.w3.org conforms to WCAG level double-A.

The structure used is something like

There is an Assertion (which can have an rdf:ID).
The assertion has various properties - it is about some test subject, it  
was asserted by somebody, the conformance requirement is something, it was  
created on some date, and so forth.

So an assertion has something like a dc:creator, it has a dc:date, and it  
could indeed have earl:confidence C (we have deferred that for reasons  
that are to do with confidence descriptions themselves, rather than any  
problem with associating them).

In RDF:

<earl:Assertion rdf:ID="#assertion">
   <earl:assertedBy rdf:resource="#assertor"/>
   <earl:subject rdf:resource="#subject"/>
   <earl:testcase rdf:resource="#testcase"/>
   <earl:mode  
rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#manual"/>
   <earl:result  
rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#pass"/>
</earl:Assertion>

Somewhere else in the document is a description of the assertor, such as

<foaf:Person rdf:nodeID="assertor">
   <foaf:name>Fred Nerk</foaf:name>
   <foaf:mbox rdf:resource="fredNerk@example.com" />
</foaf:Person>

(this could equally be in a different document).

You could also declare the assertor  and any other properties you like  
somewhere else in the document or the Web, as in the following:

<rdf:Description rdf:about="#assertion">
     <!-- or http://example.com/some#assertion from another document -->
   <earl:assertor rdf:resource="#assertor" />
   <dc:date rdf:datatype="&date;">2007-11-12</dc:date>
</rdf:Description>

(datatypes aren't necessary, but they are a Very Good Idea (TM) for string  
values, IMHO). instead of earl:assertor you can of course use dc:creator  
(they are closely related)

[1] http://www.w3.org/TR/EARL10 - this is due for an update as soon as I  
get time for it - hopefully over the Christmas "break".

Hope that is helpful. I think it is nice and simple, but that's because it  
has been in my head for years, so pointing out what is not obvious would  
be helpful to me.

cheers

Chaals

-- 
Charles McCathieNevile                     chaals@opera.com
   hablo español  -  je parle français  -  jeg lærer norsk
      Peek into the kitchen: http://snapshot.opera.com/

Received on Thursday, 22 December 2005 18:10:21 UTC