- 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