W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2009

RE: Inferring object properties- Is it possible to model in OWL?

From: Saiprasad, Sundar <Sundar_Saiprasad@intuit.com>
Date: Mon, 28 Dec 2009 01:16:06 +0530
Message-ID: <1B75B268E6295D4586C218DF3C3847AC016B544F@banex02.corp.intuit.net>
To: "Brandon Ibach" <bibach@earthlink.net>
Cc: <public-owl-dev@w3.org>

This is Fantastic. Worked great. 
Thanks a lot


-----Original Message-----
From: brandon.ibach@single-sourcing.com [mailto:brandon.ibach@single-sourcing.com] On Behalf Of Brandon Ibach
Sent: Sunday, December 27, 2009 8:43 AM
To: Saiprasad, Sundar
Cc: public-owl-dev@w3.org
Subject: Re: Inferring object properties- Is it possible to model in OWL?


By "without having any rules", I'm guessing that you mean not using
SWRL.  This is quite doable in OWL, which provides a few ways to infer
property values.  These include property chaining (OWL 2 only), as you
noted, as well as has-value restrictions, inverse properties and
transitive properties, the latter providing a limited form of property

One way to universally link all instances of one class to all
instances of another using a particular property is via a "connecting
instance", using has-value restrictions, inverse properties and either
chaining or transitivity to have the reasoner infer the connections.

For example, you could add the following to your ontology:

    TEST:FoodGroup rdf:type owl:Class .
    TEST:hasMember rdf:type owl:ObjectProperty .
    TEST:memberOf rdf:type owl:ObjectProperty ; owl:inverseOf TEST:hasMember .
    TEST:likes owl:propertyChainAxiom ( TEST:likes TEST:hasMember ) .

    TEST:iceCreams rdf:type TEST:FoodGroup .
    TEST:Man rdfs:subClassOf [ a owl:Restriction ; owl:onProperty
TEST:likes ; owl:hasValue TEST:iceCreams ] .
    TEST:IceCream rdfs:subClassOf [ a owl:Restriction ; owl:onProperty
TEST:memberOf ; owl:hasValue TEST:iceCreams ] .

This creates a new class, FoodGroup, the instances of which are
groupings of foods, with the inverse properties hasMember and memberOf
linking the group to the food and vice-versa.  Every Man is then
asserted to like the iceCreams group and every IceCream is asserted to
be a member of iceCreams.  The property chain axiom then infers that a
Man who likes a food group also likes all the foods in that group.

The use of a property chain puts this in OWL 2.  However, you could
remove the property chain axiom and add the following, instead:

    TEST:hasMember rdfs:subPropertyOf TEST:likes .
    TEST:likes rdf:type owl:TransitiveProperty .

This is semantically less clean, as it suggests that a food group
"likes" its member foods, but it allows the limited capabilities of
transitivity in OWL 1 to do the job of the property chain in the first

Both versions end up concluding some slightly odd things due to the
domain and range axioms you listed for the "likes" property, so you
may want to remove those or otherwise fiddle with the modeling, if the
conclusions cause problems in your application.

-Brandon :)

On Tue, Dec 22, 2009 at 12:24 AM, Saiprasad, Sundar
<Sundar_Saiprasad@intuit.com> wrote:
> Hello
> Consider the following statement
> "All men like icecreams"
> Assume the following  (please excuse the syntax)
> TEST:Man  rdf:type  owl:class
> TEST:Food  rdf:type  owl:class
> TEST:Icecream  rdf:subclassof  TEST:Food
> TEST:likes  rdf:type  owl:ObjectProperty
> TEST:likes  rdf:domain   TEST:Man
> TEST:likes  rdf:range       TEST:Icecream
> TEST:sundar  rdf:type  TEST:Man
> TEST:chocosundae  rdf:type TEST:IceCream
> Without defining any rules , is it possible to infer the following
> TEST:sundar  TEST:likes  TEST:chocosundae
> I looked through all the axioms and other than property chaining , I don't
> see any other axioms that lets inference of property values. Is it possible
> to express the above in OWL without having any rules?
> Basically I want a way by which a property links all instances of one class
> to all possible instances of another class and I dont want to explicitly
> specify the triples. It has to be inferred.  If for instance , I add
> TEST:fudge as an instance of TEST:Icecream , the inference should result in
> adding another triple , TEST:sundar  TEST:likes  TEST:fudge
> Thanks
> Sundar
Received on Sunday, 27 December 2009 19:46:49 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:58:18 UTC