Search Mailing List Archives
[protege-owl] Inference of class type based on keyword andModeling data types
tar at ISI.EDU
Sat Jan 2 11:42:28 PST 2010
On Jan 2, 2010, at 1:06 AM, Saiprasad, Sundar wrote:
> Thanks Thomas R.
> Equivalence or the reverse action is good. That worked. Regarding
> S's point , I had responded as to why I need to model it this way.
> is the note
> Thanks a ton for your response. My use case is a bit unique. The
> 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
> 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
> Test:CarnivoreText owl:equivalent [ a owl:Restriction ;
> Owl:onProperty Test:hasKeyword ;
> Owl:hasValue "Lion" ]
> Test:CarnivoreText rdfs:subclassof Test:Carnivore
This will work. You may also be able to build the restriction
directly as an anonymous class and save the need for introducing
additional names. But that's just a minor observation.
> 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
> I would like to know if there is a way to list a bunch of keywords
> I can have as an enumerated datatype and if one of it matches ,
> then the
> class association is made.
It looks like the OWL specification allows the use of enumerated
Datatype values, so this should, in theory, be possible. What I'm
not sure about is what level of support the reasoning engines have
for using enumerated datatype classes as restrictions.
Assuming the reasoning engine support is there, you could create an
enumerated datatype class and use it as the class in a someValuesFrom
restriction in your definition:
Test:CarnivoreText owl:equivalent [ a owl:Restriction ;
Owl:onProperty Test:hasKeyword ;
"Tiger", "Canine", ...} ]
The OWL specification has an example showing enumerated datatypes,
<http://www.w3.org/TR/owl-ref/#EnumeratedDatatype> but I can't figure
out how to add them using the Protege editor.
> Basically , I don't want my application to code these rules and
> make the
> associations. I want to express it in the data itself
More information about the protege-owl