W3C home > Mailing lists > Public > public-rif-wg@w3.org > February 2010

Re: [RIF-RDF-OWL/Core] ## vs. rdfs:subClassOf (Fwd: A technical RIF question)

From: Christian De Sainte Marie <csma@fr.ibm.com>
Date: Fri, 26 Feb 2010 00:03:53 +0100
To: Gary Hallmark <gary.hallmark@oracle.com>
Cc: Axel Polleres <axel.polleres@deri.org>, kifer@cs.sunysb.edu, RIF <public-rif-wg@w3.org>, public-rif-wg-request@w3.org
Message-ID: <OFD61A7271.56676DAF-ONC12576D5.007E021B-C12576D5.007EB345@fr.ibm.com>
All,

In PRD, ## can occur in conditions, but not in conclusions. That is 
because we did not want a rule to be able to change the class hierarchy 
(which RETE rule engine cannot do; at least not the OO ones).

For the same reason, we did not want a rule to be able to change the class 
of an object, which is why we restricted the use of # in conclusions to 
New objects.

The use of # or ## is not restricted in PRD conditions: so, I do not think 
that PRD requirements are the reason why Core does not have ##, except if 
## would have been useful in Core only if allowed in the conclusion. But I 
remember Dave being rather against ## (I was not so much in favor myself, 
but that may have been for different reasons: from my -chair's hat off- OO 
point of view, I do not see the use case for testing the class hierarchy).

Cheers,

Christian

IBM
9 rue de Verdun
94253 - Gentilly cedex - FRANCE
Tel. +33 1 49 08 35 00
Fax +33 1 49 08 35 10




From:
Gary Hallmark <gary.hallmark@oracle.com>
To:
kifer@cs.sunysb.edu
Cc:
Axel Polleres <axel.polleres@deri.org>, RIF <public-rif-wg@w3.org>
Date:
25/02/2010 20:07
Subject:
Re: [RIF-RDF-OWL/Core] ## vs. rdfs:subClassOf (Fwd: A technical RIF 
question)
Sent by:
public-rif-wg-request@w3.org



In many PR languages, # and ## are builtin (have a fixed 
interpretation). So oddly we restrict # to occur in conditions only but 
restrict ## to occur nowhere. I would have preferred to restrict both # 
and ## to occur in conditions only, but that's ancient history now.

