owlcs/owlapi — pull request #307 by sesuncedu (2014-10-09 20:56:57+00:00)
Title: Do magic when data factory is asked to make  DisjointClassAxiom from  single class expression

Assume that the original form of the expression had two identical arguments.

This ought have the semantics of making the class equivalent to Nothing (#306 and #151).

We a second class expression to the set:
If the class expression is not owl:Thing, make it disjoint with owl:Thing.

If the classExpression is owl:Thing, add owl:Nothing; this lets the axiom have two arguments, and is semantically void; we could make owl:Thing disjoint with not(owl:Nothing), but I'm just going for syntactic viability in this case. There are many other ways for expert users to make an ontology inconsistent.

All changes are annotated (with an annotated annotation), noting the change, and noting the version of the API and the time when the change was made. rdfs:comment is used as the annotation property to avoid declaration issues (making the change at the data factory level means we don't have access to the ontology).