Search Mailing List Archives
[protege-owl] Inference of class type based on keywordandModeling data types
Sundar_Saiprasad at intuit.com
Sun Jan 3 11:59:31 PST 2010
This is exactly what I am looking for. I need a way to specify ranges during value restrictions for datatype properties.
I came across the following link
but I don’t see such a screen in version 4.0. It has also been mentioned in this link that the approach isn’t standards compliant.
Any idea how I can enter it as a class expression in the value restriction editor? The owl spec has given the XML syntax.
From: protege-owl-bounces at lists.stanford.edu [mailto:protege-owl-bounces at lists.stanford.edu] On Behalf Of Thomas Russ
Sent: Sunday, January 03, 2010 1:12 AM
To: User support for the Protege-OWL editor
Subject: Re: [protege-owl] Inference of class type based on keywordandModeling data types
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
protege-owl mailing list
protege-owl at lists.stanford.edu
Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
More information about the protege-owl