Re: imports issue

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