On Mon, Jun 22, 2009 at 6:25 PM, Yves Raimond <>wrote:

> On Mon, Jun 22, 2009 at 10:16 PM, Martin Hepp
> (UniBW)<> wrote:
> >
> >
> > Yves Raimond wrote:
> >
> > Ontology modularization is
> > a pretty difficult task, and people use various heuristics for deciding
> what
> > to put in the subset being served for an element. There is no guarantee
> that
> > the fragment you get contains everything that you need.
> >
> >
> >
> > Sorry, just jumping on that, as this is something I am having quite a
> > lot of troubles to understand (and since quite a long time). Maybe I
> > am missing something obvious, but how does using owl:imports avoid
> > this randomness? When using it, you're still hoping that dereferencing
> > the object of owl:imports will get you the relevant information? I
> > agree that owl:imports allows you to commit to a whole ontology
> > instead of committing to single terms within an ontology, but I would
> > argue that in most cases, you just want to pick a few terms in an
> > ontology.
> >
> > There is no safe way of importing only parts of an ontology, unless you
> know
> > that its modularization is 100% reliable.
> Hmm, I am still not sure I get it. What do you mean by 100% reliable?
> Can you be more sure that following an owl:imports link will lead you
> to something more reliable?

It means that the full semantics of an OWL ontology is defined by a file and
all the imports. Axioms that are not on the class directly, or even not on a
superclass, might have an effect on inference. For example, one can write,
in OWL

As a simple example, one can write, in any import, EquivalentClasses(:a :b).
If you don't get that bit, then you will miss important inferences. For a
more complicated example you could have


That p is functional and inversefunctional property forces that there be a
one to one relationship between subject and
object. So if we say that :b is an enumerated class

EquivalentClasses(:b ObjectOneOf(:i1 :i2 :i3))

and that every instance of :a is :p related to some :b

SubClassOf(:a ObjectSomeValuesFrom(:p :b))

Then that forces the class :a to have at most 3 members, because we've
stated that every instance of :a has a :p relation to some :b, that :p is
one to one, and there are at most 3 distinct individuals in :b. Each of the
axioms in this example could conceivably be in a different imported file.

Tracking down, for a given class, what is a smaller set of axioms than is
included in the full imports tree, but still yields the same set of
inferences, is known as "modularization".

> > Serving fragments of likely relevant parts of an ontology for reducing
> the
> > network overhead is not the same as proper modularization of the
> ontology.
> But if the concise description of the term is sent back when you
> dereference a term, you should be able to explore the whole ontology
> (class to its subclass to the ontology it is defined in etc.) and
> therefore commit to all the axioms in it if indeed you need to? How
> would such mechanism be different than following an owl:imports link?

As you see from above, it isn't trivial to decide which axioms you need. If
you want to be guaranteed that, put into a reasoner, you will get the
inferences that the author of the ontology intended, then absent an
algorithm for doing modularization correctly (nontrivial), the only way is
to take the whole import.

> Sorry for all the questions, but this is really something I'm having a
> hard time understand.
> (Btw, all the ontologies I wrote or contributed to hold owl:imports
> links, so I am really not against this practice, but I have to admit I
> don't understand it)

Hope this helps.

To the general discussion, I would point out that getting all the same
inference is *not* always what the job needs. For
some sorts of tasks, for instance informal browsing, or indexing of terms to
comments and labels (and others), or providing content that will be
integrated by someone else who *does* import all the ontologies needed,  it
may suffice to simply mention a term. In a case I work on, some ontologies
are simply too large to be reasoned with or used in tools, so importing a
complete ontology to reference a term is impractical, even if it means that
we don't get complete inference. For a description of what we do in those
cases, and the justification for it, see these documents in which we've
written it up.


> Cheers,
> y

Received on Tuesday, 23 June 2009 04:26:31 UTC