# This hasn't been updated since Nov 13  2000.
@prefix : <#>.
@prefix daml: <http://www.daml.org/2000/10/daml-ont#>.
<> :writtenIn <http://www.w3.org/DesignIssues/Notation3>.

<> daml:versionInfo "$Id: minutes.n3,v 1.2 2002/03/11 21:57:14 connolly Exp $".

@prefix w: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.


:MeetingRecord
    w:type u:Class;
    u:seeAlso [= <http://www.w3.org/Project/Meeting>;
		u:label "Essentials of Effective Meetings"]
  .

:Action
 w:type u:Class;
 u:comment """@@encode rule that you can't assign
	an action to somebody who's not there.""".

:index
  w:type u:Property;
  u:domain :Action;
  u:range u:ContainerMembershipProperty;
  u:rule
   """I haven't implemented ``'' for quoting
	nor () for lists yet, so I'm text-quoting this.@@

    [rule:vars (:nth :aRecord :anAction :anAgenda
			:anItem);

     w:type algernon:IfAddedRule;
     algernon:onClass :Action;
     u:comment @@need another if-added rule for
		each time the is __ of construct is used.@@;

     rule:if `` :anAction :index :nth.
		:anAction is :result of :anItem.
		:anItem is :member of :anAgenda.
		:anAgenda is :agenda of :aRecord. '';
     rule:then `` ?anAction is :nth of
                [ is :actions of :aRecord] ''
    ]""".

:date
 w:type u:Property;
 u:comment """date of meeting recorded;
	for :date(?record, ?str) read:
		?record is :record of
		[ a :WeeklyMeeting;
		:occurredOn ?str
		]
	this has the resolution of one day;
	it's unambiguous over WeeklyMeetings.
	Hmm... how to do rules in n3@@.
	cf XML schema date datatype""".

:record
 w:type u:Property;
 u:label "record";
 u:comment "for record(r, m) read: r is a record of m".


:previous
 w:type u:Property;
 u:label "previous";
 u:comment """for previous(x, y) read: y is a record of the meeting
  previous to the meeting that x records.
  Makes more sense for periodic meetings.""".

:ChairAck
 w:type u:Class;
 u:comment "acceptance of the chair role";
 u:seeAlso <http://www.w3.org/Project/Meeting#chair>.

:ScribeAck
 w:type u:Class;
 u:comment "acceptance of the scribe role";
 u:seeAlso <http://www.w3.org/Project/Meeting#scribe>.


:Regrets
 w:type u:Class;
 u:comment """a message offering regrets to a meeting chair.
   hmm... subclasses for OnHoliday vs. OutOfOffice?
   or perhaps a reason/purpose property?""".


:roll
  a u:Property;
  u:range u:Sequence;
  u:comment """this is a list of responses from each
	of the expected participants, as their
	name was called; note that they do not
	necessarily follow the role call, chronologically.""".

:from
  w:type u:Property;
  u:comment """
	The from property is grounded in interactions
	with the phonelist database in some way that
	I intend to specify later@@.
        I'd like the nickname field in the team
	phonelist enhanced to be a 1-many 'aka' relation
	so that we can store handles like DanC, DC
	for me, with the constraint that no two
	team members can be aka the same string.
	Hm... maybe use the sendmail aliases?
	Regard the w3t namespace as case-insensitive?""".

:via
 w:type u:Property.

:agenda
 w:type u:Property;
 u:label "agenda";
 u:comment """for agenda(r, l) read: l is the list of agenda in
   the meeting record r.""".

:summary
 w:type u:Property;
 u:label "summary";
 u:comment """for summary(i, s) read: item i has summary s, 
  or s is a summary of item i.""".

:result
 w:type u:Property;
 u:label "result";
 u:comment """for result(i, r) read: item i has result r.
   a result is generally an action item or a decision.""".

:meetingCall
 w:type u:Property;
 u:label "meetingCall";
 u:comment """for meetingCall(r, msg) read: the meeting recorded
   in r was called in message msg.""".

