W3C home > Mailing lists > Public > public-prov-wg@w3.org > February 2012

Re: prov-wg: Another name for Qualified?

From: Timothy Lebo <lebot@rpi.edu>
Date: Fri, 17 Feb 2012 18:47:05 -0500
Cc: Luc Moreau <L.Moreau@ecs.soton.ac.uk>, Jim McCusker <mccusker@gmail.com>, "public-prov-wg@w3.org" <public-prov-wg@w3.org>
Message-Id: <AE1AEEA5-0FC1-4C95-9C56-F6A38436EB39@rpi.edu>
To: Paul Groth <p.t.groth@vu.nl>

On Feb 17, 2012, at 6:19 PM, Paul Groth wrote:

> This may be tangential but why can't we just use the word involved to connect activities to all subclasses of QualifiedInvolvement? e.g.:

you mean to all subclasses of _Involvement_ :-)

Removing the <Range> from a predicate allows you to reuse the predicate for any Range, which I consider to be a good practice.

:joe :hasDog :dog; 
        :hasCat :cat .
:dog a :Dog .
:cat a :Cat .

is easier as:

:joe :has :dog; 
         :has :cat .
:dog a :Dog .
:cat a :Cat .

because, as you point out, you can subselect by including the type of thing in the query:

:joe :has ?x .
?x a :Cat .



> 
> :activity
>     a prov:Activity;
> 
>     prov:used     :in;
>     prov:involved [ 
>        a prov:Usage;
>        prov:entity :in;         
>     ];
> 
> you know what was involved by the type of the QualifiedInvolvement


^^ This has the "involved Involvement" meta oddness that I just described in my previous email.
I would argue that 

:activity prov:involved :in .

not that it involved how it involved something.


perhaps back to "qualified"?

:activity
    a prov:Activity;

    prov:used     :in;
    prov:qualified [ 
       a prov:Usage;
       prov:entity :in;         
    ];

    prov:generated     :out;
    prov:qualified [ 
       a prov:Generation;
       prov:entity :out;         
    ];



(huh, not too bad....)


-Tim



> 
> Paul
> 
> On Feb 17, 2012, at 23:55, 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 Friday, 17 February 2012 23:47:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 13:06:56 GMT