GUIDE: Setting up namespaces, declaring ontology uri

Hi -

the currently suggested form for the declaration of the
ontology uri is the usage of an empty URI reference,
which points to the document URI itself.

Therefore this URI is mutable and will change when an
ontology is moved.

To solve the problem (also the problem of changing local names),
I suggest adding a xml:base declaration for the document.

This should be done with the Root Element of the XML document,

in our case rdf:RDF.

For the guide document it would suffice to take the text from the "Setting
Up Namespaces" section
in the daml+oil walkthrough and change it accordingly.




<a name="namespaces"/>
<h2>Setting Up Namespaces</h2>

<p>DAML+OIL, is written in RDF[<a href="#RDF1">RDF</a>],
i.e., DAML+OIL markup is a specific kind of RDF markup. RDF, in turn, is
written in XML, using XML Namespaces[<a href="#XMLNS">XMLNS</a>], and URIs.
If
you are unfamiliar with RDF, the
<a href="#xml-guide">minimalist survival
guide to XML</a> and the
<a href="#rdf-guide">minimalist survival
guide to RDF</a> below may help get you started.</p>

<SPAN CLASS="v4">
<p>Thus, our example begins with an RDF start tag including several
namespace
declarations:</p>
<pre>
&lt;rdf:RDF
  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#"
  xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
  xmlns:dex ="http://www.daml.org/2001/03/daml+oil-ex#"
  xmlns:exd ="http://www.daml.org/2001/03/daml+oil-ex-dt#"
  xml:base  ="http://www.daml.org/2001/03/daml+oil-ex"
&gt;
</pre>
</SPAN>

<p>So in this document, the <code>rdf:</code> prefix should be understood as
referring to things drawn from the namespace called
<code>http://www.w3.org/1999/02/22-rdf-syntax-ns#</code>. This is a
conventional RDF declaration appearing verbatim at the beginning of almost
every rdf document.<a href="#xmlns:rdf note"><sup>xmlns:rdf</sup></a></p>

<SPAN CLASS="v4">
<p>The second and third declarations make similar statements about the RDF
Schema and XML Schema datatype namespaces.
</p>
</SPAN>

<p>
The <SPAN CLASS="v4">fourth</SPAN> declaration says that in this document,
elements prefixed with
<code>daml:</code> should be understood as referring to things drawn from
the namespace called
<SPAN CLASS="v4">
<code>http://www.daml.org/2001/03/daml+oil#</code>
</SPAN>.
This again is a conventional DAML+OIL declaration.
</p>


<p>
<SPAN CLASS="v4">
The fifth declaration says that in this document, elements prefixed with
<code>dex:</code> should be understood as referring to things drawn from
the namespace called
<code>http://www.daml.org/2001/03/daml+oil-ex#</code>,
i.e., the location of this document itself.
</SPAN>
</p>

<p>
<SPAN CLASS="v4">
The sixth declaration says that in this document, elements prefixed with
<code>exd:</code> should be understood as referring to things drawn from
the namespace called
<code>http://www.daml.org/2001/03/daml+oil-ex-dt#</code>,
which is a sibling document to this document itself, containing
XML Schema datatype definitions used in this document.
This is conventional in many DAML+OIL documents, as they will have a
separate document containing XML Schema datatype definitions.
</SPAN>
</p>

<SPAN CLASS="v3-2"><p>The final declaration states that unprefixed elements
and empty URI references refer to
<SPAN CLASS="v4">
<code>http://www.daml.org/2001/03/daml+oil-ex</code>
</SPAN>,
i.e., a document specified by this URI. </p>
</SPAN>

<p>If you look at the bottom of this document, you'll see the matching
closing
tag, <tt>&lt;/rdf:RDF></tt>.</p>

<a name="housekeeping"/>
<h2>Housekeeping</h2>

<p>The first thing we do inside this RDF document is to assert that this
<i>is</i> an ontology.</p>
<pre>
&lt;daml:Ontology rdf:about=""&gt;
</pre>

<p>This assertion is formulaic; the about attribute will typically be empty,
indicating that the subject of this assertion is <i>this</i> document, if
no xml:base declaration was previously made. Otherwise the subject of this
assertion is the value specified by the xml:base property.<a
href="#Same document reference note"><sup>Same-document
reference</sup></a> </p>

Received on Thursday, 11 July 2002 10:18:54 UTC