OWL inferencing question
- by user439170
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.