Yes thanks Dave. I missed that part while building my app. I tried MINI and
it is working perfectly. Unfortunately it took a significant amount of time
to process the result. I guess that's the drawback of MINI. Thank you very
much.

Daryl

On Thu, Oct 25, 2012 at 3:32 PM, Dave Reynolds <[email protected]>wrote:

> As it says in [1] you need to use at least the MINI reasoner
> configuration, not MICRO, to get sameAs inference.
>
> Dave
>
> [1] 
> http://jena.apache.org/**documentation/inference/#**OWLcoverage<http://jena.apache.org/documentation/inference/#OWLcoverage>
>
>
> On 24/10/12 18:37, Joseph Daryl Locsin wrote:
>
>> Hello Jena Users,
>>
>> I am trying to link two individuals A and B using
>> *
>> *
>>   *         B.setSameAs(A) *OR* A.setSameAs(B)*
>>
>>
>> A has properties hasOne, hasTwo
>>
>> B has a property hasThree
>>
>> and I'm hoping that the property of B can be inferred as a property of A.
>> Unfortunately, when I list A's properties, hasThree doesn't appear
>>
>> This is my setup:
>>
>>            OntModel onto =
>> ModelFactory.**createOntologyModel(**OntModelSpec.OWL_MEM_MICRO_**RULE_INF,
>> null);
>>
>>            String NAMESPACE1 = "http://mynamespace.one#";;
>>            String NAMESPACE2 = "http://mynamespace.two#";;
>>
>>            OntClass myClass = onto.createClass(NAMESPACE1 + "MyClass");
>>
>>            Individual a = onto.createIndividual(**NAMESPACE1 + "A",
>> myClass);
>>            Individual b = onto.createIndividual(**NAMESPACE2 + "B",
>> myClass);
>>          //NOTE: I used a different namespace for B to simulate a
>> different
>> address, but in this setup it is using the same class type
>>
>>            OntProperty one = onto.createOntProperty(**NAMESPACE1 +
>> "hasOne");
>>            OntProperty two = onto.createOntProperty(**NAMESPACE1 +
>> "hasTwo");
>>            OntProperty three = onto.createOntProperty(**NAMESPACE2 +
>> "hasThree");           //NOTE: the hasThree property is located in the
>> same
>> address of B
>>
>>            a.setLiteral(one, true);
>>            a.setLiteral(two, true);
>>            b.setLiteral(three, true);
>>
>>            a.setSameAs(b);          //THIS results in the RDF entry for A
>> to
>> have a line <owl:sameAs 
>> rdf:resource:"http://**mynamespace.two#B<http://mynamespace.two#B>"
>> />
>>            //b.setSameAs(a);          //I TRIED using this too, but it
>> didn't work either
>>
>>            // IN HERE I JUST SET AN ITERATOR TO SHOW ALL OF THE PROPERTIES
>> OF A
>>            // UNFORTUNATELY, hasThree DOESN'T SHOW UP UNDER THE PROPERTIES
>> OF A
>>
>>            I would like to ask what am I doing wrong?
>>
>>
>> Regards,
>> Daryl
>>
>>

Reply via email to