<> a <http://www.w3.org/2000/10/swap/logic.n3#N3Document>. # Ugly!

@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix daml: <http://www.daml.org/2000/12/daml+oil#>.
@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix inet: <../02pd/rfc65#>.

@prefix cp: <cp#>.
@prefix : <http#>.
@prefix rcs: <rcs#>.
@prefix mime: <mime#>.


@prefix dt: <http://www.w3.org/2001/XMLSchema#>.

<>
  dc:title "An RDF Specification of Hypertext Transfer Protocol (HTTP)";
  rcs:id "$Id: http.n3,v 1.1 2001/03/29 23:04:49 connolly Exp $";
  dc:source
     <http://www.w3.org/Protocols/rfc2616/rfc2616.html>;
  u:seeAlso
    <mid:3ABBB577.EC8C5EB4@w3.org>,
    <http://www.daml.org/listarchive/joint-committee/0344.html>.

<http://www.w3.org/Protocols/rfc2616/rfc2616.html> inet:rfc "2616".

:Message u:subClassOf cp:Message.

:Request u:subClassOf :Message;
  u:isDefinedBy <http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5>.

:Response u:subClassOf :Message;
  u:isDefinedBy <http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec6>;
  daml:disjointFrom :Request.

:inReplyTo a daml:UniqueProperty;
  u:domain :Response;
  u:range :Request;
  u:comment "@@where is it specified that each HTTP reply corresponds to exactly one request?";
  u:subPropertyOf cp:inOrder.

:statusCode a daml:UniqueProperty;
  u:domain :Response;
  u:range [ u:subClassOf dt:string;
            dt:pattern "\d{3}" ].
            
:OK200
  daml:intersectionOf
  (:Response
   [ daml:onProperty :statusCode;
     daml:hasValue "200" ]).

:body u:subPropertyOf mime:body.

#############
# This is perhaps not quite as specified in the March 2001
# DAML spec, but it's how I hope we do things.

dt:string u:seeAlso
  <http://www.w3.org/TR/xmlschema-2/#schema>.

<http://www.w3.org/TR/xmlschema-2/#schema> :excerpt
"""

 XML Schema datatypes; see Appendix A.
        For example, to address the int datatype, the URI is:                 
                                                                     
         http://www.w3.org/2001/XMLSchema#int                          
                                                                               
       Additionally, each facet definition element can be uniquely     
       addressed via a URI constructed as follows:                   
         1) the base URI is the URI of the XML Schema namespace 
         2) the fragment identifier is the name of the facet        
                                                                               
       For example, to address the maxInclusive facet, the URI is:       
                                                                
         http://www.w3.org/2001/XMLSchema#maxInclusive
""".
