annotation status property proposal

I have been thinking more about how a status property should be defined 
and have drafted a proposal (note that I am not an RDF schema expert, 
and also note that the schema URIs may need to be changed).

The attached RDF schema defines a series of classes to support these 6 
status values:

   NeedsAction
   InProcess
   Reopened
   Completed
   Approved
   Closed

We'd also have to add a property definition like the following to the 
Annotation schema (http://www.w3.org/2000/10/annotation-ns#):

<rdf:Property
   rdf:about="http://www.w3.org/2000/10/annotation-ns#status">
   <rdfs:label xml:lang="en">status</rdfs:label>
   <rdfs:comment>An annotation's status.</rdfs:comment>
   <rdfs:isDefinedBy
     rdf:resource="http://www.w3.org/2000/10/annotation-ns#"/>
   <rdfs:range
     rdf:resource="http://www.w3.org/2000/10/annotationStatus#Status"/>
</rdf:Property>

Here is an example of an annotation that uses the new property (notice 
the a:status property near the end):

<r:RDF
   xmlns:a="http://www.w3.org/2000/10/annotation-ns#"
   xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:h="http://www.w3.org/1999/xx/http#">
<r:Description>
<r:type
   r:resource="http://www.w3.org/2000/10/annotation-ns#Annotation"/>
<r:type
   r:resource="http://www.w3.org/2000/10/annotationType#Comment"/>
<a:annotates r:resource="http://example.com/"/>
<a:context>http://example.com/#xpointer(/html[1])</a:context>
<dc:language>en</dc:language>
<a:body>
<h:Message>
<h:ContentType>text/html</h:ContentType>
<h:Body r:parseType="Literal"><![CDATA[<html><head>
<title></title></head><body>The phone number on this page is wrong.
</body></html>]]></h:Body>
</h:Message>
</a:body>
<a:status
   r:resource="http://www.w3.org/2000/10/annotationStatus#NeedsAction"/>
</r:Description>
</r:RDF>


I chose the set of 6 values in the attached schema by examining the 
iCalendar TODO item STATUS values from RFC 2445 as well as the Bugzilla 
bug status values.  Here is a table that summarizes the values that are 
available in each specification:

Bugzilla      iCalendar      This Proposal
--------      ---------      ----------------
UNCONFIRMED   -              -
NEW           NEEDS-ACTION   NeedsAction
ASSIGNED      IN-PROCESS     InProcess
REOPENED      -              Reopened
RESOLVED      COMPLETED      Completed
VERIFIED      -              Approved
CLOSED        -              Closed
-             CANCELLED      -

In my opinion, "unconfirmed" is fairly specific to Bugzilla and "closed" 
is close enough to "cancelled" that both are not needed.  What do other 
people think?

-Mark Smith
  Pearl Crescent, LLC
  http://pearlcrescent.com

Received on Thursday, 17 March 2005 21:54:55 UTC