PIL OWL Ontology Meeting 2012-02-20

From Provenance WG Wiki
Jump to: navigation, search

Meeting Information

prov-wg - Modeling Task Force - OWL group telecon

Agenda

http://www.w3.org/2011/prov/wiki/ProvRDF

  • 1. Update OWL File

a) hadTemporalValue domain of object property: single call


Discussions

hadTemporalValue

Luc: Where time is in DM: start,stop. usage, generation, derivation

(Stian: but do we really need a unioned hadTemporalValue?)

For OWL RL: domain cannot be a union. Luc: Just have another class for things that have time

NOTE: this is not what I am recommending. I was just trying to say that QualifiedInvolvment was too broad a class!!


On setting a domain for hadTemporalValue, if Activity is the domain of hadTemporalValue, then for any RDF statement with the predictate hadTempralValue, it can be inferred that the subject is a Activity Is this an entailment we want to enforce? Is this entailment what we are trying to say with this cardionality? Do we wish to restrict the set of classes that can have hadTemporalValue?

what is the range of hasTemporalValue? is it interval? or instant? Stian: By DM it is all instants. and it is TimeInstant in OWL now.


So, you need two properties for activity, startTime and endTime?


Stian: right, QualifiiedInv allows say qualifiedEntity also on subclasses where it does not make sense - might need intermediate subclasses like QualifiedIvolvementWithEntity (ugh)  [or multiple very-similar properties]

         QualifiedInvolvement     ---->QualifiedInvolvementWithTime (please, no -Tim):D  [Timed] ? (agree with Tim, please no) (This should be renamed to Timed and moved out of being a subclass of Invovlement -Tim)     ------------>Generation     ------------>Usage     ------------>Derivation (Does derivation have time? yes, optional). I think that the question is: which does not include time optionally? all except Generation, Usage, Derivation     ----> QualifiedInvolvementWithExtraEntity (!!?)     ------------>Derivation     ------------>Responsability     ----> QualifiedInvolvementWithActivity     -----------> Derivation

And hadQualifiedAgent!     That's redundant from hadQualifiedEntity and so should be removed from prov:Association I'll do that now.

         

              QualifiedInvolementWithTime hadTemporalValue Time           Stian: Looks good (except the names!) 

Tim: Why are we naming all elements in this cross product? ACK!

Paul Groth: Should never use those in-between classes in RDF    (even more reason not to name it! -Tim)


http://www.w3.org/2011/prov/wiki/ProvRDF#Attribution

http://www.w3.org/TR/2012/WD-prov-dm-20120202/#recod-attribution > A traceability record states the existence of a "dependency path" between two entities, indicating that one entity can be shown to be in the lineage of another, and may have influenced it, or may bear some responsibility for it, in some way. The traceability relation subsumes derivation, activity association, and responsibility, and is defined to be transitive.

'bear some responsibiliy for' sounds to cover attribution? +1 Tim

Stian: We need to do a second run of going back from OWL to ProvRDF to see if there are any (unintended) implied triples/classes.

Stian: I have some issues with the Derivation hierarchy as well.. although I'm responsible ;) like prov:hadQualifiedDerivation which has range Trace.


hadOriginalSource: http://www.w3.org/2011/prov/wiki/ProvRDF#Original_Source

hadAnnotation:

Stephan: if they are binary could we use OWL annotation properties?      -I guess so (Daniel)

ISSUE-253: 1. Usage

Tim's Wishes:

  • renaming QualifiedInvolement to Involvement (or Event?) (no, either Event is a subclass of Involvmeent or Invovlments "have an" Event. - but I don't think DM should impose here.)
  • renaming ALL hadQualifiedXXX to prov:qualified.

Luc: +1 to Tim Stian: +1 - make issue? Tim wil do (now)


Issue: Association  hadQualifiedEntity has range Entity,  but it should be Agent ....  hadQualifiedAgent with range Agent,

domain of hadQualifiedEntity: QualifiedInvolvement

Stian: bah! But agent is an entity?  Can we have both an entity (as entity) and agent (as agent) in an Association?

If we were not OWL2-RL we could restrict Association to have such a restriction. (We could have a second OWL2-Full or similar file with those kind of restrictions) Perhaps agents should not always be entities!

Are we looking to specify non-agent entities? then why the suggestion that "agents should not always be entities"? No. It's the other way around. We want to avoid some entities acting as agents (we should not allow entities in association)

Entity - Agent - NonAgentEntity (temporary name :-) ) Agent and NonAgentEntity are disjoint.  NonAgentEntity is an Entity that cannot 'be' an Agent. note: I am not suggesting this

Define "acting as" Sorry, being.

