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

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
>>>
>>>       
>>
>>
>>     
>
>   

Received on Thursday, 25 February 2010 19:07:30 UTC