<> a <http://www.w3.org/2000/10/swap/logic.n3#N3Document>. # Ugly!
@prefix dc: <http://purl.org/dc/elements/1.1/>.

<> dc:title "Communication Protocol Semantics for the Semantic Web";
   <rcs#id> "$Id: cp.n3,v 1.2 2001/03/30 07:36:57 connolly Exp $";
   dc:source <mid:3ABBB577.EC8C5EB4@w3.org>,
	<http://www.daml.org/listarchive/joint-committee/0344.html>,
        <http://www.w3.org/DesignIssues/Toolbox#Assertion>.

@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix daml: <http://www.daml.org/2000/12/daml+oil#>.
@prefix email: <../../2000/04/maillog2rdf/email#>.
@prefix l: <http://www.w3.org/2000/10/swap/log.n3#>.
@prefix http: <http#>.
@prefix xml: <xml#>.
@prefix charmod: <charmod#>.
@prefix xrdf: <xrdf#>.
@prefix : <cp#>.

:Message a u:Class;
  u:label "Message";
  dc:description """A message is a physical/historical event.
	Two messages that carry the same bytes are distinct events.""";
  u:seeAlso <http://xmlns.com/wordnet/1.6/Event>,
	<http://xmlns.com/wordnet/1.6/Message>.

# an HTTP 200 OK message ?m says a statement ?st if
#  ?st is in the class of statements denoted
#  by the the xml document denoted by the body
#  of the message.
@prefix v: <#>.
<> l:forAll v:m, v:f, v:chars, v:content, v:formula.
{ v:m a http:OK200.
  v:m http:bodyText v:chars.
  v:content xml:serialize v:chars.
  v:content xrdf:parse v:formulas. # combine these two
  v:f a v:formulas.             # lines into one? v:f xrdf:match v:nodes
  }
  l:implies { v:m :says v:f}.


:after
  u:label "after";
  u:comment "after(x, y) means x comes after y, per a protocol";
  is u:subPropertyOf of email:in-reply-to, email:references.


# level-breaking stuff...

:uri a daml:UnambiguousProperty;
  u:range charmod:String;
  u:subPropertyOf dc:identifier.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix v: <#>.

#This seems to throw cwm into a loop...
# <> l:forAll v:s, v:p, v:o.
#
#{ v:s v:p v:o } l:implies
#  { { v:s v:p v:o } rdf:subject v:s;
#                    rdf:predicate v:p;
#                    rdf:object v:o. }.

