In terms of "completeness," I think pD* rules are complete (correct me
if I am wrong on this please).
Not quite. The pD* rules need an auxiliary test for contradictions.
They could probably be made refutation complete.
And I think pD* vocabulary covers all the
core requirements Oracle sees on the field.
I take this to mean that Oracle sees only the following constructs
involving vocabulary from the owl: namespace
- functional, inversefunctional, symmetric, transitive properties
- object equality and inequality
- inverse roles
- equivalent classes and properties
- existential, universal, and filler restrictions
- disjoint classes
This means no cardinalities at all, nor complements, nor deprecation,
nor imports, nor ontology properties, nor use of owl:Thing or
owl:Nothing.
It also means no inferences *from* existential restrictions, and no
inferences *of* universal restrictions. Also no inferences *of*
unmentioned existential restrictions or unmentioned filler restrictions.
Also very limited inference *of* subclass and subproperty relationships,
and equivalent classes and properties. Similarly, limited inference
*of* same individuals and no inference *of* distinct individuals. Also
no inference *of* property functionality, inverse functionality, or
symmetricity, transitivity.
To see the sort of thing that is lost in pD*, consider that
p rdf:type C .
q rdf:type D .
C owl:disjointWith D .
does not pD* entail
p owl:differentFrom q .
Nor does
p r q .
pD* entail
p rdf:type _:e .
_:e owl:hasValue q .
_:e owl:onProperty r .
Nor does
p rdf:type _:s .
_:s owl:someValuesFrom C .
_:s owl:onProperty r .
pD* entail
p r _:x .
[...]
Zhe
peter