- From: Timothy Lebo <lebot@rpi.edu>
- Date: Fri, 17 Feb 2012 18:47:05 -0500
- To: Paul Groth <p.t.groth@vu.nl>
- 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>
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 UTC