W3C home > Mailing lists > Public > www-archive@w3.org > November 2003

Getting error "Please use setDefaultNamespace" with --pipe

From: Ian B. Jacobs <ij@w3.org>
Date: Wed, 05 Nov 2003 15:46:28 -0500
To: www-archive+n3bugs@w3.org
Message-Id: <1068065188.16909.42.camel@seabright>
Hello,

When I use  cwm --rdf 16-webarch-owl.rdf --n3 
on the attached file, there is no error.

When I use cwm --rdf 16-webarch-owl.rdf --n3 --pipe
I get the error and message indicate below.

 _ Ian

=================================================================

bash-2.05b$ cwm --rdf 16-webarch-owl.rdf --n3 --pipe
#Processed by Id: cwm.py,v 1.144 2003/09/14 20:20:20 timbl Exp
        #    using base
file:/home/ian/CVS-local/WWW/2003/10/16-webarch-owl.rdf
         
#  Notation3 generation by
#       notation3.py,v 1.147 2003/10/20 17:31:55 timbl Exp
 
#   Base was: file:/home/ian/CVS-local/WWW/2003/10/16-webarch-owl.rdf
    #RDF parsed by Id: sax2rdf.py,v 1.36 2003/08/27 15:39:16 ryanlee Exp
         @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     @prefix owl: <http://www.w3.org/2002/07/owl#> .
     @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
     @prefix xsdt: <http://www.w3.org/2001/XMLSchema#> .
     @prefix string: <http://www.w3.org/2000/10/swap/string#> .
     @prefix webarch: <http://www.w3.org/2003/10/16-webarch-owl#> .
    Traceback (most recent call last):
  File "/home/ian/CVS-local/WWW/2000/10/swap/cwm.py", line 652, in ?
    doCommand()
  File "/home/ian/CVS-local/WWW/2000/10/swap/cwm.py", line 380, in
doCommand
    p.load(_inputURI)
  File "/home/ian/CVS-local/WWW/2000/10/swap/sax2rdf.py", line 594, in
load
    return self.loadStream(f)
  File "/home/ian/CVS-local/WWW/2000/10/swap/sax2rdf.py", line 601, in
loadStream
    self._p.parse(s)
  File "/usr/lib/python2.3/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/usr/lib/python2.3/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/usr/lib/python2.3/xml/sax/expatreader.py", line 207, in feed
    self._parser.Parse(data, isFinal)
  File "/usr/lib/python2.3/xml/sax/expatreader.py", line 359, in
start_namespace_decl
    self._cont_handler.startPrefixMapping(prefix, uri)
  File "/home/ian/CVS-local/WWW/2000/10/swap/sax2rdf.py", line 295, in
startPrefixMapping
    self.sink.bind(prefix, uri)
  File "/home/ian/CVS-local/WWW/2000/10/swap/notation3.py", line 1125,
in bind
    raise RuntimError("Please use setDefaultNamespace instead")
NameError: global name 'RuntimError' is not defined
=============================================================
-- 
Ian Jacobs (ij@w3.org)   http://www.w3.org/People/Jacobs
Tel:                     +1 718 260-9447

<!DOCTYPE rdf:RDF [
<!ENTITY xsdt "http://www.w3.org/2001/XMLSchema#">
]>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl="http://www.w3.org/2002/07/owl#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:xsdt="http://www.w3.org/2001/XMLSchema#"
  xmlns:string="http://www.w3.org/2000/10/swap/string#"
  xmlns:webarch="http://www.w3.org/2003/10/16-webarch-owl#"
  xmlns="http://www.w3.org/2003/10/16-webarch-owl#"
  >

<!-- Status of this document: Scribblings from Ian regarding
arch doc ontology in OWL.
$Id: 16-webarch-owl.rdf,v 1.11 2003/11/05 20:35:25 ijacobs Exp $
$Log: 16-webarch-owl.rdf,v $
Revision 1.11  2003/11/05 20:35:25  ijacobs
added labels to classes

Revision 1.10  2003/11/05 20:08:26  ijacobs
- more datatype cleanup
- removed some property restrictions of this form
  (which was about each URI)

  <rdfs:subClassOf>
    <owl:Restriction>
     <owl:onProperty rdf:resource="#definingSpecification"/>
        <owl:hasValue rdf:resource="#RFC2046"/>
    </owl:Restriction>
  </rdfs:subClassOf>

  and replaced with this, about the class:

  <definingSpecification rdf:resource="#RFC2046"/>

Revision 1.9  2003/11/05 19:37:41  ijacobs
datatypes now work since there's  adefault namespace

Revision 1.8  2003/11/04 17:45:39  ijacobs
Some changes (not sure if sound) to get cwm to
convert to n3. rdf:datatype was making cwm
unhappy, so I removed it.

Revision 1.7  2003/11/04 17:01:48  ijacobs
name conflict fix

Revision 1.6  2003/10/30 00:53:16  ijacobs
bug fix

Revision 1.5  2003/10/30 00:39:09  ijacobs
replaced with alternative list structure

Revision 1.4  2003/10/30 00:32:58  ijacobs
more fixes

Revision 1.3  2003/10/30 00:24:18  ijacobs
fixed stuff

