- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Mon, 26 May 2003 11:32:23 +0300
- To: www-webont-wg@w3.org
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
Received on Monday, 26 May 2003 05:32:21 UTC