Dark triples are inherently nonmonotonic.

The dark triples idea is to provide a way to indicate that some triples have their RDF meaning cancelled when read as OWL. Since the only point of doing this is to allow OWL to be a same-syntax extension of RDF, we will assume that this indication of darkness is itself an RDF statement, though of course its OWL *meaning* will go beyond the RDF MT itself.

The most recent proposal was to 'darken' a uriref simply by asserting a triple of the form

<ex:aaa> <rdf:type> <owl:Dark>

(say that this triple 'darkens' the ex:aaa) and assume that this means that any triple using the ex:aaa term is not required to have the same meaning in OWL as it has in RDF, and to assume that

<owl:Dark> <rdf:type> <owl:Dark>

but the exact details do not matter to the point being made here.

Now, since this darkening is expressible in RDF, one can imagine a situation where an RDF graph G contains some vocabulary and another RDF graph GD darkens that vocabulary. The result of merging the two graphs then would also darken the vocabulary, even in the first graph, so that any conclusions made in OWL from the first graph that depended on the RDF meaning of that vocabulary would become invisible, and hence no longer OWL-entailed by, the merged graph. This is a classical non-monotonic situation: something is entailed by A but is no longer entailed (A and B) for some B.

(There are many examples of nonmonotonic inference from AI using a construction due to McCarthy called the ab predicate. Ab stands for 'abnormal' and the idea is that one is allowed to infer that things will happen normally  (when planning actions) until the predictions go wrong, and then one infers that something was abnormal. (This was one way to deal with the notorious frame problem.) If the 'not-abnormal' assumptions are made explicit the reasoning is monotonic, but the idea is to not make them explicit, but to non-monotonically assume that everything is normal until it goes wrong, then change one's mind. Obviously it would be easy to map this kind of reasoning into the dark-triples framework by darkening all the 'ab' vocabulary. Then the planning inference would be done in OWL but one would have to revert to RDF when things went wrong, and the conclusions would differ in each case. One can do similar tricks to recreate the classical 'Tweety' examples, by darkening the 'unless it is a penguin' exception case statements.

One might argue that it should be impossible to infer any darkening triple in OWL, since part of the convention is that <owl:Dark> is itself darkened, so any antecendents which involve it will not be visible to OWL. This response is only partly satisfactory, however. The darkened vocabulary is not *invisible* to OWL;it simply no longer has its RDFS meaning; and since owl:Dark does obviously have a meaning in OWL, albeit an unusual one, there is no a priori reason why it should not take part in OWL inferences. Moreover, if we ever make "imports" a first class language construct, which can get inferred, then an OWL ontology might import an ontology which darkens part of its own vocabulary.

All this applies pretty much unchanged whether the darking is done in RDF or in OWL; the only difference is which language gets to be nonmonotonic.

The only way to ensure a modicum of global monotonicity would be to strictly restrain the ways that the darkening machinery can be deployed. For example, we might require that all OWL graphs must darken certain parts of the RDFS/OWl vocabulary, and no other parts. This would produce such a rigid convention that it hardly seems worth incorporating the darkening process into the triples-store at all, however; it could be simply built into the OWL model theory as a global OWL assumption.

Pat Hayes
R. V. Guha