Revision 1.2  2003/10/30 00:12:48  ijacobs
update

Revision 1.1  2003/10/30 00:01:02  ijacobs
changed suffix

Revision 1.38  2003/10/29 23:27:41  ijacobs
bug fix

Revision 1.37  2003/10/28 23:37:24  ijacobs
more tweaks about interpreting frag ids

Revision 1.36  2003/10/28 21:00:03  ijacobs
updated

Revision 1.35  2003/10/28 20:41:00  ijacobs
not liking this but oh well

Revision 1.34  2003/10/28 20:24:48  ijacobs
updated

Revision 1.33  2003/10/28 20:09:26  ijacobs
bug fixes

Revision 1.32  2003/10/28 19:38:28  ijacobs
updated

Revision 1.31  2003/10/28 19:28:09  ijacobs
updated

Revision 1.30  2003/10/28 19:26:24  ijacobs
updated

Revision 1.29  2003/10/28 19:24:50  ijacobs
updated

Revision 1.28  2003/10/28 19:24:05  ijacobs
rep of resource

Revision 1.27  2003/10/28 19:20:32  ijacobs
updated

Revision 1.26  2003/10/28 19:20:06  ijacobs
updated

Revision 1.25  2003/10/28 19:19:16  ijacobs
updated

Revision 1.24  2003/10/28 19:12:49  ijacobs
updated

Revision 1.23  2003/10/28 19:03:53  ijacobs
tweaks

Revision 1.22  2003/10/28 18:47:28  ijacobs
updating http stuff

Revision 1.21  2003/10/28 17:35:36  ijacobs
s/rdf:ID/rdf:about

Revision 1.20  2003/10/28 17:31:54  ijacobs
replaced cardinality=1 with FunctionalProperty

Revision 1.19  2003/10/28 17:26:53  ijacobs
s|text/plain|text_plain

Revision 1.18  2003/10/28 15:01:19  timbl
fixed some bits with ian

Revision 1.17  2003/10/23 14:22:31  ijacobs
representations have links (cf. arch doc)

Revision 1.16  2003/10/22 18:56:30  ijacobs
bug fix

Revision 1.15  2003/10/22 18:54:45  ijacobs
trying to move to owl dl or lite

Revision 1.14  2003/10/22 18:54:09  ijacobs
trying to move to owl dl or lite

Revision 1.13  2003/10/22 18:53:29  ijacobs
no xsdt:byte

Revision 1.12  2003/10/22 18:47:50  ijacobs
tweaks

Revision 1.11  2003/10/22 18:41:24  ijacobs
syntax fixes

Revision 1.10  2003/10/22 18:30:46  ijacobs
updated

Revision 1.9  2003/10/22 18:28:35  ijacobs
Lots of updates

Revision 1.8  2003/10/20 18:36:52  ijacobs
fix

Revision 1.7  2003/10/20 18:31:12  ijacobs
 - Some fixes based on DanC comments.
 - reuse uriString property from URIRef for URI; constrain it
   (but don't know how to constrain syntactically).

Revision 1.6  2003/10/19 23:06:34  connolly
cleaned up datatypes a bit

Revision 1.5  2003/10/19 22:56:35  connolly
renamed properties to begin with lowercase;
found a collision or two

Revision 1.4  2003/10/19 22:31:27  connolly
fixed datatype URIs; cwm groks now

Revision 1.3  2003/10/19 22:24:04  connolly
fixed XML WF problems, some RDF syntax problems
 (thanks JJC for nxml-mode!)

  -->

<!-- ======== URIs =========== -->

<owl:Class rdf:about="#URI">
    <rdfs:label>URI</rdfs:label>
  <!-- definingSpecification rdf:resource="#RFC2396" /   -->
  
    <rdfs:comment>
    URIs are defined by RFC2396 (and descendents).
    </rdfs:comment>

  <definingSpecification rdf:resource="#RFC2396"/>

  <rdfs:comment>
    Instances of this class belong to the intersection
    of:
        1) &xsdt;strings
        2) string:strings that match the relevant regexp
           in RFC2396
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&xsdt;string"/> 
  <rdfs:subClassOf>
  <!-- Not sure that this is right. The subject is
       the scheme name. Not sure if it's implicit here. -->
    <string:matches><!-- Insert RFC2396 regexp here --></string:matches>
  </rdfs:subClassOf>

</owl:Class>

<owl:ObjectProperty rdf:about="#identifiedResource">
    <rdfs:label>Identified Resource</rdfs:label>
  <rdfs:domain rdf:resource="#URI"/>
  <rdfs:range rdf:resource="#Resource"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#identifiedResource"/>

<owl:ObjectProperty rdf:about="#uriSchemeComponent">
    <rdfs:label>URI Scheme Component</rdfs:label>
  <rdfs:domain rdf:resource="#URI"/>
  <rdfs:domain rdf:resource="#URISchemeName"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#uriAuthority">
    <rdfs:label>URI Authority</rdfs:label>
  <rdfs:domain rdf:resource="#URI"/>
  <rdfs:range rdf:resource="#Authority"/> 
</owl:ObjectProperty>


<!--============ Authority ============ -->
<!-- Not sure how to handle yet. -->

