Inference of class type based on keyword and Modeling data types

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" ]

 

 

 

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?

 

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?

 

 

How do I model such a user defined data type and refer to it?

 

 

Thanks

Sundar

 

Received on Tuesday, 29 December 2009 10:12:02 UTC