Re: prov-wg: Another name for Qualified?

On Feb 17, 2012, at 6:37 PM, Luc Moreau wrote:

> 
> Hi Tim,
> 
> On 17 Feb 2012, at 23:26, "Timothy Lebo" <lebot@rpi.edu> wrote:
> 
>> 
>> On Feb 17, 2012, at 6:07 PM, Luc Moreau wrote:
>> 
>>> Is too much for prov:?? to be prov:entity ...
>> 
>> That's what we started with. And I haven't seen anything else that is more compelling.
> 
> Great.  Btw, this exactly corresponds to the "names" of constituents, listed in the DM.

Is this a WD4 thing? Could you give a pointer to where "names" of constituents is discussed? I couldn't find "consti" in WD4 or WD3.


>> 
>> Will we ever have a set of examples that exercises the constructs in DM (and thus, PROV-O)?
>> I'm worried that discussing and deciding based on minted examples prevents us from seeing the whole picture.
>> 
> 
> Agreed. It's now time to build a corpus of examples. My ProvToolbox can make some conversions. Hopefully others will create other converters.

https://github.com/lucmoreau/ProvToolbox ?
What can it do? You're short on wiki pages ;-)
If we start an ASN collection in prov hg, I can look at feeding them through ProvToolbox to get XML to transform to RDF with an XSL.
I'd ask someone else to start the ASN collection, since I failed to get traction the first time around.
Apparently my organization wasn't intuitive.


> 
> 
>> In particular, I'm concerned about situations where prov:entity references the subject of the qualified involvement, because it would break the underlying guidance from rdf:Statement.
>> 
>> Is it possible to have prov:entity refer to the subject? Revisions? qualified derivations? I've said this before, but I hope it isn't possible because some Activity should be used instead.
>> 
> 
> Isn't the class  Involvement too broad in its current form?
> Shouldn't the pattern be reused under a different name for
> Entity-entity relations and activity-activity relations?


I very much like this suggestion.
By "too broad in its current form", do you mean the 1) OWL axioms defining it, 2) its use, or 3) its naming?

I've had the following in http://dvcs.w3.org/hg/prov/file/8c14d0798b20/ontology/components/QualifiedInvolvement.ttl since Dec 02 2011


prov:QualifiedEntityInvolvement
   a owl:Class;
   rdfs:label "QualifiedEntityInvolvement";
   rdfs:subClassOf prov:QualifiedInvolvement;
   rdfs:subClassOf [
       owl:onProperty prov:qualifiedEntity;
       owl:minCardinality 1;
   ];
.

prov:QualifiedActivityInvolvement
   a owl:Class;
   rdfs:label "QualifiedEntityInvolvement";
   rdfs:subClassOf prov:QualifiedInvolvement;
   rdfs:subClassOf [
       owl:onProperty prov:qualifiedActivity;
       owl:minCardinality 1;
   ];
.


^^^ this would be "simply named" according to today's discussions with the following \/:

prov:EntityInvolvement
   a owl:Class;
   rdfs:label "EntityInvolvement";
   rdfs:subClassOf prov:Involvement;
   rdfs:subClassOf [
       owl:onProperty prov:entity;
       owl:minCardinality 1;
   ];
.

prov:Generation rdfs:subClassOf prov:EntityInvolvement .
prov:Used rdfs:subClassOf prov:EntityInvolvement .
prov:Association rdfs:subClassOf prov:EntityInvolvement; 
    rdfs:subClassOf [ owl:onProperty prov:entity; 
                      owl:allValuesFrom :Agent ] .


prov:ActivityInvolvement
   a owl:Class;
   rdfs:label "ActivityInvolvement";
   rdfs:subClassOf prov:Involvement;
   rdfs:subClassOf [
       owl:onProperty prov:activity;
       owl:minCardinality 1;
   ];
.

The _unstated_ intent is that prov:entity and prov:activity are subproperties of rdf:object .

I made the changes at http://dvcs.w3.org/hg/prov/file/ecc2d07239a3/ontology/components/Involvement.ttl


-Tim








