W3C home > Mailing lists > Public > www-webont-wg@w3.org > May 2003

Proposed response to Golbeck regarding imports issue

From: Jeff Heflin <heflin@cse.lehigh.edu>
Date: Mon, 19 May 2003 13:28:52 -0400
Message-ID: <3EC91453.F2EB22CB@cse.lehigh.edu>
To: WebOnt <www-webont-wg@w3.org>

The following is a proposed response to Jennifer Golbeck regarding the
issue with imports raised in:

http://lists.w3.org/Archives/Public/public-webont-comments/2003May/0068.html

Dear Jennifer,

Thank you for you comment. As the original issue owner for imports, I
have been asked to respond on this issue to you. This issue was heavily
debated by the working group between Sept. and Nov. 2002 (see the public
archive for excruciating details) and it became clear that any
resolution (including not including imports at all) would have been
closed over objection. The current resolution is the result of a
majority vote.

That being said, let me address your specific concerns because I believe
there are suitable workarounds for your issues.

You mention your desire to break the NCI ontology into smaller
ontologies. This certainly would be a good reason to use imports. And I
would be surprised if it was impossible to modularize this ontology,
although it may be hard design work. Unfortunately, the link you gave
was broken so I could not view the ontology and make concrete
suggestions. However, if it is mostly a deep and broad taxonomy, then a
natural approach is to create abstract ontologies for the top of the
taxonomy, and then group the most specific classes into chunks of
manageable size. Each of these chunks would be an ontology that imports
the abstract ontology.

Even if this is not the case, and in effect, all files had to import all
of the others, this should not matter for many tools. Imports only
really matters to reasoners, and even then only those that are concerned
with completeness. For example, an editor does not have to follow
imports links. Additionally, an incomplete reasoner (and many reasoners
may be incomplete in various ways, but still be valuable) might choose
not follow these links either.

You also mentioned wanting to borrow a single term from a large
ontology, without having to import the whole thing. This was discussed
by the working group from the very beginning. I point to Objective 07
from the Use Cases and Requirements document [1]:

O7. Commitment to portions of ontologies 
The language should support the ability to commit to portions of an
ontology, as well as committing to an entire ontology. However, it is
unclear what granularity should be used here. Possible choices are to
choose a subset of concepts with their entire definitions, or to
choose   individual pieces of definitions. Note that borrowing partial
definitions of concepts must address the potential interoperability
problems that can arise since different applications will be using the
same identifier to mean different things.

Note, as an objective, the group decided that the feature was generally
desirable, but that it wasn't absolutely necessary for the the first
version of the language. It was discussed at the time imports was
considered, but no concrete proposal for how partial imports would work
was put forward at that time. However, I see a couple of alternatives
for how you can handle your problem:

1) If you do not wish to import the large ontology then you do not
endorse it in its entirety. So just copy the relevant portions into some
other file and import that instead. Note, you can still use the URIs
from the original large ontology, which I think gets you exactly the
operational behavior you desire. It also has the added benefit of making
it explicit how much of the ontology you agree with. An even better
solution is to get the owner of the large ontology to break it into
smaller, more manageable chunks, but I realize that this is often not
feasible.

2) The current spec does not prevent people from experimenting with new
features and (a corresponding extended semantics) to handle just this
issue.
Simply don't use owl:imports in the documents that do this and instead
define some other property. If you can develop compelling demos, get
wide usage, and provide a clean semantics, then it should be easy to get
it into OWL 2.0.

Finally, you mention the wording in the documents:

First you discuss the following passage from the reference document,
7.3:

"Note that the importing a document is different than creating a
namespace reference. owl:imports do not set up a shorthand notation for
names as does a namespace reference. On the other hand, the namespace
reference does not imply that all (or even any) ontological terms from
that namespace are being imported. Therefore, it is common to have a
corresponding namespace declaration for any ontology that is
imported."

You are correct that there are a few problems here: First, we are
inventing the term "namespace reference" when we mean "namespace
declaration." Second, the point of this paragraph was to comment on why
namespace declarations and imports are both needed, not to comment on
how systems might follow links. In particular, we were trying to say
that they are very different animals. I suggest the following rewording:

"Note that although owl:imports and namespace declarations may appear
redundant, they actually serve very 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 (although some applications may choose to process these documents in
addition to the original document). 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."

You also mention the following from the OWL Guide, 2.2.: 

"Importing another ontology brings the entire set of assertions provided
by that ontology into the current ontology. In order to make best use of
this imported ontology it would normally be coordinated with a namespace
declaration. Notice the distinction between these two mechanisms. 
The namespace declarations provide a convenient means to reference names 
defined in other OWL ontologies. Conceptually, owl:imports is provided
to indicate your intention to include the assertions of the target
ontology. Importing another ontology, O2, will also import all of the
ontologies that O2 imports."

Once again, you are correct that the wording could be improved. By "to
make best use of" we really meant "for convenience of the user." Of
course, you are also correct that there may be times when the namespace
declaration is irrelevant (such as the case when an ontology does not
create any new identifiers), which is why it is important that we say
"usually" and not always. Here is my suggested rewording:

"Importing another ontology brings the entire set of assertions provided
by that ontology into the current ontology. It is often convenient to
coordinate this with a namespace declaration, so that qualified names
can be used when referring to the resources of the ontology. Notice the
distinction between these two mechanisms. The namespace declarations
provide a convenient means to reference names defined in other OWL
ontologies. Conceptually, owl:imports is provided to indicate your
intention to include the assertions of the target ontology. Importing
another ontology, O2, will also import all of the ontologies that O2
imports."

Thank you again for you comments. Please let me know if I have
adequately addressed your concerns.

[1] http://www.w3.org/TR/webont-req/#section-objectives
Received on Monday, 19 May 2003 13:28:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:00 GMT