@prefix m: <http://www.w3.org/2000/10/swap/pim/email@@#>.
@prefix c: <http://www.w3.org/2000/10/swap/pim/contact#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix str: <http://www.w3.org/2000/10/swap/string#>.

@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <myMailRules#>.

this log:forAll :who, :mbox, :mbox2,
	:ddmmmyyyy, :mmm, :yyyy, :mmmyyyy,
	:name, :F, :s, :p, :o.

m:to a :RecipProp.
m:cc a :RecipProp.

:me c:mailbox <mailto:connolly@w3.org>
  #@@personal stuff too?
  # ,  <mailto:connolly97@yahoo.com>
.


# Replies come from people.
# i.e. the phrase used in the From header of a reply
# is the fullname of a person.
{
  <recentReplies.rdf> log:semantics [ log:includes {
    [ #@@should check for an in-reply-to again
      m:from :who ].
    :who m:mbox :mbox; m:phrase :name.
    } ].
}
  log:implies
  { :mbox :ownerName :name }.

:ownerName :_composes [ :_inverse c:mailbox ]; :_with c:fullName.

this log:forAll :p1, :p2, :p3.

{ :p1 :_composes [ :_inverse :p2 ]; :_with :p3.
  :s :p1 :o } log:implies { [ :p2 :s; :p3 :o ] }.


# Any person I write to is a contact of mine.

{ :p a :RecipProp.
  :me c:mailbox :mbox2.
  :who c:mailbox :mbox.

  <recentMailFromMe.rdf> log:semantics [ log:includes {
  [ m:from [ m:mbox :mbox2];
    :p [ m:mbox :mbox ];
   ]. } ].
}
log:implies
  { :me :contact :who.
    :who :contactedBy :me; :during :mmmyyyy }.

#any address I write to goes on my whitelist
{ :p a :RecipProp.
  :me c:mailbox :mbox2.

  <recentMailFromMe.rdf> log:semantics [ log:includes {
  [ m:from [ m:mbox :mbox2];
    :p [ m:mbox :mbox] ]. } ].
}
log:implies
  { :me :sentMailTo :mbox }.


  