<owl:Class rdf:about="#Authority">
  <rdfs:label>Authority</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#authorityURI">
  <rdfs:label>Authority URI</rdfs:label>
  <rdfs:domain rdf:resource="#Authority"/>
  <rdfs:range rdf:resource="#URI"/> 
</owl:ObjectProperty>

<!--============ URI Schemes ============ -->

<owl:Class rdf:about="#URISchemeName">
  <rdfs:label>URI Scheme Name</rdfs:label>
  <rdfs:comment>
    Instances of this class belong to the intersection
    of:
        1) &xsdt;strings
        2) string:strings that match the following regexp
           from RFC2396:
              alpha *( alpha | digit | "+" | "-" | "." )
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&xsdt;string"/> 
  <rdfs:subClassOf>
  <!-- Not sure that this is right. The subject is
       the scheme name. Not sure if it's implicit here. -->
    <string:matches><!-- Insert RFC2396 regexp here --></string:matches>
  </rdfs:subClassOf>

  <!-- Could add here that defining spec is RFC 2396 -->
</owl:Class>

<owl:Class rdf:about="#RegisteredURISchemeName">
  <rdfs:label>Registered URI Scheme Name</rdfs:label>
  <rdfs:subClassOf rdf:resource="#URISchemeName"/>
</owl:Class>

<owl:ObjectProperty rdf:about="#uriSchemeSpecification">
  <rdfs:label>URI Scheme Specification</rdfs:label>
  <rdfs:domain rdf:resource="#URISchemeName"/>
  <rdfs:range rdf:resource="#URISchemeSpecification"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#uriSchemeRegistry">
  <rdfs:label>URI Scheme Registry</rdfs:label>
  <rdfs:domain rdf:resource="#RegisteredURIScheme"/>
  <rdfs:range rdf:resource="#Registry"/>    
</owl:ObjectProperty>

<!-- Not specified as owl:inverseOf since there might
     be more than one specification. This might be
     a place to talk about versioning and compatibility. -->

<owl:Class rdf:about="#URISchemeSpecification">
  <rdfs:label>URI Scheme Specification</rdfs:label>
 <rdfs:subClassOf rdf:resource="#Specification"/>
 <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#specifiedThing"/>
     <owl:allValuesFrom rdf:resource="#URISchemeName"/>
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>


<!-- ========= FragId part of URI ========= -->

<owl:Class rdf:about="#URIWithoutFragId">
  <rdfs:label>URI Without FragId</rdfs:label>
  <rdfs:subClassOf rdf:resource="#URI" />
  <owl:disjointWith rdf:resource="#URIWithFragId"/>
</owl:Class>

<owl:Class rdf:about="#URIWithFragId">
  <rdfs:label>URI With FragId</rdfs:label>
 <rdfs:subClassOf rdf:resource="#URI"/>
 <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#identifiedResource"/>
     <owl:allValuesFrom rdf:resource="#SecondaryResource"/> 
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>

<owl:ObjectProperty rdf:about="#uriFragId"> 
  <rdfs:label>URI Fragment Identifier</rdfs:label>
  <rdfs:domain rdf:resource="#URIWithFragId"/>
  <rdfs:range rdf:resource="#FragmentIdentifier"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#uriFragId"/>

<owl:ObjectProperty rdf:about="#uriBeforeFragId"> 
  <rdfs:label>URI Before Fragment Identifier</rdfs:label>
  <rdfs:domain rdf:resource="#FragmentIdentifier"/>
  <rdfs:range rdf:resource="#URIWithoutFragId"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#uriBeforeFragId"/>

<!-- ============== Fragment Identifiers ============ -->

<owl:Class rdf:about="#FragmentIdentifier">
  <rdfs:label>Fragment Identifier</rdfs:label>
     <rdfs:comment>
       Fragment identifiers syntax defined generically by 
       RFC2396. However, meaning of frag identifier in
       a given representation also depends on definingSpecification
       of the media type. The implication is that the full meaning
       of the fragment identifier is not known at the level
       of this class, but for instances of the Representation class.
     </rdfs:comment>

  <definingSpecification rdf:resource="#RFC2396"/>

  <rdfs:comment>
    Instances of this class belong to the intersection
    of:
        1) &xsdt;strings
        2) string:strings that match the following regexp
           from RFC2396: *uric
  </rdfs:comment>
  <rdfs:subClassOf rdf:resource="&xsdt;string"/> 
  <rdfs:subClassOf>
  <!-- Not sure that this is right. The subject is
       the scheme name. Not sure if it's implicit here. -->
    <string:matches><!-- Insert RFC2396 regexp here --></string:matches>
  </rdfs:subClassOf>
</owl:Class>


<owl:Class rdf:about="#FragInterpContext">
  <rdfs:label>Fragment Interpretation Context</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#interpContextURI"> 
  <rdfs:label>Interpretation Context URI</rdfs:label>
  <rdfs:domain rdf:resource="#FragInterpContext"/>
  <rdfs:range rdf:resource="#URIWithFragId"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#interpContextRepr"> 
  <rdfs:label>Interpretation Context Representation</rdfs:label>
  <rdfs:domain rdf:resource="#FragInterpContext"/>
  <rdfs:range rdf:resource="#Representation"/> 
