Re: How can the continuous inference be done between classes in owl?

Hi,You don't mention if you use Protege as your editing tool.Protege has
become a very useful tool since I last looked at it a few years ago and now
excells.I wouldn't attempt to do do this sort of modelling without such an
editor.Remember, as I'm sure you know, everything is textual here (RDF or the
base script equivalent) and annotations and naming etc. are part of the fabric
of comprehensibility.
As an example, with Protege it is possible to rename nodes from the
automatically created URIs.
I have attached the version which I mention, I think it includes an unnecessary
property.
I think your problem is a very good "toy" problem. In a way a bit more
captivating than pizzas and pizza toppings (although that discussion has its
place as it takes us to the necessity of creating classes).I think that your
original question was how to make inferences based on class definitions, rather
than from instances.
Best,
Adam Saltiel  





On Mon, Aug 20, 2018 9:34 AM, 我 1047571207@qq.com  wrote:
Hi,adasal




Thank your for the response.




Would you please send me the modified owl file?Because I’m a little confused
about your statement.







> 在 2018年8月18日,上午12:05,adasal <adam.saltiel@gmail.com> 写道:

> 

> Not really my expertise but was curious for my own reasons to look at this as
I'm struggling with other issues to do with logic.

> (So different forms of logical representation are helpful to me.)

> 

> Modifying your owl file in Protege desktop I have executed this DL query with
the Hermit Reasoner running.

> 

> Loafers and satisfiedBy some

> 

> The Query Result frame shows this with all the 'Query for boxes' (and
owl:thing -- obviously not needed) checked:-

> 

> Loafers

> PregnantWoman

> owl:Thing

> person

> shoe

> Loafers

> PregnantWoman

> 

> The class hierarchy looks like this with 'Inferred' selected in the drop down,
not 'Asserted':-

> 

> owl:Thing

> Affordance

> EasyOnOff

> SlipOn

> person

> PregnantWoman

> shoe

> Loafers

> 

> Where EasyOnOff isSameAs SlipOn (and the inverse), both class instances of
Affordance

> EasyOnOff is a subclass of OwlObjectProperty of some Loafers (which seems
correct to me). 

> 

> 

> Turning to objectProperty hierarchy satisfiedBy:-

> satisfiedBy Range SlipOn

> satisfiedBy Domain PregnantWoman

> satisfiedBy rdfs:label "satisfiedBy"^^xsd:string

> satisfiedBy SubPropertyOf:
OWLObjectProperty_79a0e129_d0e4_4648_9fc4_ff1a28968be9

> ObjectProperty: satisfiedBy

> satisfiedBy Range EasyOnOff

> Transitive: satisfiedBy

> 

> I don't think this is modelled correctly although I would prefer separate
properties for the notion of a loafer being easy to get on and off

> and a pregnant woman being able to slip on a shoe for herself.

> Nevermind, I assume that this could be modelled like so:-

> 

> satisfiedBy rdfs:label "satisfiedBy"^^xsd:string

> satisfiedBy SubPropertyOf:
OWLObjectProperty_79a0e129_d0e4_4648_9fc4_ff1a28968be9

> ObjectProperty: satisfiedBy

> satisfiedBy Domain PregnantWoman

> satisfiedBy Range EasyOnOff

> Transitive: satisfiedBy

> 

> I may have this all wrong but it yields the result?

> 

> c.f. Horridge on domain and range.

> Common Errors In OWL - Protégé (pdf)

Received on Monday, 20 August 2018 12:02:06 UTC