# $Id: N3GenProtocolMatrixTest.n3,v 1.5 2002/12/11 13:51:49 graham Exp $ # # Survey of protocols and frameworks related to XML # #--------+---------+---------+---------+---------+---------+---------+---------+ # # Copyright (c) 2002, G. KLYNE # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # #--------+---------+---------+---------+---------+---------+---------+---------+ # $Source: /file/cvsdev/PythonN3/N3GenProtocolMatrixTest.n3,v $ # $Author: graham $ # $Date: 2002/12/11 13:51:49 $ # $Id: N3GenProtocolMatrixTest.n3,v 1.5 2002/12/11 13:51:49 graham Exp $ #--------+---------+---------+---------+---------+---------+---------+---------+ # 1 2 3 4 5 6 7 8 # # NOTES # # From this data, extract usage graph and containment graph. Are these different? # @prefix rdf: . @prefix rdfs: . @prefix foaf: . @prefix dc: . @prefix protocol: . #--------+---------+---------+---------+---------+---------+---------+---------+ # About this document: <> rdfs:label "XML related protocols survey" ; dc:author "Graham Klyne" ; dc:date "2002-10-21" ; rdfs:comment """ Survey of features and characteristics of a selection of protocols and data formats related to XML. """ . #--------+---------+---------+---------+---------+---------+---------+---------+ # Protocol classes protocol:Protocol a rdfs:Class . protocol:DataFormatFramework a rdfs:Class . protocol:DataLabellingFramework a rdfs:Class . protocol:EncapsulationFormat a rdfs:Class . protocol:TransferFramework a rdfs:Class . protocol:MessageFramework a rdfs:Class . protocol:ApplicationProtocol a rdfs:Class . protocol:NetworkOverlayFramework a rdfs:Class . protocol:Protocol a rdfs:Class ; rdfs:comment """ Common superclass for all protocol classes """ . protocol:NetworkOverlayFramework a rdfs:Class ; rdfs:subClassOf protocol:Protocol ; protocol:mayUse protocol:DataFormatFramework, protocol:TransferFramework, protocol:EncapsulationFormat, protocol:MessageFramework, protocol:ApplicationProtocol ; rdfs:label "Network overlay framework" ; rdfs:comment """ A comprehensive suite of protocols and other components that create an application framework hiding specific details of the underlying network. """ . protocol:ApplicationProtocol a rdfs:Class ; protocol:mayUse protocol:DataFormatFramework, protocol:TransferFramework, protocol:EncapsulationFormat, protocol:MessageFramework ; rdfs:label "Application protocol" ; rdfs:comment """ A complete protocol for a specific application purpose. """ . protocol:MessageFramework a rdfs:Class ; protocol:mayUse protocol:DataFormatFramework, protocol:TransferFramework, protocol:EncapsulationFormat ; rdfs:label "Message passing framework" ; rdfs:comment """ A protocol element framework that can contain a variety of application data and may be bound to an underlying transfer protocol to create an application protocol. """ . protocol:TransferFramework a rdfs:Class ; protocol:mayUse protocol:DataFormatFramework, protocol:EncapsulationFormat, protocol:TransferFramework ; rdfs:label "Generic transfer protocol" ; rdfs:comment """ A data transfer framework that can be used to convey a variety of protocol elements or application data formats. Defines information that affects or is used in the transfer of data between endpoints. """ . protocol:EncapsulationFormat a rdfs:Class ; protocol:mayUse protocol:DataFormatFramework, protocol:EncapsulationFormat ; rdfs:label "Generic encapsulation format" ; rdfs:comment """ A framework for encapsulating a variety of application data formats. """ . protocol:DataLabellingFramework a rdfs:Class ; protocol:mayUse protocol:DataFormatFramework ; rdfs:label "Data labelling framework" ; rdfs:comment """ A framework for attaching labelling and other information to some data. """ . protocol:DataFormatFramework a rdfs:Class ; protocol:mayUse protocol:DataFormatFramework ; rdfs:label "Generic encoding framework" ; rdfs:comment """ A framework for encoding a variety of application data formats. """ . #--------+---------+---------+---------+---------+---------+---------+---------+ # Protocol proerties protocol:mayUse a rdfs:Property ; rdfs:domain rdfs:Class ; rdfs:range rdfs:Class ; rdfs:comment """ Indicates possible use relationship between protocol classes. See also protocol:uses, protocol:canUse. """ . protocol:type a rdfs:Property ; rdfs:subPropertyOf rdf:type ; rdfs:domain protocol:Property ; rdfs:range rdfs:Class ; rdfs:comment """ Provides additional protocol-specific type information about a protocol. """ . protocol:uses a rdfs:Property ; rdfs:domain protocol:Protocol ; rdfs:range protocol:Protocol ; rdfs:comment """ Indicates that the subject protocol is defined to always use the object protocol """ . protocol:canUse a rdfs:Property ; rdfs:domain protocol:Protocol ; rdfs:range protocol:Protocol ; rdfs:comment """ Indicates that the subject protocol has options to use the object protocol """ . protocol:contains a rdfs:Property ; rdfs:domain protocol:Protocol ; rdfs:range protocol:Protocol ; rdfs:comment """ Indicates that the subject protocol is defined to contain or convey the object protocol. """ . protocol:canContain a rdfs:Property ; rdfs:domain protocol:Protocol ; rdfs:range protocol:Protocol ; rdfs:comment """ Indicates that the subject protocol has capability to contain or convey the object protocol. """ . protocol:cannotContain a rdfs:Property ; rdfs:domain protocol:Protocol ; rdfs:range protocol:Protocol ; rdfs:comment """ Indicates that the subject protocol does not have any capability to contain or convey the object protocol. """ . protocol:specification a rdfs:Property ; rdfs:domain protocol:Protocol ; rdfs:comment """ Indicates URI of specification document. """ . #--------+---------+---------+---------+---------+---------+---------+---------+ # Protocols (including formats, frameworks, etc) protocol:Unicode a protocol:Protocol ; protocol:type protocol:DataFormatFramework ; rdfs:label "Unicode" ; rdfs:comment """ Data in the form of a sequence of Unicode characters. May be presented in a range of transfer encoding formats, including 32-bit character codes (UCS-4), UTF-16 or UTF-8. """ . protocol:XML a protocol:Protocol ; protocol:type protocol:DataFormatFramework ; rdfs:label "XML" ; protocol:specification ; protocol:cannotContain protocol:MIME ; protocol:cannotContain protocol:DIME ; protocol:uses protocol:Unicode ; protocol:canContain protocol:Unicode ; rdfs:comment """ A textual framework for encoding various kinds of data structure. """ . protocol:MIME a protocol:Protocol ; protocol:type protocol:TransferFramework, protocol:EncapsulationFormat, protocol:DataLabellingFramework ; rdfs:label "MIME" ; protocol:specification ; protocol:specification ; protocol:specification ; protocol:specification ; protocol:specification ; protocol:uses protocol:USASCII ; protocol:canContain protocol:XML ; protocol:canContain protocol:Any ; rdfs:comment """ ASCII-based data encapsulation and metadata attachment format. Originally designed for conveying extended-content in mail messages, but subsequently used as a generic "tagging and bagging" format.

Has very little to do with XML, other than that it can be used to encapsulate XML data. Also, the metadata expression capabilities of MIME are fairly limited, and may be better served by attaching XML-formatted content. """ . protocol:DIME a protocol:Protocol ; protocol:type protocol:EncapsulationFormat ; rdfs:label "DIME" ; protocol:specification ; protocol:canContain protocol:XML ; protocol:canContain protocol:Any ; rdfs:comment """ A general purpose binary content encapsulation format.

Has very little to do with XML, other than that it allows XML namespace URIs to be used as document payload type identifiers.

Performs a small subset of the functions of MIME. There is a clearer division of functional capability between DIME and XML than between MIME and XML. """ . #--------+---------+---------+---------+---------+---------+---------+---------+ # $Log: N3GenProtocolMatrixTest.n3,v $ # Revision 1.5 2002/12/11 13:51:49 graham # Fix up some URI initialization problems # # Revision 1.4 2002/10/21 17:59:15 graham # Tweaked output format; added derived used-by entries and links # # Revision 1.3 2002/10/21 17:22:04 graham # Added CVS log entry to new module #