http://dvcs.w3.org/hg/prov/file/7e2a18f9d5d6/ontology/components/Involvement.ttl#l32

Can we require Involvement to have hadQualifiedAgent (which has range Agent) and make hadQualifiedEntity functional -- and still be RL? 

We need an RL expert or a nice plugin for Protege that says NO. just use: http://owl.cs.manchester.ac.uk/validator/ - you can select the different variants of owl and check


    20 prov:EntityInvolvement     21    a owl:Class;     22    rdfs:label "EntityInvolvement";     23    rdfs:subClassOf prov:Involvement;     24    rdfs:subClassOf [     25        owl:onProperty prov:entity;     26        owl:minCardinality 1;     27    ];     28 . Ah - this is QualifiedInvolvementWithExtraEntity in Paul's hierarchy above - but with nicer names. Tim: suggests subclasses EntityInvolvement and ActivityInvolvement of Involvement (instead of QualifiedInvolvement - ISSUE-254)


    30 prov:Generation rdfs:subClassOf prov:EntityInvolvement .     31 prov:Used rdfs:subClassOf prov:EntityInvolvement .     32 prov:Association      33    rdfs:subClassOf prov:EntityInvolvement;      34    rdfs:subClassOf [      35       owl:onProperty prov:entity;      36       owl:allValuesFrom prov:Agent      37    ];     38 .


Generation links activity and entity.

Rule: what is the type of the object of the triple you'r reifying? If Entity, EntityInvovlement. If Activity, ActivityInvovlement. Stian: +100 to Tim's approach

Example?

entity prov:wasGeneratedBy ** :activity **

-->  Generation is an ActivityInvolvement with prov:activity to :activity.

entity prov:qualified [ 

   a Generation;    prov:activity :activity   ] . 

activity

 prov:used :entity;   prov:qualified [        ];         . Issue: Association  hadQualifiedEntity has range Entity,  but it should be Agent ....  hadQualifiedAgent with range Agent,   use owl:allValuesFrom on Association to restrict the range of hadQualifiedEntity to Agent? may not be able to use owl:allValuesFrom, but may not be valuable in OWL-RL Stian: random Google results seems to say you can't do allValuesFrom in RL. http://owl.semanticweb.org/page/Owl2-rl-invalid-leftside-allvaluesfrom that test is officially for DL (unless I mis-read the test), can we get confirmation that owl:allValuesFrom is disallowed in OWL-RL?

domain of hadQualifiedEntity: QualifiedInvolvement

Tim: It would be odd to refer to an Agent as an Entity from a user's perspective.  Tim: Having Association subclass [ onProp hadQualifiedEntity; allValsFrom Agent] is good, but I think we should include hadQualAgent subpropertyOf hadQualifiedEntity.


activty

   prov:associatedWith **:agent; **    prov:qualified [        prov:Association;        prov:hadQualifiedAgent :agent;  # Luc was concerned that the range was too relaxed (we could have just added an Entity)     ];     .          prov:hadQualifiedAgent          rdfs:subPropertyOf prov:hadQualifiedEntity ;          rdfs:range prov:Agent;      .

Luc: Alternative if prov:Association is not RL-compliant - introduce prov:AgentInvolvement as well

Stian: But prov:qualified can associate any Involvement with any activity or entity? Is that OK? No, I think we should look at those properties that are associaed with qualified involvement in the light of the new structure.

entity prov:qualified [ a prov:Start ]  ## The agent responsible??


prov:hadTemporalValue rdfs:domain prov:Timed . prov:Timed rdfs:subClassOf [ onProp prov:hadTemporalValue; minCard 1 ] prov:Genration rdfs:subClassOf prov:Involvement, prov:Timed . prov:Used rdfs:subClassOf prov:Involvement, prov:Timed . +50 - prov:Timed free-standing class +1 as well (Daniel) Tim: In this approach all classes mean something - if prov:Generation is subclass of  prov:Timed then it has time. +1 seems fine to me (Khalid) +1 really nice



Stian: the Association is linked to from the Activity (in current OWL) with hadQualifiedAssociation.

activity prov:wasASsociatedWith :agent .
activity prov:hadQualifiedAssociation [

    a prov:Association ;     prov:hadQualifiedEntity :agent      ] .

Association --- misses a functional property hadActivity



Association


adoptedPlan i would have thought it had to be functional


TODO: Tim to change ontology to reflect hadTemporalValue and ActivityInvovlement changes and email it out today.


Stian did a quick go in Protege to emulate Tinm's approach on the OWL file: http://titanpad.com/LbHy9n4Fb4 (also did prov:Timed)

ACTION: Stian to write down ProvRDF statements for Collections