- From: Saiprasad, Sundar <Sundar_Saiprasad@intuit.com>
- Date: Wed, 30 Dec 2009 11:47:50 +0530
- To: "Thomas Schneider" <schneidt@cs.man.ac.uk>, <public-owl-dev@w3.org>
Thomas
Thanks a ton for your response. My use case is a bit unique. The animal
example is an analogy for my actual use case and let me try to explain
it better. I will get a unique URI for an individual and a bunch of
keywords as input. These keywords can be something like "Lion" ,
"Brown" , "500Kg" etc. I will get a bunch of keywords for each
individual. There can be many individuals. The keywords are available as
"hasKeyword" property from the individual.
I have a base class called Animal in my ontology and assume that the
first individual that I get as input has the URI urn:animal1234. I know
for sure that urn:annimal1234 is of type test:Animal. Every individual
is of type test:Animal. There are subclasses of Animal like Carnivore ,
BrownAnimals , HeavyAnimals etc. Based on the keywords that I get for
each individual , each individual becomes a member of these subclasses
too. Your point is very valid. I can create something like the following
Test:CarnivoreText owl:equivalent [ a owl:Restriction ;
Owl:onProperty Test:hasKeyword ;
Owl:hasValue "Lion" ]
Test:CarnivoreText rdfs:subclassof Test:Carnivore
This would mean if I get a keyword Lion for the individual , it will
also infer that the individual is a subclass of Carnivore.
Similar associations can be created for BrownAnimals and other classes
too.
I would like to know if there is a way to list a bunch of keywords that
I can have as an enumerated datatype and if one of it matches , then the
class association is made.
Basically , I don't want my application to code these rules and make the
associations. I want to express it in the data itself
Thanks
Sundar
-----Original Message-----
From: public-owl-dev-request@w3.org
[mailto:public-owl-dev-request@w3.org] On Behalf Of Thomas Schneider
Sent: Tuesday, December 29, 2009 4:51 PM
To: public-owl-dev@w3.org
Subject: Re: Inference of class type based on keyword and Modeling data
types
Hi Sundar,
On 29 Dec 2009, at 11:11, Saiprasad, Sundar wrote:
> Hi
>
> This is what I want to achieve
>
> Assume I have the following defined
>
> Test:Animal rdf:type owl:Class
> Test:hasKeyword rdf:type owl:DatatypeProperty Test:hasKeyword
> rdf:domain Test:Animal Test:hasKeyword rdf:range xsd:string
> Test:Carnivore rdfs:subclassof Test:Animal Test:Carnivore
> rdfs:subClassOf [ a owl:Restriction ;
> Owl:onProperty Test:hasKeyword ;
> Owl:hasValue "Lion" ]
Please note that your last statement says: "everything that is a
carnivore has a keyword 'Lion'".
> Now if I have the following instance
>
> Test:animal1234 rdf:type Test:Animal
> Test:animal1234 Test:hasKeyword "Lion"
>
> I would like to infer Test:animal1234 rdf:type Test:Carnivore. This
> didn't work for me. Am I missing something?
This only works if the above statement is the other way round:
"everything that has a keyword 'Lion' is a carnivore".
> I would like to extend this further by having a set of strings like
> an enumerated type (For example , lion , tiger , wolf etc) as defined
> in xsd and if the keyword matches one of it , the corresponding type
> should get inferred. I would expect a change like the following to
> support it :
> Test:Carnivore rdfs:subClassOf [ a owl:Restriction ;
> Owl:onProperty Test:hasKeyword ;
> Owl:someValuesFrom user-defined-
> datatype that has the enumeration of all keywords ]
>
> If the data contains Test:animal1234 Test:hasKeyword "wolf" , then
> it should infer Test:animal1234 rdf:type Test:Carnivore
>
> Is this possible and if it is can it be modeled?
But why do you want to model "being a lion" via "has a keyword 'Lion'"?
Why not have classes Lion, Tiger etc., of which animal1234 may or may
not be an instance?
Cheers
Thomas
>
>
> How do I model such a user defined data type and refer to it?
>
>
> Thanks
> Sundar
>
+----------------------------------------------------------------------+
| Dr Thomas Schneider schneider (at) cs.man.ac.uk |
| School of Computer Science http://www.cs.man.ac.uk/~schneidt |
| Kilburn Building, Room 2.114 phone +44 161 2756136 |
| University of Manchester |
| Oxford Road _///_ |
| Manchester M13 9PL (o~o) |
+-----------------------------------------------------oOOO--(_)--OOOo--+
Skagway (n.)
Sudden outbreak of cones on a motorway.
Douglas Adams, John Lloyd: The Deeper Meaning of Liff
Received on Wednesday, 30 December 2009 06:19:19 UTC