Hey there! Yes, Peter, you got it completely correctly. The inference engine uses a single global inferred statements context and works in cross-context fashion. This might seem counterintuitive at first sight, but come think of it this enables you to infer knowledge based on facts coming from different sources (contexts). In a way the context is bound to the source facts, the inferred closure is something different and there is no obvious way of splitting it between contexts without sacrificing the power of multi-source inference. In order to understand this behavior better you might think of it as if the context URI is a label denoting where this statement came from. Being in the inferred context would mean that it came out as a result of the inference process.
Cheers, Ivan On Friday 05 February 2010 17:40:28 Peter Kostelnik, PhD. wrote: > hi there .. flooding again (and again :) ) > > I've tried to add the transitive relation between individuals in different > contexts and I've noticed (in my view) not correct behaviour of inferencer > .. > > I've used two contexts and did assertions through RepositoryConnection > add(s, p, o, c) in the following scenario: > > 1. init repo and load schema with three individuals: manfred, dieter and > siegfried .. there were no relations between individuals .. in n3, there > is defined a simple hierarchy and (except the others) the transitive > property [blames] > > 2. add transitive relations in context 1: > siegfried blames manfred, > manfred blames dieter > -- > inferred (in implicit ctx): siegfried blames dieter (from context 1) > > 3. add transitive relations in context 2: > siegfried blames dieter, > dieter blames manfred > -- > inferred (in implicit ctx): > siegfried blames dieter (from context 1) > siegfried blames manfred (from context 2) > > but also, what is a bit strange, cause the inference probably goes through > the only one implicit context: inference is mixing the assertions in > different contexts and there are following inferred facts (which should > never be inferred when using only data in separate contexts):: > > manfred blames manfred, > dieter blames dieter, > dieter blames manfred, > manfred blames dieter > > 4. I did some removal of statements to check the behaviour (does not > matter right now because of the points 2 and 3) > > 5. shut down > > pls, is there a way, how to use the inferences through inserted data in > various contexts? .. now it seems, that there is used only one implicit > context for inferred statements, which causes the incorrectly inferred > data .. or, do I understand it in a wrong way? > > using BigOWLIM 3.2.a7 > if interested in, sources and schema are attached (without libs) > > thanks a lot, cheers, > Peter K. _______________________________________________ OWLIM-discussion mailing list [email protected] http://ontotext.com/mailman/listinfo/owlim-discussion