</owl:ObjectProperty>

<!--
    U#F is a URIWithFragId
    R   is a Representation

    => 
    M is media Type of Representation
    S is specification corresponding to M in Registry.
    B is representation data of R
    
    Interpret F in B according to S.
-->

<!-- Will want to say that if two Representations of a resource
     have two specs that define frag identifier semantics
     inconsistently for a frag id F, then that's an error. -->

<!-- ======= Resources ======== -->

<!-- This definition of resource does not address the
     following issues

     a) persistence
     b) changing meaning over time

     However, the section on representations states
     that each representation has a time stamp. -->

<owl:Class rdf:about="#Resource">
  <rdfs:label>Resource</rdfs:label>
  <!-- A Resource may have 0 or more representations -->
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#representation"/>
      <owl:minCardinality rdf:datatype="&xsdt;integer">0</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>

  <!-- A Resource may be identified by 0 or more URIs -->
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#identifiedBy"/>
      <owl:minCardinality rdf:datatype="&xsdt;integer">0</owl:minCardinality>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:ObjectProperty rdf:about="#identifiedBy"> 
  <rdfs:label>Identified By</rdfs:label>
  <rdfs:domain rdf:resource="#Resource"/>
  <rdfs:range rdf:resource="#URI"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#representation"> 
  <rdfs:label>Representation</rdfs:label>
  <rdfs:domain rdf:resource="#Resource"/>
  <rdfs:range rdf:resource="#Representation"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#resourceMetadata"> 
  <rdfs:label>Resource Metadata</rdfs:label>
  <rdfs:domain rdf:resource="#Resource"/>
  <rdfs:range rdf:resource="#OctetSequence"/> 
</owl:ObjectProperty> 

<owl:Class rdf:about="#SecondaryResource">
  <rdfs:label>Secondary Resource</rdfs:label>
</owl:Class>

   <!-- Not sure if important to express relationship
        of secondary resource to primary. There may
        be something to say about the relationship
        at the level of the representation. -->


<!-- ========= Representations ========== -->

<owl:Class rdf:about="#Representation" />

<owl:ObjectProperty rdf:about="#repResource"> 
  <rdfs:label>Representation of</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#Resource"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#repResource"/>

<owl:ObjectProperty rdf:about="#representationData"> 
  <rdfs:label>Representation Data</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#OctetSequence"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#representationMetadata"> 
  <rdfs:label>Representation Metadata</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#OctetSequence"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#mediaType"> 
  <rdfs:label>Representation Media Type</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#InternetMediaType"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#mediaType"/>

<!-- Base URI can come from representation data, 
     message metadata, or default URI of resource
     for which this is a representation -->
<owl:ObjectProperty rdf:about="#baseURI"> 
  <rdfs:label>Representation Base URI</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#URI"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#baseURI"/>

<owl:ObjectProperty rdf:about="#representationLink"> 
  <rdfs:label>Representation Link</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#Link"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#representationSpecification"> 
  <rdfs:label>Representation Specification</rdfs:label>
  <rdfs:domain rdf:resource="#Representation"/>
  <rdfs:range rdf:resource="#FormatSpecification"/> 
</owl:ObjectProperty> 

<!-- Does this say "When we are dealing with
     Representations in the case of HTTP, the
     representation data is the same as the
     entity body"? -->

<owl:Class rdf:about="#HTTPRepresentation">
  <rdfs:label>HTTP Representation</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Representation" />
</owl:Class>

<owl:ObjectProperty rdf:about="#httpRepresentationData"> 
  <rdfs:label>HTTP Representation Data</rdfs:label>
   <rdfs:domain rdf:resource="#HTTPRepresentation"/>
   <owl:equivalentProperty rdf:resource="#representationData"/>
   <owl:equivalentProperty rdf:resource="#entityBody"/>
</owl:ObjectProperty>


<!-- ========= Format Specifications =========== -->

<owl:Class rdf:about="#FormatSpecification">
  <rdfs:label>Format Specification</rdfs:label>
 <rdfs:subClassOf rdf:resource="#Specification" />
 <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#specifiedThing"/>
     <owl:allValuesFrom rdf:resource="#Representation"/>
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:about="#RegisteredFormatSpecification">
  <rdfs:label>Registered Format Specification</rdfs:label>
   <rdfs:subClassOf rdf:resource="#FormatSpecification" />
</owl:Class>

<owl:ObjectProperty rdf:about="#formatSpecificationRegistry">
  <rdfs:label>Format Specification Registry</rdfs:label>
  <rdfs:domain rdf:resource="#RegisteredFormatSpecification"/>
  <rdfs:range rdf:resource="#Registry"/>    
</owl:ObjectProperty>


<!-- ========= Links ============= -->

<owl:Class rdf:about="#Link">
  <rdfs:label>Link</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#linkURI">
  <rdfs:label>Link URI</rdfs:label>
    <rdfs:comment>
    Allow multi-ended links
    </rdfs:comment>

  <rdfs:domain rdf:resource="#Link"/>
  <rdfs:range rdf:resource="#LinkURI"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#linkSourceRepresentation">
  <rdfs:label>Link Source Representation</rdfs:label>
  <rdfs:domain rdf:resource="#Link"/>
  <rdfs:range rdf:resource="#Representation"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#linkMetadata"> 
  <rdfs:label>Link Metadata</rdfs:label>
  <rdfs:domain rdf:resource="#Link"/>
  <rdfs:range rdf:resource="#OctetSequence"/> 
