HTCPCP Vocabulary in RDF

WC3 RFC Draft 01 April 2008

This version:
http://cstrobbe.github.io/WC3/TR/2008/RFC-htcpcp-in-rdf-20080401/
Latest version:
http://cstrobbe.github.io/WC3/TR/htcpcp-in-rdf/
Author:
Chief Arabica , CEB, WC3

Abstract

The Hyper Text Coffee Pot Control Protocol (HTCPCP) is a protocol for controlling, monitoring and diagnosing coffee pots over a network. The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web.

This document defines HTCPCP Vocabulary in RDF in order to allow HTCPCP headers that have been exchanged between a client (in other words, a coffee addict) and a server (a networked device that can brew, store and deliver heated coffee beverages) to be recorded in RDF format. The objective of this vocabulary is to support quality assurance testing, and to serve as a machine-readable component in conformance claims and in reporting languages such as the Evaluation and Report Language (EARL) [EARL Schema].

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This WC3 First Public RFC Draft of HTCPCP Vocabulary in RDF was published on 1 April 2008. This document is expected to be published as a WC3 RFC Document after more brewing experience, tasting and refinement.

Publication as a RFC Draft does not imply endorsement by the WC3 Membership. This is a draft document and may be rebrewed, repoured or become stale at any time. It is inappropriate to cite this document as other than brewing in progress.


Introduction

Coffee is one of the most popular beverages worldwide [Villanueva] and is the second most traded commodity in the world (after oil) [Jerome 2007]. Worldwide, more 1400 millions cups of coffee are drunk every day [Jerome 2007]. Internet World Stats estimates that there are over 1.13 billion internet users worldwide (1,139,872,109 in December 2007) [Internet World Stats]. Thus, there is dark, strong demand for a protocol designed expressoly for controlling networked devices that can brew, store and deliver heated coffee beverages. The Hyper Text Coffe Pot Control Protocol (HTCPCP) [RFC2324] addressed this demand by extending HTTP with commands such as BREW, GET and WHEN.

This document defines a representation of the Hyper Text Coffe Pot Control Protocol (HTCPCP) using the Resource Description Framework (RDF). It defines a collection of RDF classes and properties that represent the HTCPCP vocabulary as defined by the HTCPCP specification. These RDF terms can be used to record HTCPCP request and response messages in RDF format, for example by automated coffee quality evaluation tools to describe servings of caffeinated beverages, including the various headers exchanged between the client and server during coffee negotiation. Since HTCPCP is defined as an extension of HTTP, the current draft is defined as an extension of HTTP in RDF [HTTP-RDF].

Namespaces

The RDF representation of the HTCPCP vocabulary defined by this document uses the following namespaces:

Vocabulary Namespace URI Prefix
HTCPCP http://purl.org/NET/xp/HTCPCP-in-RDF-rfc# coffee
HTTP http://www.w3.org/2006/http# http
HTTP headers http://www.w3.org/2006/http-header# http-header

Note: the namespace URI for HTCPCP is temporary and will be updated when HTCPCP Vocabulary in RDF is finalized.

HTCPCP/1.0 Connection Class (RFC 2324)

The coffee:Connection class represents a connection that is used for HTCPCP control. The following properties may appear in nodes of type Connection:

Example: An instance of the coffee:Connection class.

<coffee:Connection rdf:ID="conn">
  <http:connectionAuthority>arabica.example.org:80</http:connectionAuthority>
  <http:request rdf:resource="#req0"/>
</coffee:Connection>

When the coffee:Connection class is used to record more than one request sent to a coffee pot, the order of these requests (usually coffee cups) may be significant. For such cases, an RDF collection can be used as follows:

Example: An instance of the coffee:Connection class with two coffee cup requests.

<coffee:Connection rdf:ID="conn2">
  <http:connectionAuthority>arabica.example.org:80</http:connectionAuthority>
  <http:request rdf:parseType="Collection">
    <http:Request rdf:about="#espresso"/>
    <http:Request rdf:about="#lungo"/>
  </http:request>
</coffee:Connection>

HTCPCP/1.0 Added Methods (RFC 2324)

This section defines RDF terms for the HTCPCP/1.0 specification according to [RFC 2324].

Subclasses of the Request Class (HTTP Vocabulary in RDF)

HTTP Vocabulary in RDF [HTTP-RDF] already defines a Request class. There are several HTCPCP subclasses that derive from the Request class.

Brew Class

The Brew class represents an HTCPCP BREW request.

Example: An instance of the coffee:BrewRequest class.

<coffee:BrewRequest rdf:ID="req0">
  <http:abs_path>/</http:abs_path>
  <htcpcp:version>1.0</htcpcp:version>
  <htcpcp:header rdf:resource="#headerSafe"/>
  <htcpcp:response rdf:resource="#responseCup"/>
</http:BrewRequest>

PropFind Class

(TBB)

When Class

(TBB)

Header Properties

Safe Property

(TBB)

Accept Additions Property

(TBB)

Subclasses of the Response Class (HTTP Vocabulary in RDF)

HTTP Vocabulary in RDF [HTTP-RDF] already defines a Response class.

Vocabulary Terms

Classes

Class name Label Allowable types Suggested types Required properties Optional properties
htcpcp:ResponseCode Response Code htcpcp:406 (Not Acceptable), htcpcp:418 (I’m a Teapot)

Future Work


References

[EARL Schema]
"Evaluation and Report Language (EARL) 1.0 Schema" – Shadi Abou-Zahra, W3C Working Draft 23 March 2007.
[HTTP in RDF]
"HTTP Vocabulary in RDF"Johannes Koch, Carlos A. Velasco, Shadi Abou-Zahra, W3C Working Draft 23 March 2007.
[Internet World Stats]
“World Internet Users December 2007" – Internet World Statistics, retrieved 31 March 2008.
[Jerome 2007]
“25 Facts about Coffee” – Louie Jerome, 26 August 2007.
[JSR220]
JSR 220: Enterprise JavaBeansTM 3.0” – Linda DeMichiel, Michael Keith.
[MRML]
“Mind Reading Markup Language (MRML)” – Michael O’Neal-Petterson, Brandon J. Rickman.
[RDFAS]
“Resource Description Framework (RDF): Concepts and Abstract Syntax” – Graham Klyne, Jeremy J. Carroll, W3C Recommendation, 10 February 2004.
[RDF-PRIMER]
“RDF Primer” – Frank Manola, Eric Miller (eds.). W3C Recommendation, 10 February 2004.
[RFC2324]
“Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)” – L. Masinter, 1 April 1998.
[RFC2325]
“Definitions of Managed Objects for Drip-Type Heated Beverage Hardware Devices using SMIv2” – M. Slavitch, 1 April 1998.
[RFC2235]
“Hobbes’ Internet Timeline” – R. Zakon, November 1997.
[RFC9999]
“Secure Coffee Pot Layer (SCL/1.0)” - L. Fiksdal, ed., 1 April 2006.
[Villanueva]
Cristina M. Villanueva, Kenneth P. Cantor, Will D. King, Jouni J.K. Jaakkola, Sylvaine Cordier, Charles F. Lynch, Stefano Porru, Manolis Kogevinas: “Total and specific fluid consumption as determinants of bladder cancer risk”.  International Journal of Cancer 118 (8): 2040–2047. doi:10.1002/ijc.21587.