Re: imports issue

[I hope it is clear to people by now that nothing I say on the 
imports issue should be taken as a chair's statement unless clearly 
indicating so]

Jeremy-
  I truly hope you are not serious.  The solution you outline below 
would mean that you divide your files into two things -- one in which 
you can't even use everything from RDFS (which you call the 
vocabulary, but note you split out the subclasses) and one which has 
everything interesting in it -- hierarchical structure, property 
restrictions, etc.  I cannot imagine an application where I could use 
the first without the second and still think I am getting anything of 
any benefit from OWL.
  Frankly, I'm even more depressed than I used to be about our imports 
-- it has become clear that splitting large vocabularies into smaller 
ones will have no use, you'll still have to import the whole thing to 
do much (in Lite and DL).
  I think we should recommend to creators of large ontologies that 
they NOT use owl:imports to the other "pieces" of the ontology, 
instead they should simply use namespace references across the files, 
and each import a small piece of "upper ontology" that helps connect 
them semantically.  I think that is what all users will likely end up 
having to do to use OWL DL in practice, and thus we might as well get 
credit for having been smart enough to recongize it in advance
  -JH
p.s. actually, I have another solution -- let's encourage people to 
use imports in OWL DL and Lite.   As such, any two files that refer 
to each other are likely to do imports, and since I predict a lot of 
the value of ontologies will be in refering to each other, this will 
mean DL and Lite engines get overwhelmed, and people come back to us 
requesting we fix this ridiculous imports mess.  Here's a nice use 
case:

Carole Goble and I were discussing linking existing ontologies on 
cancer to create the definitive research ontology for cancer -- we 
already have three important pieces:the Galen medical ontology has 
many things relating to cancer (it is large), the genome ontology 
talks about genes relating to cancer, the NCI ontology links the 
things talked about in Galen (organism level cancer) to the things in 
the Genome ontology (low level loci and locuses).  One problem, these 
are three of the largest ontologies built to date, and if they all 
import each other (or one ontology is created importing all three), 
they are likely to break all current tools.  When you note that the 
proposed proteomics ontology will also have cancer info, that most 
scientific publishers have cancer thesauri likely to move into OWL 
(and refer to NCI or GO) and that cancer is related to vritually 
every facet of modern life (for example, the NCI ontology already 
includes things like life style issues (alcoholism, sexual 
practices), eating preferences (vegetarian, the use of grilling vs. 
baking, etc) and many other things that correlate with cancer risk) 
you can imagine that even just for cancer research we already are 
talking about an ontology with many millions of triples (already 
existing) and a desire to link it to many million more (the various 
definitive ontologies for some of the lifestyle research communities) 
-- does anyone now see why I am concerned?  We are in year 1 of OWL, 
and already we have important ontologies, built to be in DL,  and a 
need to link them that will overwhelm current implementations using 
imports in the naive way forced upon people by our decisions.
  We should caution people to use imports sparingly and only when they 
need the "commitment" that Jeff was worried about when he raised this 
issue.





At 11:32 AM +0300 5/26/03, Jeremy Carroll wrote:
>I have only partially been following this issue ...
>
>Here's an idea that I think would help with the use of owl:imports in large
>ontologies; if we wanted to include it in any response we would probably need
>to sketch it in guide, and ideally make wine.owl or food.owl or both follow
>it.
>
>Problem statement:
>
>If I divide a large ontology up into small modules then I do not gain
>anything, because the imports closure of any file is always the whole
>ontology.
>
>
>Solution statement:
>
>If you further divide each module into two files:
>  - vocabulary declarations
>  - axioms
>Then when you import a module you need only import the vocabulary
>declarations, and the choice of whether or not to import the axioms reflects
>the purpose of the file. In particular, for the typical module:
>- the vocabulary declarations does not import anything
>- the axioms imports only the vocabulary declarations needed.
>Thus the imports closure does not involve any second level documents and is an
>entirely tractable operation.
>
>Example:
>
>The ontology
>
>     <owl:Ontology rdf:about=''/>
>     <owl:Class rdf:ID='Man'>
>         <rdfs:subClassOf rdf:resource='#Mortal'/>
>     </owl:Class>
>     <owl:Class rdf:ID='Mortal'/>
>
>is divided into
>
>vocabulary
>     <owl:Ontology rdf:about=''/>
>     <owl:Class rdf:ID='Man'/>
>     <owl:Class rdf:ID='Mortal'/>
>
>and
>
>     <owl:Ontology rdf:about=''/>
>     <owl:Class rdf:ID='Man'>
>         <rdfs:subClassOf rdf:resource='#Mortal'/>
>     </owl:Class>
>     <owl:Class rdf:ID='Mortal'/>
>
>
>=================
>
>Overall I think the approach identified is one which would need significant
>thought and experience to get it right for ontology engineering; but I do not
>believe that that is the WG's job, but it does, at least to me, show that
>owl:imports is not fundamentally broken.
>
>(I realise that python hackers who have forgotten the C they learnt in college
>may find it a step backward)
>
>Jeremy

-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  240-731-3822 (Cell)
http://www.cs.umd.edu/users/hendler

Received on Monday, 26 May 2003 16:39:12 UTC