- From: David Martin <martin@ai.sri.com>
- Date: Wed, 31 Dec 2003 17:20:03 -0800
- To: www-rdf-logic@w3.org
We (the OWL-S Services Coalition) would like to have (and solicit) some
discussion here regarding the general issue of how much must be made
explicit in an OWL ontology. Here's a bit of background, and then 2
particular questions to hopefully focus the discussion. Please note
that this is a very *general* issue that (seems to me) will come up over
and over again on the Semantic Web (not just in declaring services),
which is why I'm posting this here. I include a tiny little bit about
OWL-S, but only so as to ground the discussion in an example.
In OWL-S we have an ontology of processes. The details aren't important
here, except to say that an "atomic process" has inputs, very much like
a procedure in a programming language. So, we have a class
AtomicProcess with property hasInput, which ranges over class Input. We
declare the inputs of a process in a perfectly straightforward manner; e.g.
<AtomicProcess rdf:ID="OrderBook">
<hasInput><Input rdf:ID="BookName">.....</Input></hasInput>
<hasInput><Input rdf:ID="CreditCardInfo">.....</Input></hasInput>
....
(What's in the 2 Input instances isn't important here, except that I'm
assuming there's nothing in them that logically establishes they are
distinct entities.)
A concern has come up that, with only declarations like the above, an
OWL reasoner can't be sure if these are all of the inputs of OrderBook,
or if these 2 inputs are distinct, or how many inputs OrderBook has.
And of course that's clearly true; the above declaration is ambiguous on
all of these points.
It's also true that we could add in additional declarations that remove
the ambiguity. For example, we could add a cardinality restriction that
says "OrderBook has exactly 2 Inputs", and we could add a differentFrom
statement that says "BookName and CreditCardInfo are 2 different things".
OK, some of us feel that we should add these additional declarations, so
as to avoid any possible confusion or malfunction in an OWL reasoner
that might be processing one of our knowledge bases. Others of us
(myself included) feel that it's extremely unfortunate, on practical
grounds, to have to add in these "disambiguation declarations". To my
mind, some of the reasons for this view are:
() For one thing, there's the issue of economy of representation:
the number of differentFrom statements could get to be quite large.
(For N inputs, (N choose 2) = (N * (N - 1)) / 2 differentFrom statements
are required.)
() While there are more economical ways of getting the same
disambiguation, they still tend to be cumbersome, inelegant
complications that obscure (from humans) what's most important about the
knowledgebase.
() No matter how you disambiguate, the presence of the
disambiguation declarations makes it harder and more complicated to make
changes to the knowledgebase.
() No matter how you disambiguate, these declarations also make it
harder and more complicated (or even impossible) to build on and extend
the knowledgebase in a modular fashion.
(OK, I should probably substantiate some of the above points better, but
this message is already too long.)
For those of us who are opposed to adding in the "disambiguation
declarations", it seems we could avoid doing so by stipulating a set of
assumptions, such as the "Unique Names Assumption" (UNA) that makes them
unnecessary. Of course, the UNA by itself isn't enough. In the example
above, UNA tells us there are at least 2 inputs, but it doesn't tell us
that's *all* there are. Here it appears some form of cardinality
restriction is still needed.
There appear to be 2 issues on which we need to get clear:
(1) The technical question: is there some other assumption that could be
called upon to eliminate the need for a cardinality restriction, **whose
definition is clear enough and widely recognized enough to be useful, or
might become so** (and thus is likely to be supported by reasoners)?
Like perhaps some form of the closed-world assumption? (We have some
as-yet-inconclusive ideas about this, but I omit them here in the
interest of brevity.)
(2) The "social" question: is it reasonable and workable for a group of
ontology users (users of OWL-S in this case) to stipulate that all
knowledge bases using a given ontology may be assumed to rely on
assumptions such as UNA and whatever the answer to (1) is?
Comments appreciated.
Thanks,
David Martin
Disclaimer: this summary represents my perspective and reflects my
desire to avoid specifying (what I'm calling) "disambiguation
declarations" in OWL-S knowledge bases. Other members of the OWL-S
Coalition may have a different perspective.
Received on Wednesday, 31 December 2003 20:20:19 UTC