OWL inferencing question

Posted by user439170 on Stack Overflow See other posts from Stack Overflow or by user439170
Published on 2011-01-12T18:51:02Z Indexed on 2011/01/12 18:53 UTC
Read the original article Hit count: 273

Filed under:
|
|

I am using the Jena semantic web framework version 2.6.3. I have code that creates a model with owl inferencing and then adds the following triples:

[:bnode-3 rdf:type owl:Restriction]

[:bnode-3 owl:onProperty :offspringOf]

[:bnode-3 owl:someValuesFrom :Person]

[:bnode-3 rdfs:subClassOf :Person]

bnode-3 is supposed to be a restriction class which, for example, would contain :joe if :bob is a :Person and the following triple were asserted: [:joe :offspringOf :bob]. Then, since the restriction class is a subclass of Person, :joe would also be a person.

And, in fact, this works. Whats confusing to me is that after I assert just the 4 triples at the top of this post, the inferencer creates a blank node which is a Person. In other words, the following triple is now in the model:

[_:b0 rdf:type :Person]

I don't understand why it would do this. Any help in understanding this would be greatly appreciated.

Thanks. Kent.

© Stack Overflow or respective owner

Related posts about semantic

Related posts about owl