- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Tue, 6 Dec 2005 00:26:40 +0100
- To: public-rif-wg@w3.org
- Message-Id: <F00005ED-CCB7-4CEB-911D-C03FF461A916@inf.unibz.it>
MANAGING INCOMPLETE INFORMATION ------------------------------- A travel agency has an information system storing (incomplete) data about its customers. A knowledge base states general information about the domain: "travellers have an home address", "travellers either pay cash or pay with a credit card"; Class(kb:traveller partial restriction(kb:homeAddress someValuesFrom (owl:Thing))), Class(kb:traveller partial unionOf(kb:paysCash kb:paysCC)). Note that the statements in the above knowledge base can not be expressed neither in RDF(S) nor in DLP; both can be expressed in OWL-Lite, and the first one can be expressed in DL-Lite. The above statements could be expressed equivalently as follows: kb:traveller rdfs:subClassOf (some kb:homeAddress owl:Thing). kb:traveller rdfs:subClassOf unionOf(kb:paysCash kb:paysCC). The (ground) data includes: "Paul, Andrea, Simon, Caroline are customers", "Paul and Andrea are travellers", "Simon pays with credit card", "Caroline pays cash", "Paul travels with Andrea and Simon", "Simon travels with Andrea", "Andrea travels with Caroline"; db:customer("Paul"), db:customer("Andrea"), db:customer("Simon"), db:customer("Caroline"), kb:traveller("Paul"), kb:traveller("Andrea"), kb:paysCC("Simon"), kb:paysCash("Caroline"), db:travels-with("Paul","Andrea"), db:travels-with("Paul","Simon"), db:travels-with("Simon","Andrea"), db:travels-with("Andrea","Caroline"). An application on top of the information system uses rules to derive new information. ***[use case (a): existential information]: "Is Paul a customer with an address?" db:customer-with-address(X) :- db:customer(X), kb:homeAddress(X,Y). In a framework with a 'classical' semantics we actually get db:customer-with-address("Paul") as expected, since Paul is a customer and a traveller, and travellers do have an address by definition in the knowledge base. However, in most approaches integrating rules with ontologies it is not true that db:customer-with-address("Paul") since variables (including the 'Y') are grounded on the herbrand universe. ***[use case (b): disjunctive information]: "Is Paul a paying customer?" db:paying-customer(X) :- db:customer(X), kb:paysCC(X). db:paying-customer(X) :- db:customer(X), kb:paysCash(X). In a framework with a 'classical' semantics we actually get db:paying-customer("Paul") as expected, since Paul is a customer and a traveller, and travellers - by definition in the knowledge base - do pay either cash or with a credit card so that at least one of the two rules is fired for Paul. However, in most approaches integrating rules with ontologies it is not true that db:customer-with-address("Paul") since rules operate on a preferred (minimal) model, which in this case assumes that Paul is neither paying cash nor with credit card (being neither of the two facts provable individually). ***[use case (c): multiple model information]: [this is the (in)famous Little House example from <http://lists.w3.org/Archives/Public/public-rdf-dawg/2004JulSep/0069>] "Is Paul a customer travelling with somebody paying with credit card who's travelling with somebody paying cash?" db:query(X) :- db:customer(X), db:travels-with(X,Y), kb:paysCC(Y), db:travels-with(Y,Z), kb:paysCash(Z). In a framework with a 'classical' semantics we actually get db:query("Paul") as expected, since Andrea pays either cash or with a credit card, so that Paul is in any model in the extension of db:query. However, in most approaches integrating rules with ontologies it is not true that db:query("Paul") since rules operate on a preferred (minimal) model, which in this case assumes that Andrea is neither paying cash nor with credit card (being neither of the two facts provable individually). IMPLICATIONS ------------ - The above use cases are among the simplest examples of the impact of incomplete information (such as the one introduced by simple ontologies) in a rule framework integrated with ontologies - RDF(S) and DLP do not introduce incomplete information, since they have the minimal model property - It is important to devise a (or several alternative) precise and formal semantics to the rule framework, so that these use cases will have a non-ambiguous meaning - Ideally, when expressible, it is desirable to get the expected intuitive behaviour called 'classical semantics' in the use cases above
Received on Monday, 5 December 2005 23:27:08 UTC