- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Thu, 30 May 2002 10:30:35 +0100
- To: <www-webont-wg@w3.org>
150 years ago, Darkest Africa was an evil place filled with cannibals who sacrificed their children to devils. Or perhaps, it was merely that part of the continent that had not been mapped by white europeans. I suggest that we should identify the dark graphs of web ont. These being the graphs that we treat as of undefined semantics rather than consistent or inconsistent. These being marked on the map as unmapped. Possible text would be: [[[ RDF graphs are assigned a truth value true or false depending on whether they have any interpretations according to a model theory. RDFS Model Theory assigns all graphs true. OWL Model theory assigns certain RDF graphs the value false because they are self-contradictory in OWL. There are some graphs which cause particular problems to the current OWL model theory, and this version of OWL leaves their interpretation as undefined. These graphs are known as 'dark graphs'. More precisely, an implementation should issue a warning message indicating that the semantics of such graphs is undefined, and that there wil be interoperability problems. Having done so, an implementation may treat a dark graph as having entailments of the implementation's chosing. The simplest behaviour is to treat the graph as self-contradictory. Dark graphs are identified because either they directly contain a dark triple, or because they RDFS entail a dark triple. Dark triples are triples that match any of the following (using * as a wildcard). (owl:* does not match owl:Thing) * rdfs:subClassOf owl:* . * owl:sameClassAs owl:* . * rdfs:subPropertyOf owl:* . * rdfs:subPropertyOf rdf:type . * rdfs:subPropertyOf rdfs:subPropertyOf . * rdfs:subPropertyOf rdfs:subClassOf . * rdfs:subPropertyOf rdfs:range . * rdfs:subPropertyOf rdfs:domain . * owl:samePropertyAs owl:* . * owl:samePropertyAs rdf:type . * owl:samePropertyAs rdfs:subPropertyOf . * owl:samePropertyAs rdfs:subClassOf . * owl:samePropertyAs rdfs:range . * owl:samePropertyAs rdfs:domain . * owl:onProperty rdf:type . * owl:onProperty rdfs:subPropertyOf . * owl:onProperty rdfs:subClassOf . * owl:onProperty rdfs:domain . * owl:onProperty rdfs:range . * owl:onProperty owl:* . * owl:toClass owl:* . * owl:toClass rdf:Property . * owl:hasClass owl:* . * owl:hasClass rdf:Property . * owl:sameIndividualAs owl:nil . * owl:equivalentTo owl:* . * owl:equivalentTo owl:* . * owl:equivalentTo rdf:type . * owl:equivalentTo rdfs:subPropertyOf . * owl:equivalentTo rdfs:subClassOf . * owl:equivalentTo rdfs:range . * owl:equivalentTo rdfs:domain . * owl:equivalentTo owl:nil . These either allow an ontology to attempt to describe itself or try and extend the OWL language. ]]] I suspect my list is incomplete, the rules for completing it are: - when in doubt add the triple - the only reason for not adding the triple is + it seems genuinely useful and + it expresses something that can be expressed in mainstream description logic. I am assuming that the List vocabulary is in the owl namespace. Otherwise it would need to be explicitly treated in the black list. Of course, we could address the RDFS layering issue simply by deciding that all the dark graphs identified above are contradictions. Then we would respect all their RDFS entailments (trivially). I wouldn't like that much but could live with it, and would prefer it to making RDF Model Theory non-normative. If we wanted to stress conformance with RDFS then we would have slightly different text [[[ implementation may treat a dark graph as having its RDFS entailments and any others of the implementation's chosing. The simplest implementation is to treat a dark graph as self-contradictory. ]]] (I doubt there would be group consensus for that). If we wished to stress the dangers of paradox we would have text [[[ implementors should note that at least some dark graphs appear self-contradictory in interesting ways e.g. testA, testB, testC ]]] Jeremy
Received on Thursday, 30 May 2002 05:31:16 UTC