Re: lost with the existencial variables

This is what you would expect. The level at which it is stated that
@forSome :b is all important. The statements:

For some :b the following is true:
      if for some ?a, {?a :b :e} is true, then ....

and

The following is true:
    if for some ?a and for some :b {?a :b :e} then ...


The issue is the quoting level of the forSome. The one with the @forSome
on the outside clearly never has the rule fire. Only if a triple {?a :b
:e} appeared in the document, with literally :b as the predicate, the
rule would fire.


Yosi Scharf
> with:
>
> @forAll :a.
> { @forSome :b . :a :b :e } => { ?a :e :b }.
> { :a _:b :e } => { ?a :f _:b }.
> :m :n :e.
>
> I obtain from cwm
>
> :m :e :b;
>    :f  [];
>    :n :e .
> { @forSome :b . :a :b :e . } log:implies {:a :e :b . } .
> { @forSome :_g0 . :a :_g0 :e . } log:implies {:a :f [] . } .
>
> ####################################
>
> but from
>
> @forAll :a.
> @forSome :b .
>
> { :a :b :e } => { ?a :e :b }.
> { :a _:b :e } => { ?a :f _:b }.
> :m :n :e.
>
> I obtain
>
> @forAll :a.
> @forSome :b .
>
> :m :f [];
>    :n :e .
> { :a :b :e . } log:implies { :a :e :b . } .
> { @forSome :_g0 . :a :_g0 :e . } log:implies { :a :f [] . } .
>
> this means that we louse the triple ':m :e :b' from the output. I was
> aspecting to get one of 2 triples:
>
> :m :e :n
> :m :e :[]
>
> but no triples seems strang.
> Shall I intrepet that:
>    if we have a existencial variable in the head (right side of the
> rule), no triple shall be created.
>    if we have a existencial variable in the body (left side of the
> rule) defined in a upper level (outside this context {} ), no triple
> shall be created.
>
> Or there is a bug in cwm
>
> Thanks for the help
>
> Marcos
>
>
> --
> Marcos Rebelo
> http://oleber.awardspace.com/

Received on Wednesday, 7 June 2006 14:44:05 UTC