W3C home > Mailing lists > Public > public-sws-ig@w3.org > October 2004

Re: xml:base in OWL-S files

From: Bijan Parsia <bparsia@isr.umd.edu>
Date: Thu, 14 Oct 2004 17:58:44 -0700
Message-Id: <5CC8D424-1E45-11D9-BAC3-000D93C1F7A6@isr.umd.edu>
Cc: public-sws-ig@w3.org
To: Daniel Elenius <daele@ida.liu.se>

On Oct 14, 2004, at 2:50 PM, Daniel Elenius wrote:

> 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;#"

Namespaces and xml:bases and xml entities all have different rules, I'm  

> 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?

No. The # is superfluous for rdf:ID and stripped off for rdf:about and  
rdf:resource. So, from a URI resolution point of view, it's irrelevant  
and, I think, misleading. It's also harmless.

> 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.

It's harmless.

> 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).

You need to learn the rules for unabbreviating URIs in RDF/XML. There's  
at least 4 ways (entities, relative uris, relative uris in rdf:ID,  
qnames) and they all work somewhat differently (well, qnames and  
entities just concat, but they can be used in different places).

> 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."

OWL ref is just documentation.

> 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.

As is the Guide.

These say nothing about it, at all.

>  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*

You definitely wouldn't want to use a # there.

OWL semantics are defined in terms of an abstract syntax, which itself  
has a mapping to rdf triples, which itself has rules for how to  
serialize or parse them from RDF/XML.

So, in this case, RDF/XML dominates. So, see:

In particular:
"An empty same document reference "" resolves against the URI part of  
the base URI; any fragment part is ignored"

> 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.

All that matters is how the URIs come out.

Bijan Parsia.
Received on Friday, 15 October 2004 00:58:51 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:32:46 UTC