Re: Deduced property

Pavel,

Just to clarify, I think we're in violent agreement. :)

On 31/01/2014 08:15, Pavel Klinov wrote:
> Aidan,
>
> While I do agree that one shouldn't normally explain the OWL semantics
> in terms of inheritance, I think that Enrico's point was different and
> valid. Confusion arises when one starts mixing properties of
> *objects*, which are inherited, and properties of *entities* (classes
> and properties), which need not be inherited.

Sure, I get it. But while you say that Enrico's point was different 
*and* valid, I was saying that Enrico's point was valid *but* different. 
We had been discussing things like transitivity of properties and I felt 
that getting into property restrictions on classes was getting into a 
different matter. But yes, I understand Enrico's point.

> All your examples, e.g., "a sCO b. b equivClass c . ⊬ a equivClass c"
> talk about properties of *entities* (a, b, and c). Note that those
> aren't necessarily inherited in OOP, either! For example, such
> properties of *classes* as access modifiers aren't inherited in Java,
> friendship isn't inherited in C++, etc.

Sure.

> However, properties of objects are inherited and there's nothing
> specific to owl:someValuesFrom. For example, consider
> owl:allValuesFrom: If A is a subclass of B, and for all objects of B
> it is true that all R-related objects are instances of C (that is, B
> is a subclass of "R only C"), then all objects of A will have the same
> property. Any property that is true for all objects of B and is
> expressible in OWL will be entailed in OWL for all objects of A.

Sure, but please note that in my previous mail I already briefly 
acknowledged all of this:

"Indeed there's some notion of "inheritance" in an object-oriented sense 
here (*as well as for the other property-based restrictions on classes*)."

To clarify, by "property-based restrictions on classes" I meant things 
like someValuesFrom, allValuesFrom, hasValue, the cardinalities, 
hasSelf, hasKey ...

> Now, going back to transitivity of R: it's not inherited but that is
> not strange: it's a property of R, not a property of every pair of
> R-related objects. Functionality is inherited, while being a property
> of a property, but that just happens to be a feature of the semantics
> of functional properties.

Sure.

> But again, I 100% agree that one should think in terms of the actual
> semantics of OWL when thinking if something holds, rather than apply
> analogies.

+1 ... and yep, I still maintain my original point that it is *not* 
helpful to talk about OWL subsumption using phrases like inheritance. :)

/Aidan

