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

Reply via email to