</owl:ObjectProperty> 

<owl:Class rdf:about="#LinkURI">
  <rdfs:label>Link URI</rdfs:label>
 <rdfs:subClassOf rdf:resource="#URI"/>

  <rdfs:subClassOf>
    <owl:Restriction>
     <owl:onProperty rdf:resource="#linkURI"/>
     <owl:hasValue><!-- want to do concatentation here --></owl:hasValue>
   </owl:Restriction>
 </rdfs:subClassOf>

  <rdfs:comment>
  Link URI has 0 or 1 URI Reference
  </rdfs:comment>
 
  <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#linkURIRef" />
     <owl:minCardinality rdf:datatype="&xsdt;integer">0</owl:minCardinality>
   </owl:Restriction>
  </rdfs:subClassOf>

  <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#linkURIRef" />
     <owl:maxCardinality rdf:datatype="&xsdt;integer">1</owl:maxCardinality>
   </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:ObjectProperty rdf:about="#linkURIRef"> 
  <rdfs:label>Link URI Reference</rdfs:label>
  <rdfs:domain rdf:resource="#LinkURI"/>
  <rdfs:range rdf:resource="#URIReference"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#linkURIBase"> 
  <rdfs:label>Link URI Base</rdfs:label>
  <rdfs:domain rdf:resource="#Link"/>
  <rdfs:range rdf:resource="#linkURI"/> 
</owl:ObjectProperty> 

<owl:FunctionalProperty rdf:about="#linkURIBase"/>

<owl:Class rdf:about="#URIReference">
  <rdfs:label>URI Reference</rdfs:label>
     <rdfs:comment>
       URI References are defined by RFC2396 (and descendents).
     </rdfs:comment>

  <definingSpecification rdf:resource="#RFC2396"/>

  <!-- There might be a conflict, but added this since
       it was available. -->
  <rdfs:subClassOf rdf:resource="&xsdt;anyURI"/> 
</owl:Class>

<owl:Class rdf:about="#RelativeURIReference">
  <rdfs:label>Relative URI Reference</rdfs:label>
   <rdfs:subClassOf rdf:resource="#URIReference" />
   <!-- Put syntactic constraints here ... -->
</owl:Class>

<owl:Class rdf:about="#HyperLink">
  <rdfs:label>HyperLink</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Link"/>
  <rdfs:subClassOf rdf:resource="#SupportsUserInteraction"/>
</owl:Class>


<!-- ========== Internet Media Types =========== -->

<owl:Class rdf:about="#InternetMediaType">
  <rdfs:label>Internet Media Type</rdfs:label>
  <definingSpecification rdf:resource="#RFC2046"/>
</owl:Class>

<owl:ObjectProperty rdf:about="#mediaTypeTop"> 
  <rdfs:label>Top Level Media Type</rdfs:label>
  <rdfs:domain rdf:resource="#InternetMediaType" />
  <rdfs:range rdf:resource="&xsdt;string"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#mediaTypeSub"> 
  <rdfs:label>Media Subtype</rdfs:label>
  <rdfs:domain rdf:resource="#InternetMediaType"/>
  <rdfs:range rdf:resource="&xsdt;string"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#mediaTypeSpecification"> 
  <rdfs:label>Specification of Media Type</rdfs:label>
  <rdfs:comment>		  
    Perhaps ideally the range should be #FormatSpecification,
    but it seems like in practice the specification may be
    external to the format specification.
  </rdfs:comment>		  
  <rdfs:domain rdf:resource="#InternetMediaType" />
  <rdfs:range rdf:resource="#MediaTypeSpecification"/> 
</owl:ObjectProperty> 

<owl:Class rdf:about="#MediaTypeSpecification">
  <rdfs:label>Media Type Specification</rdfs:label>
 <rdfs:subClassOf rdf:resource="#Specification"/>
 <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#specifiedThing"/>
     <owl:allValuesFrom rdf:resource="#InternetMediaType"/>
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>

<!-- Example of an Internet Media Type we know and love!-->

<InternetMediaType rdf:about="#text_plain">
  <rdfs:label>text_plain</rdfs:label>
  <rdfs:comment>See section 4.1.3</rdfs:comment>
  <mediaTypeTop>text</mediaTypeTop>
  <mediaTypeSub>plain</mediaTypeSub>
  <mediaTypeSpecification rdf:resource="#RFC2046"/>
</InternetMediaType>


<!-- ========= Messages =========== -->

<owl:Class rdf:about="#Message">
  <rdfs:label>Message</rdfs:label>
</owl:Class>

<owl:Class rdf:about="#Request">
  <rdfs:label>Request Message</rdfs:label>
   <rdfs:subClassOf rdf:resource="#Message" />
</owl:Class>

<owl:Class rdf:about="#Response">
  <rdfs:label>Response Message</rdfs:label>
   <rdfs:subClassOf rdf:resource="#Message" />
