- From: Dan Connolly <connolly@w3.org>
- Date: 13 Nov 2002 11:39:38 -0600
- To: Frank van Harmelen <Frank.van.Harmelen@cs.vu.nl>
- Cc: www-webont-wg@w3.org
On Sun, 2002-11-10 at 04:37, Frank van Harmelen wrote:
>
> I've been catching up on the "imports" debate.
> I understand that one option is to have only "implicit imports"
> (ie anytime you refer to some SomeURI#Foo, all contents from someURI is
> merged with the current graph).
>
> But I cannot understand how this will allow me to do the following
> elementary scenario:
I have taken the liberty of making it a bit more concreate;
URIs below are relative to
http://www.w3.org/2000/10/swap/test/owl/
> - at location someURI1, someone defines (say) the domain of SomeURI1#Prop1
in prodDesc, I have
p:obsoletes s:domain p:Product.
> - at location someURI2, someone defines (say) the range of SomeURI1#Prop1
> (this may be an extension of the original ontology, or an update, etc)
in prodDescMore, I have
p:obsoletes s:range s:Product.
> (We agree that a great feature of DAML+OIL was the possibility to
> take identifiers from other ontologies,
> and make further statements about them,
> which is exactly what's going on here).
Well, just because you *can* do this doesn't mean it's always
the best thing to do. To the extent that you can collect
your "definitions" so that they're available by dereferencing
the terms, everybody wins.
> - Now I want to use someURI1#Prop1 in my own ontology,
in storeTerms, I have
st:widget a p:Product;
p:obsoletes st:gadget.
> and I want to exploit both its domain and range definitions
> (in other words, I like the extension made at someURI2)
>
> So I simply use someURI1#Prop1, which gets me the all info from that location.
> This gets me the domain definition of someURI1#Prop1.
>
> QUESTION: without an explicit imports construct,
> how can I ever use the contents of someURI2,
> which contains the range definition of someURI1#Prop1 ?
First, I don't claim there's no need for an explicit imports
construct; I just claim that now is not the time to choose
daml:imports, which will have the practical effect of
excluding other approaches.
> I find this question so obvious that I fear it will have been answered
> before by the proponents of the "no import in OWL-v1", and I have
> probably just missed the answer to this. If so, please can someone point me
> to it?
>
> This answer is so important to me because I could not live with OWL if the
> above scenario were not possible. Note: there is nothing fuzzy here
> concerning
> trust, commitment, asserting-or-not, etc.
On the contrary; in your own words, "I like the extension
made at someURI2". That's a clear expression of trust, no?
The only question is how to express that opinion to the machine.
At my disposal, I have a variety of options.
(a) indicate it at invocation time, saying "I like
the extension made at prodDescMore right now, for this
run, but I might not like it for my next run".
e.g. on a command-line
A command line like this:
% python cwm.py storeTerms.n3 prodDesc.n3 prodDescMore.n3
../../util/rdfs-rules.n3 --think
yields the intended result:
st:gadget a p:Product,
:Resource .
st:widget a p:Product,
:Resource;
p:obsoletes st:gadget .
(b) indicate it in storeTerms.n3, saying "I like
prodDescMore, and I'm going to suggest to anybody
who uses storeTerms that they should take a look at it."
I can use rdfs:seeAlso for this:
<> s:seeAlso <prodDescMore.n3>.
and I tell my tool to trust/believe pretty much anything
it can find by following its nose:
% python cwm.py storeTerms.n3
http://www.w3.org/2000/10/swap/util/autoimport.n3
../../util/rdfs-rules.n3 --think
hmm... can't confirm that this one works just now;
autoimport.n3 is alpha code, and purl.org's DNS records seem
flakey.
This (b) approach is pretty similar to daml:imports.
But it raises the question: do we really need daml:imports?
or is rdfs:seeAlso sufficient?
(c) indicate it in storeTerms.n3 using something more
narrow like
p:obsoletes s:isDefinedBy <prodDesc>, <prodDescMore>.
(d) indicate it in prodDesc using
<> s:seeAlso <prodDescMore.n3>
as if to say "prodDesc has been extended; go look
there fore the extensions".
> I just want to understand how I can
> specify to my reaoner from which premises it should draw its conclusions.
Take your pick of the above. None of them requires that
daml:imports be standardized at this time.
I see a lot more projects meeting this need using rdfs:seeAlso
than anything else, daml:imports included.
--
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Wednesday, 13 November 2002 12:40:07 UTC