- From: Jim Hendler <hendler@cs.umd.edu>
- Date: Mon, 26 May 2003 16:39:04 -0400
- To: Jeremy Carroll <jjc@hpl.hp.com>, www-webont-wg@w3.org
[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