> 
> 
> Luc
> 
>> -Tim
>> 
>> 
>> 
>>> 
>>> Professor Luc Moreau
>>> Electronics and Computer Science
>>> University of Southampton 
>>> Southampton SO17 1BJ
>>> United Kingdom
>>> 
>>> On 17 Feb 2012, at 22:57, "Timothy Lebo" <lebot@rpi.edu> wrote:
>>> 
>>>> As an RDFer, the following doesn't look too bad. 
>>>> Ontology-ers will hate it (which is ironic, since they should only be worried about the axioms and not the tokens).
>>>> 
>>>> :activity
>>>>     a prov:Activity;
>>>> 
>>>>     prov:used           :in;
>>>>     prov:usage [ 
>>>>        a prov:Usage;
>>>>        prov:?? :in;           # <--- Suggestions for this predicate very much welcome!
>>>>     ];
>>>> 
>>>>     prov:generated :out;
>>>>     prov:generation [ 
>>>>        a prov:Generation;
>>>>        prov:?? :out;
>>>>     ];
>>>> .
>>>> 
>>>> Short. And parallels even more nicely. I'm sold, Luc!
>>>> 
>>>> 
>>>> -Tim
>>>> 
>>>> 
>>>> 
>>>> On Feb 17, 2012, at 5:09 PM, Luc Moreau wrote:
>>>> 
>>>>> Hi Paul,
>>>>> 
>>>>> 
>>>>> s/Qualified// on properties too
>>>>> 
>>>>> 
>>>>> hadQualifiedXXX -> hadXXX
>>>>> 
>>>>> 
>>>>> And if you said s/had// 
>>>>> Then 
>>>>> 
>>>>> hadQualifiedXXX -> XXX
>>>>> 
>>>>> 
>>>>> Professor Luc Moreau
>>>>> Electronics and Computer Science
>>>>> University of Southampton 
>>>>> Southampton SO17 1BJ
>>>>> United Kingdom
>>>>> 
>>>>> On 17 Feb 2012, at 21:51, "Paul Groth" <p.t.groth@vu.nl> wrote:
>>>>> 
>>>>>> Hi Luc
>>>>>> 
>>>>>> I think we agree that Qualified shouldn't be in front of the class names. In the ontology they aren't.
>>>>>> 
>>>>>> The question is what the predicate should be between the activity and the Involvement subclass?
>>>>>> 
>>>>>> I'm open to suggestions.
>>>>>> Paul
>>>>>> 
>>>>>> On Feb 17, 2012, at 22:35, Luc Moreau <L.Moreau@ecs.soton.ac.uk> wrote:
>>>>>> 
>>>>>>> Hi Tim, Paul
>>>>>>> Still in the spirit of simplification
>>>>>>> 
>>>>>>> used vs Usage
>>>>>>> wasGeneratedBy vs Generation
>>>>>>> 
>>>>>>> Why do we need Qualified? If you say QualifiedGeneration, ... 
>>>>>>> I always expect a UnqualifiedGeneration ..  But there is no such class.
>>>>>>> 
>>>>>>> s/Qualified//
>>>>>>> 
>>>>>>> Luc
>>>>>>> 
>>>>>>> 
>>>>>>> Professor Luc Moreau
>>>>>>> Electronics and Computer Science
>>>>>>> University of Southampton 
>>>>>>> Southampton SO17 1BJ
>>>>>>> United Kingdom
>>>>>>> 
>>>>>>> On 17 Feb 2012, at 18:57, "Timothy Lebo" <lebot@rpi.edu> wrote:
>>>>>>> 
>>>>>>>> 
>>>>>>>> On Feb 17, 2012, at 11:20 AM, Paul Groth wrote:
>>>>>>>> 
>>>>>>>>> Hi Tim, Jim,
>>>>>>>>> 
>>>>>>>>> I like the suggestion a lot. [English teacher verification is good :-) ] Indeed, I was thinking that all the "had" in the ontology were a bit verbose. A blank node may indeed be the best way solve it for having long types.
>>>>>>>> 
>>>>>>>> Blank nodes should not be any way to solve URI length (or any other problem; they should be avoided at all costs).
>>>>>>>> Any occurrence of bnodes in my examples could  just as easily be URIs. I'm just using them for abbreviation to show the structure.
>>>>>>>> 
>>>>>>>> I'm not sure how you interpreted my example as using bnodes to solve a length problem. Could you explain?
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> A couple of questions in your examples:
>>>>>>>>> 
>>>>>>>>> - You have the prov:generated relationship but I don't see that in the ontology file although I do see it in the ProvRDF page? This is issue #98, which has no resolution http://www.w3.org/2011/prov/track/issues/98
>>>>>>>> 
>>>>>>>> Thanks for pointing that out. I agree with the issue and think that it should be added to the ontology as an owl:inverse of prov:wasGeneratedBy.
>>>>>>>> (oh, I created the issue. Glad that I still agree with it!)
>>>>>>>> Though, I'm expecting push back on an inverse being added to the ontology.
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> - You use the relation prov:entity and not prov:hadQualifiedEntity.
>>>>>>>> 
>>>>>>>> prov:entity was the initial stand in. And I'm bringing it up again because it's a "whole lot shorter".
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> This also isn't in the ontology or this a suggestion?
>>>>>>>> 
>>>>>>>> resurrected suggestion.
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> ---
>>>>>>>>> I'm trying to think of other shorter names that convey the same meaning as qualified involvement.
>>>>>>>> 
>>>>>>>> For the class or predicates? For the class, go "Involvement". Short.
>>>>>>>> For the predicate, "qualifiedGeneration / Use" is worth the length in my opinion, because it parallels prov:generated / prov:used in a natural way.
>>>>>>>> 
>>>>>>>> -Tim
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> Just for less typing but clearly I don't want to open a huge debate there.
>>>>>>>>> 
>>>>>>>>> If anyone, comes up with suggestions that would be great. I'll try to think of some myself. But again this may be too picky
>>>>>>>>> 
>>>>>>>>> thanks for the quick response,
>>>>>>>>> Paul
>>>>>>>>> 
>>>>>>>>> Jim McCusker wrote:
>>>>>>>>>> To be clear, we're using "qualified" as a verb, not a noun, which is why
>>>>>>>>>> we can drop "had".
>>>>>>>>>> 
>>>>>>>>>> Jim
>>>>>>>>>> 
>>>>>>>>>> On Feb 17, 2012 8:50 AM, "Timothy Lebo" <lebot@rpi.edu
>>>>>>>>>> <mailto:lebot@rpi.edu>> wrote:
>>>>>>>>>> 
>>>>>>>>>> 1)
>>>>>>>>>> Although it doesn't shorten it up much, I think it is _much_ clearer
>>>>>>>>>> if we drop "had".
>>>>>>>>>> 
>>>>>>>>>> prov:hadQualifiedGeneration -> prov:qualifiedGeneration
>>>>>>>>>> 
>>>>>>>>>> This changes the statement from a passive to active, which will make
>>>>>>>>>> all of my writing teachers happy.
>>>>>>>>>> The Activity qualified its Generation.
>>>>>>>>>> 
>>>>>>>>>> This also parallels the unqualified form nicely ("generated" and
>>>>>>>>>> "qualifiedGeneration") -- a fork in the road with two routes that a
>>>>>>>>>> client can follow, depending on how much detail they want.:
>>>>>>>>>> 
>>>>>>>>>> :my_activity
>>>>>>>>>> a prov:Activity;
>>>>>>>>>> prov:generated :my_entity;
>>>>>>>>>> prov:qualifiedGeneration [
>>>>>>>>>> a prov:Generation;
>>>>>>>>>> prov:entity :my_entity;
>>>>>>>>>> :foo :bar;
>>>>>>>>>> ]
>>>>>>>>>> .
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 2)
>>>>>>>>>> QualifiedInvolvement -> Involvement still makes _complete_ sense,
>>>>>>>>>> since it is inherently qualifying the binary relation. Being an
>>>>>>>>>> Involvement _means_ that you're being pointed at with some
>>>>>>>>>> subproperty of prov:qualifiedInvolvement (e.g. qualifiedGeneration)
>>>>>>>>>> AND you're pointing to the (rdf:object) involvee with, say, prov:entity.
>>>>>>>>>> 
>>>>>>>>>> As for the predicates hanging off of the Involvement, we started
>>>>>>>>>> with just:
>>>>>>>>>> 
>>>>>>>>>> :my_activity prov:qualifiedGeneration [
>>>>>>>>>> a prov:Generation;
>>>>>>>>>> prov:entity :my_entity;
>>>>>>>>>> ]
>>>>>>>>>> 
>>>>>>>>>> but we run into a slight hiccup when we're qualifying the
>>>>>>>>>> Involvement between two Entities b/c we don't know which is the
>>>>>>>>>> rdf:subject and which is the rdf:object of the binary relation we're
>>>>>>>>>> qualifying. However, these situations start to leave core, and a
>>>>>>>>>> qualified involvement between two entities should be some Activity,
>>>>>>>>>> so we can avoid the degenerate Entity-Entity case.
>>>>>>>>>> 
>>>>>>>>>> -Tim
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Feb 16, 2012, at 8:53 AM, Paul Groth wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi All,
>>>>>>>>>>> 
>>>>>>>>>>> The idea behind QualifiedInvolvement is great and it's been
>>>>>>>>>> resolved for a while so I don't want to open it up.
>>>>>>>>>>> 
>>>>>>>>>>> but.... could we get a better name?
>>>>>>>>>>> 
>>>>>>>>>>> The name is long, especially for the properties. So you have to
>>>>>>>>>> write:
>>>>>>>>>>> 
>>>>>>>>>>> ex:activity1 prov:hadQualifiedGeneration ex:g1.
>>>>>>>>>>> ex:g1 prov:hadQualifiedEntity ex:e1.
>>>>>>>>>>> ex:g1 prov:wasGeneratedAt [owlTime:inXSDDateTime
>>>>>>>>>> 2006-01-01T10:30:00-5:00].
>>>>>>>>>>> 
>>>>>>>>>>> could we shorten them up somehow? Any suggestions?
>>>>>>>>>>> 
>>>>>>>>>>> regards,
>>>>>>>>>>> Paul
>>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>> 
>> 

Received on Saturday, 18 February 2012 00:12:07 UTC