</owl:Class>

<owl:ObjectProperty rdf:about="#sender">
  <rdfs:label>Sender</rdfs:label>
  <rdfs:domain rdf:resource="#Message"/>
  <rdfs:range rdf:resource="#Agent"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#receiver">
  <rdfs:label>Receiver</rdfs:label>
  <rdfs:domain rdf:resource="#Message"/>
  <rdfs:range rdf:resource="#Agent"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#protocol">
  <rdfs:label>in Protocol</rdfs:label>
  <rdfs:domain rdf:resource="#Message"/>
  <rdfs:range rdf:resource="#Protocol"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#messageMetadata">
  <rdfs:label>Message Metadata</rdfs:label>
  <rdfs:domain rdf:resource="#Message"/>
  <rdfs:range rdf:resource="#OctetSequence"/>
</owl:ObjectProperty>


<!-- ========= Protocols =========== -->

<owl:Class rdf:about="#Protocol">
  <rdfs:label>Protocol</rdfs:label>
</owl:Class>

<!-- The name of the protocol is not necessarily the name
     of the specification that defines it. -->

<owl:ObjectProperty rdf:about="#protocolSpecification">
  <rdfs:label>Specification of Protocol</rdfs:label>
  <rdfs:domain rdf:resource="#Protocol"/>
  <rdfs:range rdf:resource="#ProtocolSpecification"/>
</owl:ObjectProperty>

<!-- Not specified as owl:inverseOf since there might
     be more than one specification. -->
     
<owl:Class rdf:about="#ProtocolSpecification">
  <rdfs:label>Protocol Specification</rdfs:label>
 <rdfs:subClassOf rdf:resource="#Specification"/>
 <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#specifiedThing"/>
     <owl:allValuesFrom rdf:resource="#Protocol"/>
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>

<Protocol rdf:about="#HTTPProtocol">
  <rdfs:label>HTTP Protocol</rdfs:label>
  <protocolSpecification rdf:resource="#RFC2616"/>
</Protocol>


<!-- ========= HTTP Messages =========== -->

<owl:Class rdf:about="#HTTPMessage">
  <rdfs:label>HTTP Message</rdfs:label>
 <rdfs:subClassOf>
   <owl:Restriction>
     <owl:onProperty rdf:resource="#protocol"/>
     <owl:hasValue rdf:resource="#HTTPProtocol"/>
   </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>

<owl:ObjectProperty rdf:about="#date">
  <rdfs:label>HTTP Message Date</rdfs:label>
  <rdfs:domain rdf:resource="#HTTPMessage"/>
  <rdfs:range rdf:resource="&xsdt;dateTime"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#entityBody">
  <rdfs:label>HTTP Message Entity Body</rdfs:label>
  <rdfs:domain rdf:resource="#HTTPMessage"/>
  <rdfs:range rdf:resource="#OctetStream"/>
</owl:ObjectProperty>

<owl:Class rdf:about="#HTTPResponse">
  <rdfs:label>HTTP Response</rdfs:label>
   <rdfs:subClassOf rdf:resource="#Response" />
</owl:Class>

<owl:Class rdf:about="#HTTPGETRequest">
  <rdfs:label>HTTP Request</rdfs:label>
  <rdfs:subClassOf rdf:resource="#HTTPRequest" />

  <rdfs:subClassOf>
    <owl:Restriction>
     <owl:onProperty rdf:resource="#accessMethod"/>
     <owl:Thing rdf:datatype="&xsdt;string">GET</owl:Thing>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:DatatypeProperty rdf:about="#accessMethod">
  <rdfs:label>HTTP Access Method</rdfs:label>
  <rdfs:domain rdf:resource="#HTTPRequest"/>
  <rdfs:range>
    <owl:DataRange>
      <owl:oneOf>
        <rdf:List>
          <rdf:first rdf:datatype="&xsdt;string">GET</rdf:first>
          <rdf:rest>
            <rdf:List>
              <rdf:first rdf:datatype="&xsdt;string">HEAD</rdf:first>
              <rdf:rest>
                <rdf:List>
                   <rdf:first rdf:datatype="&xsdt;string">POST</rdf:first>
                   <rdf:rest>
                       <rdf:List>
                        <rdf:first rdf:datatype="&xsdt;string">PUT</rdf:first>
                        <rdf:rest rdf:resource="rdf:nil"/>
                       </rdf:List>
                   </rdf:rest>
                </rdf:List>
              </rdf:rest>
            </rdf:List>
          </rdf:rest>
        </rdf:List>
      </owl:oneOf>
    </owl:DataRange>
  </rdfs:range>
</owl:DatatypeProperty>

<owl:ObjectProperty rdf:about="#getURI">
  <rdfs:label>HTTP GET URI</rdfs:label>
  <rdfs:domain rdf:resource="#HTTPGETRequest"/>
  <rdfs:range rdf:resource="#URI"/> 
</owl:ObjectProperty>

<owl:Class rdf:about="#HTTPGETResponse">
  <rdfs:label>HTTP GET Response</rdfs:label>
  <rdfs:subClassOf rdf:resource="#HTTPResponse" />
