[HTTP-in-RDF] Revised simplified approach

Hi group,

based on the "simplified" approach presented in 
<http://lists.w3.org/Archives/Public/public-wai-ert/2007May/0024.html> 
and some discussion afterwards, here is a revision 
(HTTP-in-RDF_new_approach.txt).

There are "literal" properties for the Request's method (methodName), 
the Response's status code (statusCodeNumber) and the MessageHeader's 
name (fieldName). Additionally there are the corresponding "resource" 
properties method, statusCode and headerName. The idea was that the 
"literal" properties are required and the "resource" properties are 
optional. In case of a conflict, the "literal" properties win.

Methods are described in an additional RDF/XML file http-methods.rdf, 
StatusCodes in http-statusCodes.rdf, HeaderNames in http-headerNames.rdf 
(which is not ready yet). So we have a more or less static schema for 
the structure (HTTP-in-RDF_new_approach.rdfs) and three updatable files 
for references. This also removes the need for an extra namespace for 
header names. Now it's just another file to be published (and referenced).

I think we could talk about this in the next phone conference.
-- 
Johannes Koch
BIKA Web Compliance Center - Fraunhofer FIT
Schloss Birlinghoven, D-53757 Sankt Augustin, Germany
Phone: +49-2241-142628    Fax: +49-2241-142065
http:Connection
|- 1 http:connectionAuthority
|- 0..1 http:request

http:connectionAuthority (rdfs:Literal)
http:request ((Collection of) http:Request)


http:Message
|- 1 http:httpVersion
|- 0..1 http:header

http:httpVersion (rdfs:Literal)
http:header ((Collection of) http:MessageHeader)


http:Request rdfs:subClassOf http:Message
|- 1 http:methodName
|- 0..1 http:method
|- 1 http:requestURI
|- 0..1 http:body
|- 0..1 http:response