Michael Kifer wrote:
> I believe that the PRD group (or some subset of it) felt that it 
complicates the
> life for PRD.
> michael
>
>
> On Thu, 25 Feb 2010 10:02:09 +0000
> Axel Polleres <axel.polleres@deri.org> wrote:
>
> 
>> Hi all,
>>
>> Ivan raised the question why ## was not in RIF Core... I tried to 
exploit my memories on this as good as I can, but I am not 100% sure 
whether I got everything right and would seek confirmation of the group. 
Also, there's a small issue which I don't like and want to raise here...
>>
>>
>> since from the mails below, the thread may be hard to grasp, let me 
summarise:
>>
>> Ivan asked for the reason of the absence of ## in RIF Core - in the 
context of modelling rdfs:subclassOf .
>> I didn't really remember precisely the details why we dropped ## from 
Core, but pointed Ivan to the difference 
>> between ## and rdfs:subclassOf , that is, ## not being reflexive.
>>
>> However, what then still worried me a bit is following:
>> Note that http://www.w3.org/TR/rif-rdf-owl/ restricts RDF-OWL 
interpretations 
>> in such a way that ## implies rdfs:subclass but not the other way 
around.
>> The Embedding of RIF combinations in Section 9.1.3 of
>> http://www.w3.org/TR/rif-rdf-owl/ enforces this by a rule... which then 
makes even the 
>> embedding of simple RDF entailment go outside RIF Core... I am not sure 
whether I like this. :-|
>>
>> Ivan, suspected even a "bug" here, by the assumption that if I talk 
about simple and RDF interpretations,
>> I shouldn't worry about the RDFS vocabulary, but I wouldn't go that 
far:
>>
>> As far as I can see, this is not problematic. We just restrict that 
when you throw RIF and RDF stuff together,
>> a link is made from ## to rdf:subclasss... that implies that anything 
which is stated as ## in RIF is 
>> exported to rdfs:subclassOf (but NOT the other way around!) only in 
RIF-RDFS-entailment this would have 
>> cross-effects (since RDFS interpretations imply reflexivity on 
rdfs:subclass), but not in RIF-Simple and RIF-RDF.
>>
>> Still, and here I think Ivan's concern plays a role, I don't like that 
now for embedding simple 
>> RDF or RDF in RIF, I need non-core rules... in fact, it seems to me 
that the rule
>> in Section 9.1.3 of http://www.w3.org/TR/rif-rdf-owl/ 
>>
>>  Forall ?x ?y (?x[rdfs:subClassOf -> ?y] :- ?x ## ?y]) ))
>>
>> is irrelevant for Simple and RDF entailments. Particularly, this is the 
case as long as the  RIF ruleset in the combination does not use ##.
>> Can you confirm this?
>>
>> If I had a wishlist, I would opt for moving the semantic condition on 
>>
>> "7. IEXT(IS(rdfs:subClassOf)) is a superset of the set of all pairs (a, 
b) in Dind x Dind such that Itruth(Isub(a,b))=t;"
>>
>> to just apply for RIF-RDFS-models "upwards"
>>
>> Can we still change this?
>>
>> Axel
>>
>>
>> Begin forwarded message:
>>
>> 
>>> From: "Ivan Herman" <ivan@w3.org>
>>> Date: 25 February 2010 09:46:04 GMT
>>> To: "Polleres, Axel" <axel.polleres@deri.org>
>>> Cc: "Sandro Hawke" <sandro@w3.org>
>>> Subject: Re: A technical RIF question
>>>
>>>
>>>
>>> On 2010-2-25 10:10 , Axel Polleres wrote:
>>> 
>>>> On 25 Feb 2010, at 09:03, Ivan Herman wrote:
>>>>
>>>> 
>>>>> On Feb 25, 2010, at 09:56 , Axel Polleres wrote:
>>>>>
>>>>> 
>>>>>> Phew, IIRC this has some historic reasons, which I don't really 
remember.
>>>>>>
>>>>>> Firstly, ## is not the same as rdfs:subclass (e.g. ## is NOT 
reflexive, IIRC)
>>>>>>
>>>>>> The simple solution is, similar to what I answered to Dan on 
owl:sameAs:
>>>>>>
>>>>>> just use rdfs:subclass in your rules and don't bother about ## they 
are not the same thing...
>>>>>>
>>>>>> 
>>>>> Well, o.k. I will try to avoid referring to ## in my tutorial part 
then...:-(
>>>>>
>>>>> 
>>>>>> What worries me a bit more:
>>>>>> Note that http://www.w3.org/TR/rif-rdf-owl/ restricts RDF-OWL 
interpretations 
>>>>>> in such a way that ## implies rdfs:subclass but not the other way 
around.
>>>>>> The Embedding of RIF combinations in Section 9.1.3 of
>>>>>> http://www.w3.org/TR/rif-rdf-owl/ enforces this by a rule... which 
then makes even the 
>>>>>> embedding of simple RDF entailment go outside RIF Core... I am not 
sure whether I like this. :-|
>>>>>>
>>>>>> 
>>>>> Oops. But isn't this a bug? If I talk about an RDF interpretation, 
than the RDFS vocabulary is immaterial. and subClassOf is in the RDFS 
vocabulary and _not_ in the RDF vocabulary!
>>>>> 
>>>> As far as I can see, this is not problematic. We just restrict that 
when you throw RIF and RDF stuff together,
>>>> a link is made from ## to rdf:subclasss... that implies that anything 
which is stated as ## in RIF is exportet to rdfs:subclassOf (but NOT the 
other way around!) 
>>>> only in RIF-RDFS-entailment this would have cross-effects (since RDFS 
interpretations imply reflexivity on rdfs:subclass), but not in RIF-Simple 
and RIF-RDF
>>>>
>>>> If you agree, I should carry this discussion to the RIF group...
>>>>
>>>> 
>>> Sure
>>>
>>> Ivan
>>>
>>>
>>> 
>>>> HTH,
>>>> Axel
>>>>
>>>>
>>>> 
>>>>> I think this is a bug that you should report before this goes to 
PR:-(
>>>>>
>>>>> Ivan
>>>>>
>>>>>
>>>>> 
>>>>>> I am not really swapped in on that at the moment, and for more 
details and clarifications, 
>>>>>> I'd prefer to get back to the group... 
>>>>>>
>>>>>> Axel
>>>>>>
>>>>>> On 25 Feb 2010, at 08:22, Ivan Herman wrote:
>>>>>>
>>>>>> 
>>>>>>> (background: I try to update my tutorial slide set...)
>>>>>>>
>>>>>>> Question: what is the background of the fact that '#' is defined 
for
>>>>>>> Core and '##' is not?
>>>>>>>
>>>>>>> For many RDF users I would think Core (or maybe strongly safe 
Core)
>>>>>>> would be the natural rule set to use in the sense that would cover 
most
>>>>>>> of their needs (at least I believe). The fact of having '#' is 
fine, it
>>>>>>> is the equivalent of rdf:type. But, for RDFS users, so to say, 
suddenly
>>>>>>> there is this gap of '##'; either they have to keep to Core and 
use
>>>>>>> explicitly rdfs:subClassOf, or they use '##', thereby getting into 
BLD...
>>>>>>>
>>>>>>> So: what is the technical reason for this?
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> Ivan
>>>>>>> -- 
>>>>>>>
>>>>>>> Ivan Herman, W3C Semantic Web Activity Lead
>>>>>>> Home: http://www.w3.org/People/Ivan/
>>>>>>> mobile: +31-641044153
>>>>>>> PGP Key: http://www.ivan-herman.net/pgpkey.html
>>>>>>> FOAF   : http://www.ivan-herman.net/foaf.rdf
>>>>>>> vCard  : http://www.ivan-herman.net/HermanIvan.vcf
>>>>>>>
>>>>>>> 
>>>>> ----
>>>>> Ivan Herman, W3C Semantic Web Activity Lead
>>>>> Home: http://www.w3.org/People/Ivan/
>>>>> mobile: +31-641044153
>>>>> PGP Key: http://www.ivan-herman.net/pgpkey.html
>>>>> FOAF: http://www.ivan-herman.net/foaf.rdf
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 
>>> -- 
>>>
>>> Ivan Herman, W3C Semantic Web Activity Lead
>>> Home: http://www.w3.org/People/Ivan/
>>> mobile: +31-641044153
>>> PGP Key: http://www.ivan-herman.net/pgpkey.html
>>> FOAF   : http://www.ivan-herman.net/foaf.rdf
>>> vCard  : http://www.ivan-herman.net/HermanIvan.vcf
>>>
>>> 
>>
>>
>> 
>
> 





Sauf indication contraire ci-dessus:/ Unless stated otherwise above:
Compagnie IBM France
Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 611.451.766,20 ?
SIREN/SIRET : 552 118 465 03644
Received on Thursday, 25 February 2010 23:04:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 25 February 2010 23:04:35 GMT