<> 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix rcs: <rcs#>.
@prefix : <mime#>.
@prefix dt: <http://www.w3.org/2001/XMLSchema#>.
@prefix inet: <../02pd/rfc65#>.


<> dc:title "An RDF specification of MIME";
  dc:source <http://www.nacs.uci.edu/indiv/ehood/MIME/2045/rfc2045.html>,
	<http://www.nacs.uci.edu/indiv/ehood/MIME/2046/rfc2046.html>;
  rcs:id "$Id: mime.n3,v 1.2 2001/03/30 07:36:57 connolly Exp $".

<http://www.nacs.uci.edu/indiv/ehood/MIME/2045/rfc2045.html>
  inet:rfc "2045";
  dc:date "1996-11";
  dc:title """Multipurpose Internet Mail Extensions

                                 (MIME) Part One:
                        Format of Internet Message Bodies""".


:body a daml:UniqueProperty;
  u:label "body";
  u:range dt:hexBinary. # or should it be [ is dt:valueSpace of dt:hexBinary ?]

:bodyText a daml:UniqueProperty;
  u:label "bodyText";
  u:range dt:string.

:content-type u:subPropertyOf rdf:type;
  u:range :MediaType.

:MediaType
  u:label "Media type".

:typeName a daml:UnambiguousProperty;
  u:subPropertyOf u:label;
  u:domain :MediaType;
  u:range :token.

:token u:subClassOf dt:string;
  #@@ convert to xml schema pattern
  u:comment "1*<any (US-ASCII) CHAR except SPACE, CTLs,
                 or tspecials>".


:Text :typeName "text".
:Image :typeName "image".
:Audio :typeName "audio".
:Video :typeName "video".
:Application :typeName "application".

:PlainText u:subClassOf :Text; :subTypeName "plain".

@prefix l: <http://www.w3.org/2000/10/swap/logic.n3#>.
@prefix v: <#>. # variables.

<> l:forAll v:e, v:octets, v:enc, v:chars.

{ v:e :body v:octets.
  v:e :charset v:enc.
  v:octets v:enc v:chars }
  l:implies { v:e :bodyText v:chars }.

