@prefix u: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix dca: <http://dublincore.org/2000/03/13-dcagent#>.
@prefix dcq: <http://dublincore.org/2000/03/13-dcq#>.
@prefix : <http://www.w3.org/2001/02pd/rfc56#>.
@prefix rfc822: <http://www.w3.org/2000/04/maillog2rdf/email#>.
@prefix cp: <#>. #@@ communications protocol.

<> dc:title
 "An event-based model of Internet RFC publication.";
 dc:description
 """an event-based[INDECS, Harmony] model of Internet RFC publication.
 $Id: rfc65.n3,v 1.2 2001/04/21 03:09:14 connolly Exp $

 TODO: set up an RSS feed for ietf-announce based on this model.
	then do it for http://www.w3.org/TR/ , of course.

 relevant discussion fora: rdf-interest, uri@w3.org, spec-prod@w3.org,
	rss-dev??? dublin core architecture, ietf-discuss?

 ** fractal consistency: email blast, "current" http archive,
	monthly http archive, the RFC index,
ftp://ftp.isi.edu/in-notes/rfc-index.txt
	periodic (quarterly) publication of STD 1
        W3C should perhaps produce something like this for each AC meeting.

 non-repudiability of RFCs is achieved thru
   -- widespread distribution of ietf-announce
   -- lots of copies of the RFC archives
 (see also: public notary functionality described by Mennasse at W3C DRM WS)


 ** classical vs. chaotic: ASCII/english as the authoritative view;
	all others secondary; this is a classical approach.
	Unix documentation traditionally takes this approach;
	microsoft documentation seems to take a more chaotic
	approach: there are lots of descriptions of a technology
	from different viewpoints, but no single point of reference
	(except maybe the source code?)
 """;
 u:seeAlso # or: dc:source?
   [ :title "The Internet Standards Process -- Revision 3";
     :rfc "2026";
     :date "October 1996";
     = <ftp://ftp.isi.edu/in-notes/rfc2026.txt> ].

<ftp://ftp.isi.edu/in-notes/rfc2026.txt> cp:says
""" An official summary of standards actions completed and pending shall
   appear in each issue of the Internet Society's newsletter.  This
   shall constitute the "publication of record" for Internet standards
   actions.   

   The RFC Editor shall publish periodically an "Internet Official
   Protocol Standards" RFC [1], summarizing the status of all Internet
   protocol and service specifications. """;
   :obsoletes
   <ftp://ftp.isi.edu/in-notes/rfc1083.txt>.


<ftp://ftp.isi.edu/in-notes/rfc1083.txt> :rfc "1083";
 cp:says
   """This memo is issued quarterly, please be sure the copy you are
   reading is dated within the last three months.""".


<mid:200102011746.JAA15337@boreas.isi.edu>
 rfc822:subject "RFC 3046 on DHCP Relay Agent Information Option";
 rfc822:date "Thu, 01 Feb 2001 09:46:50 -0800";
 is dc:source of <http://www.ietf.org/mail-archive/ietf-announce/Current/msg11050.html>;

 cp:says # among other things...
 {
  <ftp://ftp.rfc-editor.org/in-notes/rfc3046.txt>
    :RFC "3046"; #hmm... number vs. numeral
    :title "DHCP Relay Agent Information Option";
    # hmm... what it actually says is:
    # [ u:label "Title"] "DHCP Relay Agent Information Option";
    :authors ( "M. Patrick" );
    :status "Standards Track";
    :date "January 2001";
    :mailbox ( "michael.patrick@motorola.com");
       # hmm... InterpretationProperties...
       # :mailbox (<mailto:michael.patrick@motorola.com>);
    :pages "14";
    :characters "30633"; #content-length?
    :updatesObsoletesSeeAlso ();
    :I_D_tag "draft-ietf-dhc-agent-options-12.txt"
 }.


#######
# schema-ish stuff

@prefix log: <http://www.w3.org/2000/10/swap/log.n3#>.
@prefix v: <#>. #variables
@prefix list: <damlLists.n3#>. #list membership rule
@prefix dpo: <http://www.daml.org/2000/12/daml+oil#>.  # DAML plus oil

<> log:forAll v:m, v:d, v:num, v:d1, v:d2, v:doc, v:name, v:names.

:rfc u:subPropertyOf dc:identifier;
  a dpo:UnambiguosProperty.

{ v:d :rfc v:num } log:means

  { { v:m rfc822:to <mailto:ietf-announce@ietf.org>.
      { v:m cp:says
        { v:d	:title v:title;
		:authors v:authors;
		:status v:status; #hmm... property of the document, or of the announcement?
		:date v:date;
		:mailbox v:mailbox;
		:pages v:pages; #optional?
		:characters v:characters }
      } log:forSome v:title, v:authors, v:status, v:date,
	v:mailbox, v:pages, v:characters.
    } log:forSome v:m
  }.


{ v:d1 :updates v:d2 } log:implies { v:d1 :updatesObsoletesSeeAlso [ :member v:d2 ] }.

{ v:d1 :obsoletes v:d2 } log:implies { v:d1 :updatesObsoletesSeeAlso [ :member v:d2 ] }.

{ v:d1 :seeAlso v:d2 } log:implies { v:d1 :updatesObsoletesSeeAlso [ :member v:d2 ] }.


:title u:subPropertyOf dc:title.
:date u:subPropertyOf dc:date, dcq:issued.

dcq:issued u:seeAlso
  <http://wip.dublincore.org/registry/OpenRegistry?subject2=http%3A%2F%2Fdublincore.org%2F2000%2F03%2F13-dcq%23issued&object2=http%3A%2F%2Fdublincore.org%2F2000%2F03%2F13-eor%23WildCard&db=registry1&next=%2Fjsp%2Felement.jsp>.

{ v:doc :authors v:names.
  v:name list:member v:names. }
  log:implies { v:doc dc:creator [ dca:name v:name ] }.

  
###
# communication protocol schema

cp:says u:comment "says, among other things...";
  u:seeAlso <http://www.w3.org/2000/07/document-maintenance/#>.