</owl:Class>

<owl:ObjectProperty rdf:about="#contentType">
  <rdfs:label>HTTP Representation Content-Type</rdfs:label>
  <rdfs:domain rdf:resource="#HTTPGETResponse"/>
  <rdfs:range rdf:resource="#InternetMediaType"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#responseTo">
  <rdfs:label>HTTP Response to</rdfs:label>
  <rdfs:domain rdf:resource="#HTTPGETResponse"/>
  <rdfs:range rdf:resource="#HTTPGetRequest"/> 
</owl:ObjectProperty>

<!-- =========== Agents =========== -->

<owl:Class rdf:about="#Agent">
  <rdfs:label>Agent</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#implementedFormatSpecs"> 
  <rdfs:label>Implemented Format Specification</rdfs:label>
  <rdfs:domain rdf:resource="#Agent"/>
  <rdfs:range rdf:resource="#FormatSpecification"/> 
</owl:ObjectProperty> 

<owl:ObjectProperty rdf:about="#implementedURISchemeSpecs"> 
  <rdfs:label>Implemented URI Scheme Specification</rdfs:label>
  <rdfs:domain rdf:resource="#Agent"/>
  <rdfs:range rdf:resource="#URISchemeSpecification"/> 
</owl:ObjectProperty> 

<owl:Class rdf:about="#UserAgent">
  <rdfs:label>User Agent</rdfs:label>
   <rdfs:subClassOf rdf:resource="#Agent"/>
   <rdfs:subClassOf rdf:resource="#SupportsUserInteraction"/>
</owl:Class>

<!-- A bit of a hack; user agents and hyperlinks
     support user interaction, but not really in the
     same way -->

<owl:Class rdf:about="#SupportsUserInteraction">
  <rdfs:label>Supports User Interaction</rdfs:label>
</owl:Class>


<!-- ============= Octet Sequence ============ -->

<owl:Class rdf:about="#OctetSequence">
  <rdfs:label>Octet Sequence</rdfs:label>
  <rdfs:subClassOf rdf:resource="rdf:Seq"/>
</owl:Class>

<owl:DatatypeProperty rdf:about="#octets">
  <rdfs:label>Octets</rdfs:label>
   <rdfs:domain rdf:resource="#OctetSequence"/>
   <rdfs:range rdf:resource="&xsdt;hexBinary"/>
</owl:DatatypeProperty>


<!-- ========== Specifications =========== -->

<owl:Class rdf:about="#Specification">
  <rdfs:label>Specification</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#specificationName">
  <rdfs:label>Specification Name</rdfs:label>
  <rdfs:domain rdf:resource="#Specification"/>
  <rdfs:range rdf:resource="&xsdt;string"/>    
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#specificationURI">
  <rdfs:label>Specification URI</rdfs:label>
  <rdfs:domain rdf:resource="#Specification"/>
  <rdfs:range rdf:resource="#URI"/>    
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#specifiedThing">
  <rdfs:label>Specified Thing</rdfs:label>
  <rdfs:domain rdf:resource="#Specification"/>
  <rdfs:range rdf:resource="owl:Thing"/>    
</owl:ObjectProperty>

<owl:Class rdf:about="#DefinedBySpecification">
  <rdfs:label>Defined by Specification</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#definingSpecification">
  <rdfs:label>Defining Specification</rdfs:label>
  <rdfs:domain rdf:resource="#DefinedBySpecification"/>
  <rdfs:range rdf:resource="#Specification"/>
</owl:ObjectProperty> 

<!-- Specifications we know and love! -->

<Specification rdf:about="#RFC2396">
  <rdfs:label>RFC2396</rdfs:label>
   <specificationName rdf:datatype="&xsdt;string">RFC 2396</specificationName>
   <specificationURI rdf:datatype="&xsdt;anyURI">http://www.apache.org/~fielding/uri/rev-2002/rfc2396bis.html</specificationURI>
</Specification>

<Specification rdf:about="#RFC2616">
  <rdfs:label>RFC2616</rdfs:label>
   <specificationName rdf:datatype="&xsdt;string">RFC 2616</specificationName>
   <specificationURI rdf:datatype="&xsdt;anyURI">http://www.ietf.org/rfc/rfc2616</specificationURI>
</Specification>

<Specification rdf:about="#RFC2046">
  <rdfs:label>RFC2046</rdfs:label>
   <specificationName rdf:datatype="&xsdt;string">RFC 2046</specificationName>
   <specificationURI rdf:datatype="&xsdt;anyURI">http://www.ietf.org/rfc/rfc2046</specificationURI>
</Specification>

<Specification rdf:about="#RFC2048">
  <rdfs:label>RFC2048</rdfs:label>
   <specificationName rdf:datatype="&xsdt;string">RFC 2048</specificationName>
   <specificationURI rdf:datatype="&xsdt;anyURI">http://www.ietf.org/rfc/rfc2048</specificationURI>
</Specification>

<Specification rdf:about="#RFC2717">
  <rdfs:label>RFC2717</rdfs:label>
   <specificationName rdf:datatype="&xsdt;string">RFC 2717</specificationName>
   <specificationURI rdf:datatype="&xsdt;anyURI">http://www.ietf.org/rfc/rfc2717</specificationURI>
