Re: PROV-ISSUE-253: misc issues with the ontology [mapping prov-dm <-> prov-o]

On Feb 17, 2012, at 11:26 AM, Luc Moreau wrote:

> Hi Tim
> 
> On 02/17/2012 03:04 PM, Timothy Lebo wrote:
>> 
>> BTW, if would be helpful to include URLs to the section that is being discussed.
>> 
> 
> This was really an ontology issue and I didn't link to the ontology file.
> Further comments below.
>> 
>> 
>>>> Usage
>>>> --- misses a property hadActivity
>>>> 
>> 
>> 
>> prov:hadQualifiedUsage stands in place of hadActivity
>> 
>> these two properties are owl:inverseOf, but we are not defining hadActivity.
>> we are using hadQualifiedUsage to point from the Activity to the Involvement to maintain Activities and Entitites and principle instances. 
>> 
>> I added this note at http://www.w3.org/2011/prov/wiki/ProvRDF#Usage
>> 
>> 
>>> 
>>> I don't understand what you expect to change here.  There is no hadActivity construct in either PROV-O or PROV-DM, so I can't just change the mapping to include this.
>> 
>> The only requirement DM provides is that we associate the two, which we have done.
>> 
> 
> Ultimately with the model, we support to views, relation oriented or class oriented.  
> When you take the class oriented view, where you have a Usage class, you want to be able to talk
> about its activity (especially since this should be a functional property).
> 
> Prov-dm states that a usage has a constituent activity.

You can talk about the Usage's activity. with prov:qualified[Usage], no?

> Why can't a property be defined as owl:inverseOf, as you suggested, in the ontology?

It can be. Explicitly defining owl:inverseOf for every property doubles the number of properties. Some consider it good practice to avoid defining all inverses. Where to draw the line?



> 
>>> 
>>> There is a link from the activity to the usage labeled hadQualifiedUsage.  The hadActivity link would be the inverse of that.  
>> 
>> +1
>> 
>>> However, the edges here are meant to be consistent with the direction "towards the past".  
>> 
>> In this case, it is to maintain the Activity as the "more principal" instance, which is done by making it the subject of the triple.
>> I've jotted down some http://www.w3.org/2011/prov/wiki/ProvRDF#Mapping_goals
>> 
>>> So I don't think we want to replace hadQualifiedUsage with hadActivity going in the reverse direction.
>>> 
>>> proposal: Raise against PROV-O to discuss whether to introduce a hadActivity property linking QualifiedInvolvements to Activities.
>> 
>> If proposed, I say -1
>> 
> 
> I don't think the notion of 'principal' should be absolute. It depends on what you are doing with the provenance,
> and this is left to users. 


Well, four Elements are defined and some Relations among them. How are the Elements not "principal"? They are the things connected with binary relations, which can then be qualified.
If the qualifications are not required, I hardly think they could be considered as important as Elements.

>>> 
>>>> 
>>>> ----------------------------------------------------------------------
>>>> 
>>>> There is no time information associated with Entity in DM3
>>>> 
>>> 
>>> Correct, but I don't see what you think should change (in the mapping, PROV-O, or PROV-DM).  The rule for entity() records does not link the entity to a time.  It is possible to link any Thing to a time, including an Entity, but so what?
>>> 
>>> Proposal: No change.
>> 
>> 
>> Agreed. What tidbit of what document leads to this question?
>> 
>> 
> 
> The ontology allows for time to be associated with entities.


Please provide a URL to the DM section that you think is not fulfilled.
http://www.w3.org/TR/2012/WD-prov-dm-20120202/#record-Time
says
It is optional to assert time in usage, generation, and activity records.

I don't see anything in
http://www.w3.org/TR/2012/WD-prov-dm-20120202/#section-time-event

nor in
http://www.w3.org/TR/2012/WD-prov-dm-20120202/#record-Entity

so I'm stumped. What should I look at?



> 

> 
>> 
>>> 
>>> I interpret this as an issue with Prov-O, which (if addressed by adding such a property) should be reflected in the mapping.
>>> 
>>> Proposal: Raise against PROV-O, and reflect any ensuing change in mapping.
>>> 
>>>> 
>>>> ----------------------------------------------------------------------
>>>> 
>>>> Association: 
>>>> hadQualifiedEntity has range Entity,
>>>> but it should be Agent ....
>>>> hadQualifiedAgent with range Agent,
>> 
>> 
>> I added this extra triple and the corresponding axiom at http://www.w3.org/2011/prov/wiki/ProvRDF#Agent_Association
>> 
> Is it added to the ontology?
> The mapping no longer needs to show hadQUalifiedEntity


Yes, b/c of goal 3 (which prov-o team agreed to and  I just recorded)
3. Include _all_ resulting triples, including those resulting from inferences.
http://www.w3.org/2011/prov/wiki/ProvRDF#Mapping_goals




>> 
>>>> 
>>> 
>>> This is a PROV-O issue, which if addressed there can be easily reflected in the mapping.
>>> 
>>> Proposal: Raise against PROV-O, and reflect any ensuing change in mapping.
>>> 
>>> 
>>>> ----------------------------------------------------------------------
>>>> 
>>>> Association
>>>> --- misses a functional property hadActivity
>>>> 
>>> 
>>> Same response as for Usage.
>> 
>> +1 
>> 
>> I added a note at http://www.w3.org/2011/prov/wiki/ProvRDF#Agent_Association
>> 
>> 
> 
> Same comment as above.  I am OK with your suggestion to have these in separate files if appropriate.


They can be placed in:

http://dvcs.w3.org/hg/prov/file/99092133673b/ontology/components/inverses.ttl



>>> 
>>> 
>>> Proposal: Re-raise against Prov-O.  No change needed to mapping.
>>> 
>>>> --- has QualifiedInvolvement in its domain but
>> 
>> 
>> I see that it has a domain of owl:Thing.
>> 
>> http://dvcs.w3.org/hg/prov/file/default/ontology/ProvenanceOntology.owl
>> 
>>    168     <owl:ObjectProperty rdf:about="hadTemporalValue">
>>   
>>    169         <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
>>   
>>    170         <rdfs:label xml:lang="en"
>>   
>>    171             >has temporal value</rdfs:label>
>>   
>>    172         <rdfs:domain rdf:resource="&owl;Thing"/>
>>   
>>    173         <rdfs:range rdf:resource="Time"/>
>>   
>>    174     </owl:ObjectProperty>
>>   
>>   
>>   
> 
> Which is too broad.


I added Timed class and changed domain of hadTemporalValue (now, occurredAt) from Involvement to Timed.
Added Generation, Usage, and Activity subclass of Timed.
This is not completely correct b/c Activity would have only an Instant.

http://dvcs.w3.org/hg/prov/diff/d6db71fbccbf/ontology/ProvenanceOntology.owl


>> -Tim
>>   
> 
> Luc

Received on Friday, 24 February 2012 03:36:49 UTC