- From: Rob Shearer <Rob.Shearer@networkinference.com>
- Date: Thu, 1 Apr 2004 09:21:28 -0800
- To: "RDF Data Access Working Group" <public-rdf-dawg@w3.org>
Given RDF nodes for people and the property "hasAccountant" I think we've all agreed on the need to answer questions along the lines of "get me everyone with an accountant" and "get me everyone whose accountant is Fred". I think there's also a requirement to query for people who *don't* have accountants, or who don't have Fred as an accountant. Those on the telecon noted that negation is a bit complex in a system with incomplete information: what if somebody does have an accountant, but you just haven't heard about it yet? The thing is, such an assumption goes way beyond RDF semantics. RDF has no way of declaring, whether implicitly or explicitly, that a particular relationship does not exist, thus there is *never* any distinction between "don't know" and "definitely not" within a particular RDF model. In terms of a single RDF model, negation really is as simple as it sounds. If a triple doesn't exist, then it doesn't exist, and that's the end of it. The proposed requirement is that queries be able to be phrased in terms of non-existence of some triple(s). It's a common misconception that OWL ontologies and such simply add new triples to existing RDF models, but this case demonstrates that it's abolutely not the case. OWL ontologies can declare the non-existence of a relationship, which can't be encoded in an RDF model. In practice, I see the true relationship between OWL and RDF as being that each of the many many different interpretations of an OWL ontology can be viewed as an RDF model. Some triples exist in every interpretation (e.g. the explicit triples, and a whole lot of inferred triples), some are present in only some interpretations (the realm of "incomplete information"), and some are not present in any interpretations (those which the ontology has inferred are impossible/contradictory). The query language developed at Network Inference makes this situation explicit, and in the process makes negation a very sensible operation. The non-existence of a triple is a perfectly fine thing to use as a boolean query predicate, and the distinction between the "maybe"s (incomplete information; triples in some models but not others) and the "no"s (triples which are present in no interpretation) is revealed by summarizing results over all possible models. (There's obviously a lot more to say about our particular query language, but I still think this working group shouldn't get too bogged down in actual languages yet. All I wanted to illustrate was how negation relates to RDF and OWL.)
Received on Thursday, 1 April 2004 12:22:43 UTC