Negative Property Assertions (NPAs) in RL

There was some clear and present confusion in today's telecon.  I  
want to point out a few things, and I wanted to record (now) my  
thoughts so that if Aberdeen does file a formal objection, I don't  
have to recreate them later :)

---------------------
	1) It was asserted that NPAs increase the expressivity of RL [1],  
and that that was a reason to resist them (since they would increase  
the implementation burden).
	
	NPAs are sugar as was pointed out last week:

<http://www.w3.org/2007/OWL/meeting/ 
2009-04-08#negative_class_and_property_assertions__3a__should_they_be_su 
pported_in_OWL_RL__3f____28_see_Jos_de_Bruijn__27_s_LC_comment_and_Achil 
le__27_s_review_of_Profiles__29_>

	Achille's encoding:
		 DisjointClasses(ObjectSomeValueFrom(R, ObjectOneOf(b)), ObjectOneOf 
(a))).
	There are a slew of other ones.

	All the encodings are linear (obviously).

---------------------
	2) It was asserted that NPAs are difficult for RDF APIs [2], and  
that that was a reason to resist them.

	NPAs do not require any change to any RDF API. At all. Nada.  
Furthermore, this fact does not require any special RDF or RDF  
toolkit expertise to verify (although, I believe I have that  
expertise and I do verify it). If we look at the mapping to RDF:

    NegativeObjectPropertyAssertion( OPE a1 a2 )

Gets mapped to:

    _:x rdf:type owl:NegativePropertyAssertion .
    _:x owl:sourceIndividual T(a1) .
    _:x owl:assertionProperty T(OPE) .
    _:x owl:targetIndividual T(a2) .

All the latter are standard RDF triples in good standing. Thus, there  
is no change needed to any RDF API to support NPAs. The rules need to  
reason with them them can be standard RDFy rules (and Ivan has  
verified this with an implementation). All the alternative encodings  
require *more* triples. But they are all triples. There's *no*  
difference between the various encodings from the RDF point of view  
except number of triples and the predicates used. None. Nada. Zip.  
Zilch.

In fact, this encoding is *better* than the other ones as it's A)  
shorter, and 2) more intention revealing.

---------------------

I would expect users to like this and want NPAs. The general rule is  
that users like features, esp. if there's no extra cost and, you  
know, people *do* complain that you can't negate property assertions.  
Given how easy the alternative encodings are *and* that we have the  
"direct" encoding in the complete language, we run a rather serious  
risk of people settling on an alternative encoding. That's *bad*  
because it introduces nominals even when nominals weren't otherwise  
used. That means that such OWL RL ontologies can do *arbitrarily  
worse* on reasoners with general nominal support. That means a  
heavier implementation burden or worse interop.

If we have means in the complete language to directly say what can be  
implicitly said in a profile, we should enlarge that profile to be  
able to directly say it. To do otherwise is to *confuse* people about  
the expressive capabilities of the profile. This was (as Uli pointed)  
one of the deep problems with OWL Lite. We should not repeat that  
mistake...and we aren't!

I went back and looked at Jeremy's comment and not that he raises no  
technical issue with them. He says that they will cause some  
unidentified user problem and that "RDF systems are simply not geared  
up to support negative triples as well as positive ones". But of  
course, we do not introduce "negative triples". We encode, in  
triples, negative property assertions. Given the proven harm of not  
providing sensible direct means of expressing things over an  
inchoate, incoherent worry about a possible harm...well...I chose to  
avoid the former.

Cheers,
Bijan.

[1] Boris clearly had a thinko. But since Jeff was tasked with  
thinking about whether this caused any problems, I'm unclear why he  
didn't catch the thinko instead of acting like it supported his pov.

     http://www.w3.org/2009/04/15-owl-irc#T17-36-58
     17:36:38 [msmith]
      bmotik: jjc is wrong, there is no problem with the RDF. we  
either have it in the language or not.
     17:36:58 [msmith]
       ... in RL it is *not* syntactic sugar, they can't be expressed  
in other ways
     17:37:58 [msmith]
     jeffp: bmotik's point that it is not syntactic sugar in RL is  
important

It's especially weird given Jeff's earlier comment:

     17:33:56 [msmith]
      jeffp: last telecon we discussed n.p.a.'s in RL. I did some  
investigation and I think it boils down to syntactic sugar.

Which is itself weird given that no investigation was required to  
determine that it was syntactic sugar as Achille demonstrated this in  
the prior telecon.

It would have been *much better* to have discussed this in email.  
Much less chance of confusion and going off into the weeds.

[2] http://www.w3.org/2009/04/15-owl-irc#T17-50-39

Received on Wednesday, 15 April 2009 20:38:51 UTC