- From: adasal <adam.saltiel@gmail.com>
- Date: Mon, 20 Aug 2018 12:01:36 +0000
- To: "我" <1047571207@qq.com>, "SW-forum Web" <semantic-web@w3.org>
- Message-Id: <774a6ee9-364b-fd8e-9272-a99587d3341e@mixmax.com>
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)
Attachments
- application/octet-stream attachment: loafer.owl
Received on Monday, 20 August 2018 12:02:06 UTC