xml:base in OWL-S files

Working with the OWL-S files, and struggling with imports in protege, I 
have looked at some details of the OWL-S files, in, well some detail :)
And I want to discuss the following issue.

All the OWL-S files now have an xml:base defined, such as

xml:base="&process;"

in Process.owl, where &process; is defined by 
<!ENTITY process "http://www.daml.org/services/owl-s/1.1/Process.owl">

But ordinary namespace prefixes have a hash (#) in the end, such as:

xmlns:grounding= "&grounding;#"

where we have <!ENTITY grounding "http://www.daml.org/services/owl-s/1.1/Grounding.owl">

Now, the question is, should xml:base URIs have the # in the end? In the examples in the 
OWL Web Ontology Language Guide (http://www.w3.org/TR/2004/REC-owl-guide-20040210/), 
they do. For example:

xml:base  ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#"

Are these examples wrong? A lot of things suggest that they are.


First, in the OWL Web Ontology Language Reference (http://www.w3.org/TR/owl-ref/),
Appendix A, the owl ontology itself has:

xml:base  ="http://www.w3.org/2002/07/owl"
(no # in the end).


The OWL Ref says that

"The line

  <owl:Ontology rdf:about="">

states that this block describes the current ontology. More precisely, 
it states the current base URI identifies an instance of the class 
|owl:Ontology|. It is recommended that the base URI be defined using an 
|xml:base| attribute in the |<rdf:RDF>| element at the beginning of the 
document."

and the OWL Guide that

"The rdf:about attribute provides a name or reference for the ontology.
Where the value of the attribute is "", the standard case, the 
name of the ontology is the base URI of the owl:Ontology element.  
Typically, this is the URI of the document containing the ontology.
An exception to this is a context that makes use of xml:base 
which may set the base URI for an element to something other than the
URI of the current document."

I guess this still doesn't give conclusive evidence for either variant. But if we consider that
"Syntactically, |owl:imports| is a property with the class |owl:Ontology| as its domain and range" (OWL Ref) *and* 
that the URI given to owl:imports is written _without_ the # (at least I have never seen it _with_ a #), *and*
that the xml:base gives the URI to the owl:Ontology instance, then it looks like the xml:base should be
written _without_ the #. Thus, the examples in the OWL Guide would be wrong.

What do you think?

/Daniel

Received on Thursday, 14 October 2004 21:50:42 UTC