- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Mon, 15 Apr 2002 17:01:22 +0100
- To: <w3c-rdfcore-wg@w3.org>
ACTION 2002-04-12#7, jjc: post message to rdfcore with motivating example (for dark triples?) The basic problem can be expressed in DAML+OIL as: <rdf:Description rdf:about="#John"> <rdf:type> <daml:class> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:class rdf:ID="Student"/> <daml:class rdf:ID="Employee"/> <daml:intersectionOf> </daml:class> </rdf:type> </rdf:Description> entailing <rdf:Description rdf:about="#John"> <rdf:type> <daml:class> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:class rdf:ID="Employee"/> <daml:class rdf:ID="Student"/> <daml:intersectionOf> </daml:class> </rdf:type> </rdf:Description> ==== In English, the premise reads John is in the intersection of Student and Employee. The conclusion reads John is in the intersection of Employee and Student. WOWG believes that this entailment is appropriate (although that has not been formally decided). However, in RDF the structure of the first collection and the structure of the second collection is fairly different and so it is difficult/impossible to account for the relationship. (I think the exact level of difficulty is disputed). One aspect of this difficulty is that the meaning of the triples according to the RDF Model theory is order preserving. WOWG considers that this issue can be addressed by using dark triples. I have not understood the exact mechanism of the solution. In the discussion WOWG appeared to like this entailment so much, that it was worth paying the cost of having two separate RDF documents to express the light and dark triples. This was the mechanism discussed at greatest length in the webont f2f. (I took it that the motive for discussing that mechanism is that this was the smallest possible change required of RDFCore: simply permission to have an RDF/XML document that is interpreted as a "dark document"). In terms of RDF collections, we could imagine trying to make the same construct with a closed bag. We would then end up with the problem that <rdf:Bag> <rdf:_1 rdf:resource="#Student"/> <rdf:_2 rdf:resource="#Employee"/> </rdf:Bag> and <rdf:Bag> <rdf:_2 rdf:resource="#Student"/> <rdf:_1 rdf:resource="#Employee"/> </rdf:Bag> are fundamentally different. This may be addressable using a fuller solution for containers (such as I have suggested). However that will probably not address the dark triples problem. For example, another desirable (from WOWG's point of view) entailment is: <rdf:Description rdf:about="#John"> <rdf:type rdf:resource="#Student"> <rdf:type rdf:resource="#Employee"> </rdf:Description> entails <rdf:Description rdf:about="#John"> <rdf:type> <daml:class> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:class rdf:ID="Employee"/> <daml:class rdf:ID="Student"/> <daml:intersectionOf> </daml:class> </rdf:type> </rdf:Description> and we see that maybe the whole of the intersection class is "dark" and only the type triple is "light". My understanding of the two documents approach is that some believe that the two documents would be roughly split along the containers being dark, and everything else being light: e.g. Light (asserted) <rdf:RDF> <rdf:Description rdf:about="#John"> <rdf:type> <daml:class> <daml:intersectionOf rdf:resource="#List"> <daml:intersectionOf> </daml:class> </rdf:type> </rdf:Description> <daml:class rdf:about="#Student"/> <daml:class rdf:about="#Employee"/> </rdf:RDF> Dark (unasserted) <rdf:RDF xml:base="same as light document"> <daml:List rdf:ID="List"> <daml:first rdf:resource="#Student"/> <daml:rest> <daml:List> <daml:first rdf:resource="#Employee"/> <daml:rest rdf:resource="&daml;nil"/> </daml:List> </daml:rest> </daml:List> </rdf:RDF> [I note this is likely to be made less ugly by permitting the naming of closed containers in the syntax]. An alternative is that all the ontology stuff is dark vis: Light (asserted) <rdf:RDF> <rdf:Description rdf:about="#John" rdf:type="#GenSym"/> </rdf:RDF> Dark (unasserted) <rdf:RDF xml:base="same as light document"> <daml:class rdf:ID="GenSym"> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:class rdf:ID="Employee"/> <daml:class rdf:ID="Student"/> <daml:intersectionOf> </daml:class> </rdf:RDF> Jeremy
Received on Monday, 15 April 2002 12:02:24 UTC