Re: PROV-ISSUE-260 (TLebo): In Note section: cite prov:Provenance as better practice to annotate assertions. [prov-dm]

On Feb 22, 2012, at 5:32 PM, Luc Moreau wrote:

> Hi Tim,
> 
> I see some problems with this:
> 
> - First, we (at F2F2) have moved Account (used to be called AccountRecord) out of prov-dm. So, there is no standardized way of  creating and expressing them.

We still have "Bundles", which seems to have been renamed to Accounts (again).
Or, alternatively, the constituents of Accounts were removed (e.g., the asserter).

> - Second, your second account does not seem to have any provenance related term.

It has an entity(:simon, [reputation = "excellent") assertion.
That's in PROV, right?

> Which means that this is totally outside prov-dm. Which means, this is not an interoperable way of expressing annotation of provenance: this technique become serialization specific.

see ASN above.

> - Third, assuming we really want
> 
> :prov_0 {
> :simon a prov:Human;
> :robbery prov:wasAssociatedWith :simon
> }
> 
> 
> :prov_1 {
> :simon a prov:Human;
>        prov:hasAnnotation [
>             a prov:Note; ex3:reputation "excellent";
>             rdfs:comment "This is a kludge way to get indirection. Use prov:Provenance instead.";
>        ];
> }
> 
> :prov_2 {
>  :simon ex3:reputation "excellent" .
> }
> 
> 
> I think it's important for annotation to be expressed in the context of the entities where they occur.

Now, you are showing _your_ serialization bias :-)
Both prov:Note and prov:Provenance solutions have explicit, logical connections.
What you see to be "out of context" , _actually_is_ in the context (a rdf1.1:Dataset - a union of graphs)
So "in context" isn't a reason to use Note over Provenance because they both provide it.

> A trust rating algorithm
> may find agent simon "excellent" in prov_1 but "not so good" in prov_0.


You want a trust agent to augment another's assertions, within the _original_ context of the first asserter? That leads to a provenance nightmare!
You'll never be able to see who said what.

prov:Provenance is an Entity, so that trust agent should leave his iPAWs out of others' assertions.

:prov_1 {
   :simon a prov:Human.      # took out the Note, since it muddles who said what.
}

:prov_1 prov:wasAssociatedWith :original_asserter .

:prov_1b {
:simon a prov:Human;    # The rest of prov_1's assertions are included in prov_1b, too.
       prov:hasAnnotation [
            a prov:Note; ex3:reputation "excellent";
            rdfs:comment "This is a kludge way to get indirection. Use prov:Provenance instead.";
       ]; # This Note is now an unnecessary level of indirection, since we're in a new bundle/account/provenance. We can describe :simon directly and know that :trust_evaluator_agent said so.
}

:prov_2 prov:wasDerivedFrom :prov_1;
              prov:wasAssociatedWith :trust_evaluator_agent .


Now, we still need to satisfy your "different evals in different contexts" requirement (I'll avoid Notes this time):

:prov_0 {
:simon a prov:Human;
:robbery prov:wasAssociatedWith :simon
}

:prov_0 prov:wasAssociatedWith :original_asserter .

:prov_0b {
:simon a prov:Human;  ex3:reputation "not so good" .    # Added the reputation, which is different than the one in :prov_1b
:robbery prov:wasAssociatedWith :simon
}

:prov_0b prov:wasDerivedFrom :prov_0; 
          prov:wasAssociatedWith :trust_evaluator_agent .


BTW, Stephen Cresswell is dealing with this kind of meta provenance in case we want to prov:involve a domain user.



-Tim


> The problem is similar with annotations for graphical rendering: the position given to an element in a given account does not
> have to be the same as the position in another account.
> 
> Luc
> 
> On 22/02/2012 18:17, Provenance Working Group Issue Tracker wrote:
>> PROV-ISSUE-260 (TLebo): In Note section: cite prov:Provenance as better practice to annotate assertions. [prov-dm]
>> 
>> http://www.w3.org/2011/prov/track/issues/260
>> 
>> Raised by: Timothy Lebo
>> On product: prov-dm
>> 
>> Please add a note to section Note to encourage people to use Account / AccountEntity/ Provenance to annotate provenance assertions as a better practice. When using AccountEntity, the annotated thing can be described _directly_ as a single triple instead of using Notes. Notes are very much "scruffy  provenance" and do not benefit from the directness afforded by AccountEntity / prov:Provenance.
>> 
>> :prov_1 {
>>  :simon a prov:Human;
>>         prov:hasAnnotation [
>>              a prov:Note; ex3:reputation "excellent";
>>              rdfs:comment "This is a kludge way to get indirection. Use prov:Provenance instead.";
>>         ];
>> }
>> 
>> :prov_2 {
>>   :simon ex3:reputation "excellent" .
>> }
>> 
>> :prov_1 a prov:Provenance; prov:wasAttributedTo :first_asserter .
>> :prov_2 a prov:Provenance; prov:wasAttributedTo :trust_evaluator_agent.
>> 
>> Thanks,
>> Tim
>> 
>> 
>> 
>> 
>>   
> 
> 

Received on Friday, 24 February 2012 05:34:14 UTC