Re: log:conclusion confusion

Dear Gregg,

Filtering basically means that you select a set of rules and only show 
the result of these rules applied to your knowledge base (which can 
consist of rules and triples). In cwm, you get the result of filtering 
if you use the option --filter, in eye you can use --query instead. I 
try to also clarify the snippet from the design issues.
> Perhaps you can help decipher the description of Filtering in 
> DesignIssues:
>
>
>             Filtering
>
>     When a knowledge base (formula) contains a lot of information, one
>     way to filter off a subset is to run a set of rules on the
>     knowledge base, and take only the new data which is generated by
>     the rules.   This is the filter operation.
>
>     When you apply rules to a knowledge base, the filter result of
>     rules in H applied to K is the union of all σG for every statement
>     F => G which is in H,  for every σ which s a transformation
>     composed of universal eliminations of variables universally
>     quantified in H such that K includes σF.
>
Let's go through the different components.

We have a knowledge base K and a set of filter rules H.

To have an example, let

K={ <a><b><c>.}

So, we have just one triple. Note that the knowledge base can also 
contain rules, I just wanted to keep the example simple.

Let furthermore be

H={ {?x <b> ?y}=>{?x <b> <d>}.}

So, again, our example contains only one rule, but the definition also 
allows multiple rules in the filter.

The rules in the filter all have the format

/F => G/
/
/
(this is normal since they are all rules and rules have that format).

So, in our simple example we only have one rule with

F= ?x <b> ?y.

and

G = ?x <b> <d>.

No, if you apply a rule, you normally make a substitution which is 
called σ in the definition.
You have some σF which is true in the knowledge base and can conclude 
from that σG.

On our example:

σ is a function which replaces ?x by <a> and ?y by <c>.

So we have σF = <a><b><c>.

Now, we have to apply the same σ to G, we get:
σG = <a> <b> <d>.

And that σG is now also the result of our filtering.

I just made the exercise here to explain you that the definition is 
actually close to your understanding: if you apply filtering, the output 
of this process should only be all the results of all the rules 
contained in the filter which can be derived from the knowledge in the 
knowledge base.

I hope that helps :)

Kind regards,
Doerthe



//
//
//

    /
    /





>
> The first paragraph seems to say that only the new data is generated. 
> I’m not entirely sure what the second paragraph says. As most of these 
> tests are run with filter; true, it would seem that the results should 
> be consistent with this interpretation.
>
> Gregg Kellogg
> gregg@greggkellogg.net <mailto:gregg@greggkellogg.net>
>
>> On Oct 21, 2020, at 9:48 AM, Gregg Kellogg <gregg@greggkellogg.net 
>> <mailto:gregg@greggkellogg.net>> wrote:
>>
>>> On Oct 21, 2020, at 5:21 AM, Pierre-Antoine Champin 
>>> <pierre-antoine.champin@ercim.eu 
>>> <mailto:pierre-antoine.champin@ercim.eu>> wrote:
>>>
>>>
>>> On 21/10/2020 01:11, Gregg Kellogg wrote:
>>>> Hi, I’ve been struggling with log:conclusion just running the conclusion-simple.n3 test (https://w3c.github.io/N3/tests/N3Tests/cwm_includes/conclusion-simple.n3)
>>>>
>>>> {{<a> <b> <c>}=>{<test> a <SUCCESS> }.
>>>>    <a> <b> <c>.
>>>> }   a :TestRule.
>>>>
>>>> {   ?x a :TestRule; log:conclusion ?y }  => { ?y a :TestResult }.
>>>>
>>>> It seems to me that the conclusion would be the inferred triple contained in a formula:
>>>>
>>>> {
>>>>    <test> a <SUCCESS> .
>>>> } a :TestResult .
>>>>
>>>> However, CWM seems to include the inferred triple within the context of the premise:
>>>>
>>>> {
>>>>    <a> <b> <c> .
>>>>    <test> a <SUCCESS> .
>>>>    {<a> <b> <c> .} => {<test> a <SUCCESS> .} .
>>>> } a :TestResult .
>>> EYE does the same.
>>>> In my opinion, the conclusion would just contain the implied triple,
>>>
>>> That's the thing: all triples originally present in the formula/are 
>>> implied/by the formula…
>>>
>> If that’s the case, then either I’ve missed some statement about 
>> this, or we need to be more explicit. A number of tests may be 
>> inconsistent with this interpretation, but that will take a more 
>> detailed analysis and a comparison with the original source.
>>
>> Gregg
>>>
>>>   best
>>>
>>>> but that seems to be at odds with convention. This also calls into question may other tests where the result is filtered to include just the conclusions from running rules in the store, rather than the store plus the conclusions. I think this needs a more formal description.
>>>>
>>>> The conclusion.n3 test is more complicated, as it concludes the conjunction of the semantics of several other files, so the result would seem to be subject to further reasoning based upon those semantics.
>>>>
>>>> Gregg Kellogg
>>>> gregg@greggkellogg.net
>
-- 
Dörthe Arndt
Researcher Semantic Web
imec - Ghent University - IDLab | Faculty of Engineering and Architecture | Department of Electronics and Information Systems
Technologiepark-Zwijnaarde 122, 9052 Ghent, Belgium
t: +32 9 331 49 59 | e: doerthe.arndt@ugent.be

Received on Wednesday, 21 October 2020 19:42:31 UTC