2.2 PrecompletionOne of the techniques for tackling the ABox reasoning is the precompletion algo-rithm, this technique is to split the KB satisability algorithm in two parts. Inthe rst part all the information implicit in the role assertions is made explicit,generating what we call a \precompletion" of the knowledge base, then a termi-nological reasoner is used for verifying the consistency of the concept assertionsfor each individual name [5, 6].The work presented in [12] extended the precompletion algorithm for Knowl-edge Base satiability to the DL language SHF. The main advantages of thisapproach are its ability of using existing highly optimised TBox reasoners, andthe fact that it may be able to handle very large ABox by partitioning theminto disconnected parts.However, the logic concerned in [12] is a subset of that required by SemanticWeb knowledge representation languages such as OWL, and it is not easy tosee how the technique can be extended to deal with more expressive languages.Besides, as we stated in the motivation, we will be facing a huge amount ofservice advertisements which might be more challenging for the traditional ABoxreasoning. Therefore, we chose an alternative approach | the instance store. 2.3 Instance StoreA instance store provides weaker functinality than a full ABox, but which isprobably sucient to support a number of applications where individual objectsare to be described and then subsequently retrieved using concept descriptions.The instance store is implemented using a conventional database and a rea-soner, the database stores the relationships between the individuals and theirconcept descriptions. By using a combination of query against the database andsubsumption/classcation requests to the reasoner, the instance store can an-swer queries such as \Retrieval1" and \Realization2" which used to require thefull ABox reasoning. For a complete description of instance store, the insterestedreader is referred to [3].