namespace declarations and imports

I have a very newbie question I'm hoping someone can clarify. Say I'm
creating an ontology and have several namespace declarations because I want
to use some defined vocabularies, e.g. foaf:http://xmlns.com/foaf/0.1/ and
owl:http://www.w3.org/2002/07/owl#. Maybe I want to use foaf:mbox and
owl:sameAs. My question is, how are the foaf and owl definitions located?
Since URIs are not always resolvable, or may be resolvable to something
other than the ontology itself, I'm wondering how they are loaded when I do
something like run the Pellet reasoner on my ontology in Protege. Does it
look up the URI in some common repositories and try to load from there?

On a related note, I was confused by this paragraph from
http://www.w3.org/TR/owl-ref/#imports-def

"Although owl:imports and namespace declarations may appear redundant, they
actually serve different purposes. Namespace declarations simply set up a
shorthand for referring to identifiers. They do not implicitly include the
meaning of documents located at the URI. On the other hand, owl:imports does
not provide any shorthand notation for referring to the identifiers from the
imported document. Therefore, it is common to have a corresponding namespace
declaration for any ontology that is imported."

Namespace declarations don't *only* set up shorthand, do they? If I declare
the foaf namespace and then refer to foaf definitions in my ontology, at
some point the foaf ontology has to be loaded. I don't see a large
difference between namespace declarations and imports.

I'm very confused by this issue, so it's possible that my question doesn't
even make sense. :-) Thanks for any clarification of this issue.

Cheers,
Jim

Received on Wednesday, 24 June 2009 08:22:01 UTC