http:methodName (rdfs:Literal)
http:method (http:Method resource)
http:requestURI (rdfs:Literal or http://www.w3.org/2006/http#asterisk)
http:abs_path rdfs:subPropertyOf http:requestURI
http:absoluteURI rdfs:subPropertyOf http:requestURI
http:authority rdfs:subPropertyOf http:requestURI
http:body ((rdf:Alt of) http:Content)
http:response (http:Response)


http:Response rdfs:subClassOf http:Message
|- 1 http:statusCodeNumber
|- 0..1 http:statusCode
|- 1 http:reasonPhrase
|- 1 http:body

http:statusCodeNumber (rdfs:Literal, typed: 3Digit)
http:statusCode (http:StatusCode resource)
http:reasonPhrase (rdfs:Literal)


http:MessageHeader
|- 1 http:fieldName
|- 0..1 http:headerName
|- 1 http:fieldValue
|- 0..1 http:headerElement

http:fieldName (rdfs:Literal)
http:headerName (http:HeaderName resource)
http:fieldValue (rdfs:Literal)
http:headerElement ((Collection of) http:HeaderElement)


http:HeaderName [with predefined resources for each registered header]


http:HeaderElement
|- 1 http:elementName
|- 0..1 http:elementValue
|- 0..1 http:param

http:elementName (rdfs:Literal)
http:elementValue (rdfs:Literal)
http:param ((Collection of) http:Param)


http:Param
|- 1 http:paramName
|- 1 http:paramValue

http:paramName (rdfs:Literal)
http:paramValue (rdfs:Literal)


http:Content


http:Base64Content rdfs:subClassOf http:Content
|- 1 http:bytes

http:bytes (rdfs:Literal, typed: xsd:base64Binary)


http:TextContent rdfs:subClassOf http:Content
|- 1 http:chars

http:chars (rdfs:Literal)


http:XMLContent rdfs:subClassOf http:Content
|- 0..1 http:xmlLeadingMisc
|- 0..1 http:docTypeDecl
|- 1 http:xmlRest

http:xmlLeadingMisc (rdfs:XMLLiteral)
http:docTypeDecl (http:DocTypeDecl)
http:xmlRest (rdfs:XMLLiteral)


http:DocTypeDecl
|- 1 http:dtdName
|- 0..1 http:publicId
|- 0..1 http:systemId
|- 0..1 http:internalSubset

http:dtdName (rdfs:Literal)
http:publicId (rdfs:Literal)
http:systemId (rdfs:Literal, typed: xsd:anyURI)
http:internalSubset (rdfs:Literal)


http:Method [with predefined resources for each defined method]


http:StatusCode [with predefined resources for each registered status code]


http:StatusCodeGroup [with predefined resources for some status code groups: 1xx, 2xx, 3xx, 4xx, 5xx]
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:http="http://www.w3.org/2006/http#"
>

  <rdf:Description rdf:about="http://www.w3.org/2006/http#">
    <rdfs:comment xml:lang="en">A namespace for describing HTTP messages (http://www.w3.org/Protocols/rfc2616/rfc2616.html)</rdfs:comment>
  </rdf:Description>

  <!-- start classes -->
  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Base64Content">
    <rdfs:label xml:lang="en">Base64 content</rdfs:label>
    <rdfs:comment xml:lang="en">The base64 encoded content (can be used for all types of content)</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/http#Content"/>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Connection">
    <rdfs:label xml:lang="en">Connection</rdfs:label>
    <rdfs:comment xml:lang="en">The connection</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Content">
    <rdfs:label xml:lang="en">Content</rdfs:label>
    <rdfs:comment xml:lang="en">The message body content</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#DocTypeDecl">
    <rdfs:label xml:lang="en">Document type declaration</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declaration</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#HeaderElement">
    <rdfs:label xml:lang="en">Header element</rdfs:label>
    <rdfs:comment xml:lang="en">The header element</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#HeaderName">
    <rdfs:label xml:lang="en">Header name</rdfs:label>
    <rdfs:comment xml:lang="en">The header name</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#MessageHeader">
    <rdfs:label xml:lang="en">Message header</rdfs:label>
    <rdfs:comment xml:lang="en">The message header</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Message">
    <rdfs:label xml:lang="en">Message</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP message</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Method">
    <rdfs:label xml:lang="en">Method</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP method</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Param">
    <rdfs:label xml:lang="en">Parameter</rdfs:label>
    <rdfs:comment xml:lang="en">The field value parameter</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Request">
    <rdfs:label xml:lang="en">Request</rdfs:label>
    <rdfs:comment xml:lang="en">The request</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/http#Message"/>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#Response">
    <rdfs:label xml:lang="en">Response</rdfs:label>
    <rdfs:comment xml:lang="en">The response</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/http#Message"/>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#StatusCode">
    <rdfs:label xml:lang="en">Status code</rdfs:label>
    <rdfs:comment xml:lang="en">The status code</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#StatusCodeGroup">
    <rdfs:label xml:lang="en">Status code group</rdfs:label>
    <rdfs:comment xml:lang="en">The tatus code group</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#TextContent">
    <rdfs:label xml:lang="en">Text content</rdfs:label>
    <rdfs:comment xml:lang="en">The text content (can be used for non-XML-wellformed text resources)</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/http#Content"/>
  </rdfs:Class>

  <rdfs:Class rdf:about="http://www.w3.org/2006/http#XMLContent">
    <rdfs:label xml:lang="en">XML content</rdfs:label>
    <rdfs:comment xml:lang="en">The XML content (can be used for XML-wellformed resource)</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2006/http#Content"/>
  </rdfs:Class>
  <!-- end classes -->


  <!-- start properties -->
  <rdf:Property rdf:about="http://www.w3.org/2006/http#abs_path">
    <rdfs:label xml:lang="en">Absolute path</rdfs:label>
    <rdfs:comment xml:lang="en">The absolute path sort of request URI</rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2006/http#requestURI"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#absoluteURI">
    <rdfs:label xml:lang="en">Absolute URI</rdfs:label>
    <rdfs:comment xml:lang="en">The absolute request URI</rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2006/http#requestURI"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#authority">
    <rdfs:label xml:lang="en">Authority</rdfs:label>
    <rdfs:comment xml:lang="en">The authority sort of request URI</rdfs:comment>
    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2006/http#requestURI"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#body">
    <rdfs:label xml:lang="en">Body</rdfs:label>
    <rdfs:comment xml:lang="en">The message body; http:Content or rdf:Alt of http:Content</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Message"/>
    <!--
    <rdfs:range rdf:resource=""/>
    -->
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#bytes">
    <rdfs:label xml:lang="en">Bytes</rdfs:label>
    <rdfs:comment xml:lang="en">The bytes in an http:BinaryContent; typed: xsd:base64Binary</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Base64Content"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#chars">
    <rdfs:label xml:lang="en">Characters</rdfs:label>
    <rdfs:comment xml:lang="en">The characters in an http:TextContent</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#TextContent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#connectionAuthority">
    <rdfs:label xml:lang="en">Connection authority</rdfs:label>
    <rdfs:comment xml:lang="en">The connection authority</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Connection"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#docTypeDecl">
    <rdfs:label xml:lang="en">Document type declaration</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declaration</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#XMLContent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#DocTypeDecl"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#dtdName">
    <rdfs:label xml:lang="en">DTD name</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declaration name</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#DocTypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#elementName">
    <rdfs:label xml:lang="en">Element name</rdfs:label>
    <rdfs:comment xml:lang="en">The header element name</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#HeaderElement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#elementValue">
    <rdfs:label xml:lang="en">Element value</rdfs:label>
    <rdfs:comment xml:lang="en">The header element value</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#HeaderElement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#fieldName">
    <rdfs:label xml:lang="en">Field name</rdfs:label>
    <rdfs:comment xml:lang="en">The field name; literal header name</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#MessageHeader"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#fieldValue">
    <rdfs:label xml:lang="en">Field value</rdfs:label>
    <rdfs:comment xml:lang="en">The field value; rdfs:Literal or http:HeaderElement</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#MessageHeader"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#header">
    <rdfs:label xml:lang="en">Header</rdfs:label>
    <rdfs:comment xml:lang="en">The header</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Message"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#MessageHeader"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#headerElement">
    <rdfs:label xml:lang="en">Header element</rdfs:label>
    <rdfs:comment xml:lang="en">The header element</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#MessageHeader"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#HeaderElement"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#headerName">
    <rdfs:label xml:lang="en">Header name</rdfs:label>
    <rdfs:comment xml:lang="en">The header name; interpreted field name</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#MessageHeader"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#HeaderName"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#httpVersion">
    <rdfs:label xml:lang="en">HTTP version</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP version</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Message"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#internalSubset">
    <rdfs:label xml:lang="en">Internal subset</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declarations's internal subset</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#DocTypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#method">
    <rdfs:label xml:lang="en">Method</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP method</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Request"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#Method"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#methodName">
    <rdfs:label xml:lang="en">Method name</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP method name</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Request"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#param">
    <rdfs:label xml:lang="en">Parameter</rdfs:label>
    <rdfs:comment xml:lang="en">The parameter</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#HeaderElement"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#Param"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#paramName">
    <rdfs:label xml:lang="en">Parameter name</rdfs:label>
    <rdfs:comment xml:lang="en">The parameter name</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Param"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#paramValue">
    <rdfs:label xml:lang="en">Parameter value</rdfs:label>
    <rdfs:comment xml:lang="en">The parameter value</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Param"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#publicId">
    <rdfs:label xml:lang="en">Public ID</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declarations's public identifier</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#DocTypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#reasonPhrase">
    <rdfs:label xml:lang="en">Reason phrase</rdfs:label>
    <rdfs:comment xml:lang="en">The reason phrase (status text)</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Response"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#request">
    <rdfs:label xml:lang="en">Request</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP request</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Connection"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#Request"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#requestURI">
    <rdfs:label xml:lang="en">Request URI</rdfs:label>
    <rdfs:comment xml:lang="en">The request URI; rdfs:Literal or http://www.w3.org/2006/http#asterisk</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Request"/>
    <!--
    <rdfs:range rdf:resource=""/>
    -->
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#response">
    <rdfs:label xml:lang="en">Response</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP response</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Request"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#Response"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#statusCode">
    <rdfs:label xml:lang="en">Status code</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP status code</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Response"/>
    <rdfs:range rdf:resource="http://www.w3.org/2006/http#StatusCode"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#statusCodeNumber">
    <rdfs:label xml:lang="en">Status code</rdfs:label>
    <rdfs:comment xml:lang="en">The HTTP status code number; rdfs:Literal (typed: 3digit)</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#Response"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#systemId">
    <rdfs:label xml:lang="en">System ID</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declarations's system identifier (typed: xsd:anyURI)</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#DocTypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#xmlLeadingMisc">
    <rdfs:label xml:lang="en">XML leading misc</rdfs:label>
    <rdfs:comment xml:lang="en">The XML content preceding the document type declaration</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#XMLContent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#XMLLiteral"/>
  </rdf:Property>

  <rdf:Property rdf:about="http://www.w3.org/2006/http#xmlRest">
    <rdfs:label xml:lang="en">XML rest</rdfs:label>
    <rdfs:comment xml:lang="en">The XML content following the document type declaration</rdfs:comment>
    <rdfs:domain rdf:resource="http://www.w3.org/2006/http#XMLContent"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#XMLLiteral"/>
  </rdf:Property>
  <!-- end properties -->


  <http:Description rdf:about="http://www.w3.org/2006/http#asterisk">
    <rdfs:label xml:lang="en">Asterisk</rdfs:label>
    <rdfs:comment xml:lang="en">The asterisk as a request URI</rdfs:comment>
  </http:Description>

</rdf:RDF>

Received on Thursday, 5 July 2007 14:11:03 UTC