</Specification>


<!-- ========== Registries =========== -->

<owl:Class rdf:about="#Registry">
  <rdfs:label>Registry</rdfs:label>
  <rdfs:subClassOf rdf:resource="rdf:Bag"/>
</owl:Class>

<owl:ObjectProperty rdf:about="#registryAuthority">
  <rdfs:label>Registry Authority</rdfs:label>
  <rdfs:domain rdf:resource="#Registry"/>
  <rdfs:range rdf:resource="#Authority" />
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#registryName">
  <rdfs:label>Registry Name</rdfs:label>
  <rdfs:domain rdf:resource="#Registry"/>
  <rdfs:range rdf:resource="&xsdt;string"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#registryURI">
  <rdfs:label>Registry URI</rdfs:label>
  <rdfs:domain rdf:resource="#Registry"/>
  <rdfs:range rdf:resource="#URI"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#registryProcessSpecification">
  <rdfs:label>Registry Process Specification</rdfs:label>
  <rdfs:domain rdf:resource="#Registry"/>
  <rdfs:range rdf:resource="#Specification"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#registryMapping">
  <rdfs:label>Registry Mapping</rdfs:label>
  <rdfs:domain rdf:resource="#Registry"/>
  <rdfs:range rdf:resource="#RegistryMapping" />
</owl:ObjectProperty>

<owl:Class rdf:about="#RegistryMapping">
  <rdfs:label>Mapping</rdfs:label>
</owl:Class>

<owl:ObjectProperty rdf:about="#mappingKey">
  <rdfs:label>Mapping Key</rdfs:label>
  <rdfs:domain rdf:resource="#RegistryMapping"/>
  <rdfs:range rdf:resource="#Key"/> 
</owl:ObjectProperty>

<owl:ObjectProperty rdf:about="#mappingSpec">
  <rdfs:label>Mapping Specification</rdfs:label>
  <rdfs:domain rdf:resource="#RegistryMapping"/>
  <rdfs:range rdf:resource="#Specification"/> 
</owl:ObjectProperty>

<owl:Class rdf:about="#Key">
  <rdfs:label>Key</rdfs:label>
</owl:Class>

<!-- IANA Registries -->

<owl:Class rdf:about="#IANARegistry">
  <rdfs:label>IANA Registry</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Registry" />
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#registryAuthority"/>
      <owl:hasValue rdf:resource="#IANA"/>	
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<Authority rdf:about="#IANA">
  <rdfs:label>IANA</rdfs:label>
  <authorityURI rdf:datatype="&xsdt;anyURI">http://www.iana.org/#</authorityURI>
</Authority>

<!-- URI Scheme and Media Type Registries -->

<owl:Class rdf:about="#URISchemeRegistry">
  <rdfs:label>URI Scheme Registry</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Registry" />
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#mappingKey"/>
      <owl:allValuesFrom rdf:resource="#URISchemeName"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#mappingSpec"/>
      <owl:allValuesFrom rdf:resource="#URISchemeSpecification"/>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:about="#MediaTypeRegistry">
  <rdfs:label>Media Type Registry</rdfs:label>
  <rdfs:subClassOf rdf:resource="#Registry" />
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#mappingKey"/>
      <owl:allValuesFrom rdf:resource="#InternetMediaType"/>
    </owl:Restriction>
  </rdfs:subClassOf>
  <rdfs:subClassOf>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#mappingSpec"/>
      <owl:allValuesFrom rdf:resource="#FormatSpecification"/>
    </owl:Restriction>
  </rdfs:subClassOf>
</owl:Class>

<owl:Class rdf:about="#IANAURISchemeRegistry">
  <rdfs:subClassOf rdf:resource="#IANARegistry" />
  <rdfs:subClassOf rdf:resource="#URISchemeRegistry" />
</owl:Class>

<owl:Class rdf:about="#IANAMediaTypeRegistry">
  <rdfs:subClassOf rdf:resource="#IANARegistry" />
  <rdfs:subClassOf rdf:resource="#MediaTypeRegistry" />
</owl:Class>

<!-- Registries we know and love! -->

<IANAURISchemeRegistry rdf:about="#IANAURISchemas">
  <rdfs:label>IANA URI Schemas</rdfs:label>
  <registryName rdf:datatype="&xsdt;string">IANA URI Scheme Registry</registryName>
  <registryProcessSpecification rdf:resource="#RFC2717"/>
  <registryURI rdf:datatype="&xsdt;anyURI">http://www.iana.org/assignments/uri-schemes</registryURI>
</IANAURISchemeRegistry>

<IANAURIMediaTypeRegistry rdf:about="#IANAMediaTypes">
  <rdfs:label>IANA Media Types</rdfs:label>
  <registryName rdf:datatype="&xsdt;string">IANA MIME Media Types</registryName>
  <registryProcessSpecification rdf:resource="#RFC2048"/>
  <registryURI rdf:datatype="&xsdt;anyURI">http://www.iana.org/assignments/media-types/</registryURI>
</IANAURIMediaTypeRegistry>

</rdf:RDF>




Received on Wednesday, 5 November 2003 15:46:34 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:42:32 UTC