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

Re: PROV-ISSUE-520: Data Model Section 5.3.1 [prov-dm]

From: Paul Groth <p.t.groth@vu.nl>
Date: Wed, 10 Oct 2012 12:06:03 +0200
Message-ID: <CAJCyKRq0Wb7W73-yx43gnv91tLOF62KZ_ik0MYPjwj7obuW-mQ@mail.gmail.com>
To: "Freimuth, Robert, Ph.D." <Freimuth.Robert@mayo.edu>
Cc: "public-prov-wg@w3.org" <public-prov-wg@w3.org>
Hi Robert,

Sorry for the delayed reply. In an object oriented implementation, one
could see an Agent as an interface. That way you can just test if a
particular entity implements the agent interface. Anyway, that's one
way to do it.

cheers
Paul

On Wed, Oct 3, 2012 at 9:21 PM, Freimuth, Robert, Ph.D.
<Freimuth.Robert@mayo.edu> wrote:
> Hi Paul,
>
> Thanks for the RDF example.  However, as I am considering PROV for use within a clinical environment, my implementation would be relational and most likely object-oriented.  (In fact, this is the primary motivation for my focus on the DM doc.)  In that case, will I have to perform two separate queries to find instances of the person as both an entity and as an agent?
>
> More to the point, I am concerned that giving users the freedom to instanciate the same "thing" in multiple ways will pose interoperability and aggregation problems later on.
>
> Thanks,
> Bob
>
>
>> -----Original Message-----
>> From: pgroth@gmail.com [mailto:pgroth@gmail.com] On Behalf Of
>> Paul Groth
>> Sent: Wednesday, October 03, 2012 2:04 PM
>> To: Freimuth, Robert, Ph.D.
>> Cc: public-prov-wg@w3.org
>> Subject: Re: PROV-ISSUE-520: Data Model Section 5.3.1 [prov-dm]
>>
>> Hi Robert
>>
>> Hmm... in RDF speak you would ask for something like
>>
>> select * where {ex:Jim rdf:type ?type}
>>
>> you would get back that Bob is both an entity and an agent.
>>
>> then if you wanted to find the cases where ex:Jim was only an agent
>> then you would write
>>
>> select * where {ex:Jim rdf:type prov:Agent. ex:Jim ?p ?o}
>>
>> so this would work fine...
>>
>> Paul
>>
>> On Wed, Oct 3, 2012 at 8:53 PM, Freimuth, Robert, Ph.D.
>> <Freimuth.Robert@mayo.edu> wrote:
>> > Hi,
>> >
>> > I understand the distinction PROV makes between entities and agents,
>> > regarding responsibility.  However, I am concerned
>> (confused?) that this
>> > might make it difficult to implement consistently, which
>> will ultimately
>> > hinder interoperability.
>> >
>> > For example, let's say I define a person as an entity
>> (because that person
>> > bears no responsibility in the provenance assertions I
>> publish) but a
>> > colleague defines the same person as an agent.  If I wanted
>> to query my
>> > provenance system for the person in question, will I have
>> to perform two
>> > separate queries to find instances of the person as both an
>> entity and as an
>> > agent?
>> >
>> > Thanks,
>> > Bob
>> >
>> >
>> > ________________________________
>> > From: public-prov-wg-request@listhub.w3.org
>> > [mailto:public-prov-wg-request@listhub.w3.org] On Behalf Of
>> Luc Moreau
>> > Sent: Tuesday, September 25, 2012 4:34 AM
>> > To: public-prov-wg@w3.org
>> > Subject: Re: PROV-ISSUE-520: Data Model Section 5.3.1 [prov-dm]
>> >
>> > Hi all,
>> >
>> > I have drafted a response to this issue on the wiki at:
>> >
>> http://www.w3.org/2011/prov/wiki/ResponsesToPublicComments#ISS
>> UE-520_.28Person.2FOrganization.2FSoftwareAgent.29
>> > I copy the text below for your convience.
>> >
>> > Feedback, suggestions welcome.
>> > Luc
>> >
>> >
>> > ISSUE-520 (Person/Organization/SoftwareAgent)
>> >
>> > Original email:
>> > http://lists.w3.org/Archives/Public/public-prov-wg/2012Sep/0110.html
>> > Tracker: http://www.w3.org/2011/prov/track/issues/520
>> > Group Response:
>> >
>> > The reason why the WG introduced agents in the PROV model
>> is to be able to
>> > assign responsibility for an activity taking place, for the
>> existence of an
>> > entity, or for another agent's activity.
>> > For inter-operability reason, the WG also believed it is
>> useful to define
>> > commonly encountered types of agents: Person, SoftwareAgent, and
>> > Organization. Agents of type prov:Person are people responsible for
>> > something; agents of type prov:SoftwareAgent are running software
>> > responsible for something; etc
>> > Given this, it is not appropriate to make
>> Person/SoftwareAgent/Organization
>> > subtypes of Entity, since entities by default do not bear
>> responsibility in
>> > the PROV model. It is the notion of prov:Agent that carries
>> responsibility,
>> > in PROV.
>> > If one wishes to introduce a type of person, as an entity, without
>> > associating any responsibility, then there are ontologies,
>> outside PROV,
>> > which allow for that. FOAF concepts such as foaf:Person,
>> foaf:Organization
>> > may be relevant. With these, one can write entity(e,
>> > [prov:type='foaf:Person'])
>> >
>> > References:
>> >
>> > foaf:Person: http://xmlns.com/foaf/spec/#term_Person
>> > foaf:Organization: http://xmlns.com/foaf/spec/#term_Organization
>> >
>> > References:
>> > Proposed changes: none
>> > Original author's acknowledgement:
>> >
>> >
>> >
>> > On 10/09/2012 09:47, Provenance Working Group Issue Tracker wrote:
>> >
>> > PROV-ISSUE-520: Data Model Section 5.3.1   [prov-dm]
>> >
>> > http://www.w3.org/2011/prov/track/issues/520
>> >
>> > Raised by: Luc Moreau
>> > On product: prov-dm
>> >
>> >
>> >
>> http://www.w3.org/2011/prov/wiki/LC_Feedback#Data_Model_Section_5.3.1
>> >
>> > ISSUE-463
>> >
>> > Given their definitions, Entities (or Activities) act as Agents for
>> > Activities. Since Person, Software, and Organization all
>> fit the definition
>> > of Entity, I believe they should be specializations of
>> Entity rather than
>> > Agent, which is a role that Entities can play in a given context.
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > --
>> > Professor Luc Moreau
>> > Electronics and Computer Science   tel:   +44 23 8059 4487
>> > University of Southampton          fax:   +44 23 8059 2865
>> > Southampton SO17 1BJ               email: l.moreau@ecs.soton.ac.uk
>> > United Kingdom                     http://www.ecs.soton.ac.uk/~lavm
>> >
>>
>>
>> --
>> --
>> Dr. Paul Groth (p.t.groth@vu.nl)
>> http://www.few.vu.nl/~pgroth/
>> Assistant Professor
>> - Knowledge Representation & Reasoning Group |
>>   Artificial Intelligence Section | Department of Computer Science
>> - The Network Institute
>> VU University Amsterdam
>>



-- 
--
Dr. Paul Groth (p.t.groth@vu.nl)
http://www.few.vu.nl/~pgroth/
Assistant Professor
- Knowledge Representation & Reasoning Group |
  Artificial Intelligence Section | Department of Computer Science
- The Network Institute
VU University Amsterdam
Received on Wednesday, 10 October 2012 10:06:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:58:19 UTC