> On Thu, Jan 30, 2014 at 7:42 PM, Aidan Hogan <aidan.hogan@deri.org> wrote:
>> On 30/01/2014 14:55, Enrico Franconi wrote:
>>>
>>>
>>> Not really.
>>> "Inheritance" (in the object oriented sense) holds true in DL: a property
>>> of all the *objects* of a superclass is inherited to all the *objects* of
>>> the subclass.
>>> So, if class C is subsumed by class D, then if all the objects in class D
>>> have a property P, then all the objects in class C have the property P.
>>> This is true in Java, description logics, OWL, Smalltalk, CLOS, etc.
>>
>>
>> Yes but I think this is quite a jump away from the topic of the thread so
>> far. We were discussing the (lack of) "inheritance" of transitivity in
>> properties.
>>
>> Your argument specifically relates to one feature of OWL: someValuesFrom.
>> Indeed there's some notion of "inheritance" in an object-oriented sense here
>> (as well as for the other property-based restrictions on classes). But again
>> this is only a subset of the features of OWL (and not the ones we were
>> discussing).
>>
>> Some "features" of OWL are "inherited". Others are not.
>>
>> a sCO b. b equivClass c . ⊬ a equivClass c .
>> a sPO b . b inverseOf c . ⊬ a inverseOf c .
>> a sPO b . b equivProp c . ⊬ a equivProp c .
>> a sPO b . b type SymProp . ⊬ a type SymProp .
>> a sPO b . b type TransProp . ⊬ a type TransProp .
>> ...
>>
>> ... I still maintain my original point that it is *not* helpful to talk
>> about OWL subsumption using phrases like inheritance. :)
>>
>>
>> Cheers,
>> Aidan
>>
>>
>>> cheers
>>> —e.
>>>
>>>
>>>>
>>>> Hence why the "inheritability" of different OWL features isn't documented
>>>> (and nor should it be).
>>>>
>>>> If you want a non-technical means of introducing the features of OWL,
>>>> examples using IF -- THEN -- (i.e., rules) will give a sound but incomplete
>>>> picture. Studying the rules in OWL 2 RL/RDF is a great starting point for
>>>> anyone wanting to learn a bit about what the *key* entailments of the OWL
>>>> (2) features are (and without having to get into the formal semantics):
>>>>
>>>>
>>>> http://www.w3.org/TR/owl2-profiles/#Reasoning_in_OWL_2_RL_and_RDF_Graphs_using_Rules
>>>>
>>>> The OWL features mean more than what's represented in these rules, but IF
>>>> you can understand these rules, THEN you'll have a working knowledge of OWL.
>>>>
>>>> (Unfortunately though, I feel we're fighting a losing battle with regards
>>>> the didactic aspects of OWL in the broader sense of it being a *Web
>>>> standard*. Perhaps the battle is even already lost.)
>>>>
>>>> Best,
>>>> Aidan
>>>>
>>>>
>>>> On 30/01/2014 05:43, PAUL WARREN wrote:
>>>>>
>>>>> I have come across this problem recently in some work I have been doing
>>>>> investigating people's understanding of OWL constructs.  You can't
>>>>> assume that property characteristics are inherited - some are (e.g.
>>>>> functionality), some aren't (e.g. transitivity and symmetry).  But I
>>>>> have found no reference in any documentation to this fact.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Paul Warren
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>> *From:* Dave Reynolds <dave.e.reynolds@gmail.com>
>>>>> *To:* semantic-web@w3.org
>>>>> *Sent:* Wednesday, 29 January 2014, 17:05
>>>>> *Subject:* Re: Deduced property
>>>>>
>>>>> OWL, and the underlying logic, are quite different from object oriented
>>>>> modelling so using terms like "inheritance" can trip you up. Especially
>>>>> when it comes to property axioms.
>>>>>
>>>>> In the RDF/OWL way of thinking then a property corresponds to set of
>>>>> pairs of things that are related by the property. So saying
>>>>>
>>>>>       :hasParent rdfs:subPropertyOf :hasAncestor
>>>>>
>>>>> means, and only means, that the set of pairs of things related by
>>>>> :hasParent is a subset of the set of pairs of things related by
>>>>> :hasAncestor.
>>>>>
>>>>> It's sets all the way down :)
>>>>>
>>>>> Dave
>>>>>
>>>>> On 29/01/14 16:47, Jean-Claude Moissinac wrote:
>>>>>>
>>>>>> OK
>>>>>> I really thought that the transitivity was inherited. I will try to
>>>>>> find
>>>>>> where and how the non-inheritance is specified
>>>>>> Thank you
>>>>>>
>>>>>> --
>>>>>> Jean-Claude Moissinac
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2014-01-29 Matthew Horridge <matthew.horridge@stanford.edu
>>>>>
>>>>> <mailto:matthew.horridge@stanford.edu>
>>>>>>
>>>>>> <mailto:matthew.horridge@stanford.edu
>>>>>
>>>>> <mailto:matthew.horridge@stanford.edu>>>
>>>>>>
>>>>>>
>>>>>>      Hi Jean-Claude,
>>>>>>
>>>>>>      Asserting
>>>>>>
>>>>>>      :hasParent rdfs:subClassOf :hasAncestor
>>>>>>
>>>>>>      and
>>>>>>
>>>>>>      :hasAncestor rdf:type owl:TransitiveProperty
>>>>>>
>>>>>>      does not mean that :hasParent is also transitive.  Transitivity
>>>>>>      isn’t “inherited” down the property hierarchy, so it’s possible to
>>>>>>      have a non-transitive sub property of a transitive super property.
>>>>>>
>>>>>>      Cheers,
>>>>>>
>>>>>>      Matthew
>>>>>>
>>>>>>      On 29 Jan 2014, at 08:30, Jean-Claude Moissinac
>>>>>>      <jean-claude.moissinac@telecom-paristech.fr
>>>>>
>>>>> <mailto:jean-claude.moissinac@telecom-paristech.fr>
>>>>>>
>>>>>>      <mailto:jean-claude.moissinac@telecom-paristech.fr
>>>>>
>>>>> <mailto:jean-claude.moissinac@telecom-paristech.fr>>> wrote:
>>>>>>
>>>>>>
>>>>>>>      No, it's not the answer because hasAncestor is transitive and
>>>>>>>      hasParent isn't...
>>>>>>>      (I've a lot of similar situations)
>>>>>>>
>>>>>>>      --
>>>>>>>      Jean-Claude Moissinac
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>      2014-01-29 Richard Cyganiak <richard@cyganiak.de
>>>>>
>>>>> <mailto:richard@cyganiak.de>
>>>>>>>
>>>>>>>      <mailto:richard@cyganiak.de <mailto:richard@cyganiak.de>>>
>>>>>>>
>>>>>>>          Jean-Claude,
>>>>>>>
>>>>>>>          You’re looking for this (in Turtle syntax):
>>>>>>>
>>>>>>>            :hasParent rdfs:subClassOf :hasAncestor.
>>>>>>>
>>>>>>>          (Don’t try to read or write RDF/XML directly. You’ll go mad.
>>>>>>>          Use the friendly syntaxes such as Turtle, or graphical tools.)
>>>>>>>
>>>>>>>          Best,
>>>>>>>          Richard
>>>>>>>
>>>>>>>
>>>>>>>          On 29 Jan 2014, at 16:18, Jean-Claude Moissinac
>>>>>>>          <jean-claude.moissinac@telecom-paristech.fr
>>>>>
>>>>> <mailto:jean-claude.moissinac@telecom-paristech.fr>
>>>>>>>
>>>>>>>          <mailto:jean-claude.moissinac@telecom-paristech.fr
>>>>>
>>>>> <mailto:jean-claude.moissinac@telecom-paristech.fr>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>          > Sorry if my question is very naive, but I'm stuck on this
>>>>>>>          for a while
>>>>>>>          > if I go to examples in the document
>>>>>>> http://www.w3.org/TR/2009/WD-owl2-primer-20090421/
>>>>>>>          > I just want to add the following axiom (expressed here in my
>>>>>>>          syntax)
>>>>>>>          > if
>>>>>>>          > ?s :hasParent  ?f
>>>>>>>          > Then
>>>>>>>          > ?s :hasAncestor ?f
>>>>>>>          >
>>>>>>>          > I've checked a lot of documents and I don't figure how to do
>>>>>>>          it (directly in XML/RDF or interactively with Protégé)
>>>>>>>          >
>>>>>>>          > Thank you in adavnace for your help
>>>>>>>          >
>>>>>>>          > --
>>>>>>>          > Jean-Claude
>>>>>>>          >
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>

Received on Friday, 31 January 2014 15:13:26 UTC