Thank you for your answer Aaron Jackson, it works. 
That answer guide me to make another rule pattern.

On Sunday, December 8, 2013 11:58:28 PM UTC+7, Aaron Jackson wrote:
>
> Try adding this rule to the owl:Thing class in TBC:
>
> CONSTRUCT {?ind a ?c.}
> WHERE {
> ?c owl:onProperty ?p.
> ?c owl:someValuesFrom ?values .
> ?values owl:withRestrictions ?y.
> ?y rdf:first ?v1.
> ?y rdf:rest rdf:nil.
> ?v1 xsd:minInclusive ?o.
> ?ind ?p ?obj.
> FILTER(?obj >= ?o)
> }
>
> This should catch any cases specific to your example, as well as any other 
> cases defined with a "minInclusive" restriction.  A very similar pattern 
> can be followed for other datatype facets (minExclusive, maxInclusive and 
> Exclusive, length, pattern, etc.)  If you want to restrain more than one 
> facet (both min and max values), you can extend the pattern to look for 2 
> elements in the "values" variable. 
>
> On Thursday, December 5, 2013 4:08:51 AM UTC-5, Wasin wrote:
>>
>> Hello, 
>> i'm trying to define the datatype restriction in the TBC(v4.3.1) to 
>> classify some individual of person that have age more than 18.
>> It like the approach 1 that describe in this link: 
>> https://groups.google.com/forum/#!msg/topbraid-users/jc7GjLYo4l8/4HLCEpM8nTIJ
>> . 
>>
>> Firstly 1) i insert the following code in Adult class:
>>
>> Manchester syntax:
>> owl:equivalentClass
>>             age some xsd:integer[>= 18]
>>
>> Turtle syntax:
>> :Adult
>>       a       owl:Class ;
>>       rdfs:subClassOf :Person ;
>>       owl:equivalentClass
>>               [ a       owl:Restriction ;
>>                 owl:onProperty :age ;
>>                 owl:someValuesFrom
>>                         [ a       rdfs:Datatype ;
>>                           owl:onDatatype xsd:integer ;
>>                           owl:withRestrictions
>>                                   ([ xsd:minInclusive 18
>>                                     ])
>>                         ]
>>               ] .
>>
>> 2) and create new individual of Person class with have age 50:
>>
>> :Person_1
>>       a       :Person ;
>>       :age    50 .
>>
>> 3) Then, i classify them with owlrl-all rule
>>
>> But, it doesn't successful (the individual doesn't be an Adult class). 
>>
>> Despite i change
>>        age some xsd:integer[>= 18]  ------>  age some xsd:integer   ->> 
>> doesn't success
>>                                                          ------>  age 
>> some rdfs:Literal   ->> doesn't success
>> Maybe the problem come from xsd:minInclusive in Adult class. Because, i 
>> try to change datatypeProperty to some objectProperty in owl:equivalentClass 
>> (:objectProperty1 some Thing). I classify them and it success
>>                                                         -------> 
>> objectProperty1 
>> some Thing -->> success, the individual will be an Adult class
>>
>> What is wrong?
>> Anyone have any suggestion to solve this problem.
>>
>> Following approach that i do:
>>
>>    - import owlrl-all on folder TopBraid/Spin
>>    - select owl 2 RL on ontology profile
>>
>> My code attach within this message.
>>
>> Thanks,
>> wasin
>>
>

-- 
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer, TopBraid Live, TopBraid Insight, 
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to