Another try at subclass

</chair>

Back in August I proposed a "friendly amendment" for the rif:subClassOf relation 
(aka ##) saying that:

rif:subClassOf rdfs:subproperty rdfs:subClassOf .

Michael was not opposed, he thought that it was obvious.  Jos replied as below, 
indicating some possible softness on the point.  I don't think DaveR responded. 
But I didn't push on it as some other thing must have come up (like vacation 
probably), and the thread ended with Jos' message below.

So before we give up on it, because I do think it would be useful to have in 
BLD, I'd like to see if this will make a difference to anyone, specifically the 
objectors to having rif:subClassOf (DaveR, Jos, ?).

-Chris

<chair>

Jos de Bruijn wrote:
> <snip/>
> 
>>> rif:subclassOf is not a new concept. It is there in
>>> every standard OO language. Jos' arg was that it is a new word in the
>>> vocabulary, and Dave was questioning whether RIF should define such a
>>> concept (incl. rdfs:subclassOf) in the first place.
>> I'm just hoping it makes what you proposed a little more palatable. But
>> let's see - Dave and Jos?  Does Michael need still more coffee or do I?
> 
> My argument was that there are already semantic Web languages for
> defining ontologies (including the subclass relation), so that RIF
> should probably not invent a new vocabulary for defining ontologies (or
> classifications), but rather show how existing vocabularies for ontology
> definition (including (subsets of) RDFS) can be combined with the RIF.
> 
> Chris' proposal (rif:subclass rdfs:subproperty rdfs:subclass; use
> rdf:type for instance statements?) seems to extend the RDFS vocabulary,
> rather than creating a new vocabulary.
> This could be a possible way to go for exchanging data models which do
> not have reflexive subclass statements; however, I am not 100% convinced
> that we need this extension.
> 
> I guess an important question is really whether people want to use
> several different data models in the same RIF rule set.
> 
> 
> Best, Jos
> 
> 
>> -Chris
>>
>>>> Intuitively, it seemed to me that every rif:subclass relation is an
>>>> rdfs:subclass relation, but there may be rdfs:subclass relations that
>>>> a translator will not want to consider as rif:subclass (e.g. the
>>>> reflexive cases, the cases where one of the arguments is not a class,
>>>> the case where one of the arguments is a piece of rdf or rif syntax,
>>>> etc).
>>>>
>>>> I guess it depends on whether you want every rdfs:subclass relation
>>>> (including the entailed ones) in rdf graphs to entail rif:subclass in
>>>> RIF rules or whether you want a translator to do it.  I could go
>>>> either way.
>>>>
>>>> Note that rif:subclass rdfs:subproperty rdfs:subclass does not make
>>>> rif:subclass reflexive - it does mean that for every A rif:subclass B
>>>> we would also have A rdfs:subclass A and B rdfs:subclass B, but
>>>> that's just what rdfs:subclass means.  Shouldn't be a problem for
>>>> rif:subclass.
>>>>
>>>> <chair>
>>>>
>>>>>     --michael 
>>>>>
>>>>>> </chair>
>>>>>> Here is a hopefully friendly amendment to the proposal to add a
>>>>>> rif:subClassOf relation to BLD:
>>>>>>
>>>>>> If we just say that <rif:subClassOf rdfs:subPropertyOf
>>>>>> rdfs:subClassOf> I think it goes part of the way in addressing the
>>>>>> chief concern of Jos and Dave (which is, as I understand it, that
>>>>>> we shouldn't add yet another subclass relation to the semantic web).
>>>>>>
>>>>>> This would make it clear that we are not really creating something
>>>>>> new, just imposing a restriction on something already there - in
>>>>>> particular all rif:subClassOf relations are also rdfs:subClassOf
>>>>>> relations, but not the reverse, and we would say that
>>>>>> rif:subClassOf is not reflexive, only holds between classes, etc.
>>>>>>
>>>>>> Less the new name, this is what Jos proposed - to define a suitably
>>>>>> restricted subset of RDFS that would be usable for RIF.  I think
>>>>>> the new name (rif:subClassOf) helps to make it clear that we do not
>>>>>> intend the full rdfs semantics, rather than "hiding" that in the
>>>>>> semantics.
>>>>>>
>>>>>> <chair>
>>>>>>
>>>>>> -Chris
>>>>>>
>>>>>> Chris Welty wrote:
>>>>>>> Michael Kifer wrote:
>>>>>>>> Rumblings on why we need classification terms in RIF
>>>>>>>> (and why RDF's vocab should not be used)
>>>>>>>> ===================================================
>>>>>>>>
>>>>>>>> Two issues: whether we should define facilities for expressing
>>>>>>>> some data
>>>>>>>> model stuff and whether we should use rdfs for this.
>>>>>>>>
>>>>>>>> Rationale:
>>>>>>>>    If we do not have such constructs then everybody will be
>>>>>>>> inventing their
>>>>>>>>    own. People will not be able to specify any part of their data
>>>>>>>> model in RIF
>>>>>>>>    which will reduce the usefulness of RIF as an exchange language.
>>>>>>>>
>>>>>>>> Why it is not good to use RDF's facilities to define class
>>>>>>>> hierarchies.:
>>>>>>>>    RDF is a foreign language whose semantics is burdened with
>>>>>>>> non-standard
>>>>>>>>    things. For instance, subclass is reflexive.
>>>>>>>>
>>>>>>>>    This is bad because not every language out there uses
>>>>>>>> reflexive subclasses.
>>>>>>>>    For instance, if we map, say, FLORA-2's subclass relationship
>>>>>>>> to RDFS's then
>>>>>>>>    in the translation (RIF) the query whether foo is a subclass
>>>>>>>> of foo will
>>>>>>>>    say "yes" but in FLORA-2 it will say "no".
>>>>>>> </chair>
>>>>>>> No, no - translating flora2:subclass into rdfs:subclass would be
>>>>>>> incorrect, because they have different semantics.  For me, this is
>>>>>>> the stronger point in favor of rif:subclass - since so few systems
>>>>>>> use the rdfs semantics for subclass, very few systems when
>>>>>>> translating into RIF would use it in their translations.
>>>>>>>
>>>>>>> Same for below.  You shouldn't translate ilog:subclass into
>>>>>>> rdfs:subclass.  So, in fact, as far as we know, only rdfs based
>>>>>>> systems would ever use rdfs:subclass when translating through rif,
>>>>>>> and everyone else would have to invent their own.
>>>>>>> <chair>
>>>>>>>
>>>>>>>>    Let's look at some other examples, like ILOG. From my limited
>>>>>>>> experience
>>>>>>>>    with it, I remember that it uses Java as its data model. So,
>>>>>>>> suppose
>>>>>>>>    there is a class foo in ILOG, which comes from Java. An ILOG
>>>>>>>> set of
>>>>>>>>    rules must not derive "foo sub foo" because this is not true
>>>>>>>> in the data
>>>>>>>>    model. However, it we translate Java subclass relationship into
>>>>>>>>    rdfs:subclassOf then the resulting RIF translation should
>>>>>>>> generate "foo
>>>>>>>>    sub foo". (In truth, as I recall, ILOG does not have "sub" in
>>>>>>>> the heads
>>>>>>>>    of the rules, but it is easy to imagine that next year ILOG is
>>>>>>>> extended
>>>>>>>>    with something like a query facility. Then their stock will
>>>>>>>> plummet
>>>>>>>>    because their rule sets will not be faithfully exchangeable
>>>>>>>> through RIF
>>>>>>>>    :-)
>>>>>> -- 
>>>>>> Dr. Christopher A. Welty                    IBM Watson Research Center
>>>>>> +1.914.784.7055                             19 Skyline Dr.
>>>>>> cawelty@gmail.com                           Hawthorne, NY 10532
>>>>>> http://www.research.ibm.com/people/w/welty
>>>>>>
>>>>>>
>>>>>
>>>> -- 
>>>> Dr. Christopher A. Welty                    IBM Watson Research Center
>>>> +1.914.784.7055                             19 Skyline Dr.
>>>> cawelty@gmail.com                           Hawthorne, NY 10532
>>>> http://www.research.ibm.com/people/w/welty
>>>>
>>>>
>>>
>>>
> 

-- 
Dr. Christopher A. Welty                    IBM Watson Research Center
+1.914.784.7055                             19 Skyline Dr.
cawelty@gmail.com                           Hawthorne, NY 10532
http://www.research.ibm.com/people/w/welty

Received on Thursday, 13 December 2007 03:49:32 UTC