data2health / contributor-attribution-model

A simple data model to represent contributions made by agents to research artifacts
3 stars 0 forks source link

Requirements for modeling 'Agent' and its Subtypes #2

Open mbrush opened 5 years ago

mbrush commented 5 years ago

We need to define at least minimal models for agents - including an abstract (non-instantiated) 'Agent' class, with concrete (instantiated) subclasss representing a 'Person', 'Organization', and 'Computational Agent'. Think about existing standards we want to use/recommend here - e.g. foaf or VIVO/openRIF for rep of a Person?

In the prototype data model I crated placeholder Classes for each with some arbitrarily chosen properties. But these are entirely uninformed by any requirements - we need to better understand these to determine how complex/rich to make these objects in our model. Some CQs and use cases would really help here.

mbrush commented 5 years ago

Jotting some considerations / proposals for each Agent subtype:

Model for a 'Person'

Things we should support at minimum:

Things we might consider supporting:


Model for an 'Organization'

Things we should support at minimum:

Things we might consider supporting:


Model for a 'Computational Agent'

Things we should support at minimum:

Things we might consider supporting:

mbrush commented 5 years ago

W.r.t. Person affiliation/memberships, I suspect this may be an important thing to support to enable faceted queries and analyses based on contributor membership/affiliation status. If so, perhaps we create a more lightweight/direct model for now (i.e. simple memberOf and professionalTitle attributes hanging from the Person), but then target a richer model for v2?

Here we might define a reified 'Affiliation' and/or 'Membership' object to capture the details of these relationships (e.g. the straw man here). And perhaps the same for professional status/role history. I'm pretty sure VIVO and/or other efforts have done some modeling in these areas we could use or learn from.

diatomsRcool commented 5 years ago

+1 on supporting ORCID ID

mbrush commented 5 years ago

On 8-13 call we decided that it is not our primary scope to provide a detailed model for Agents and Agent sub-types. We should provides 'stub' types/classes for Agent, Person, Organization, and Computational Agent. The parent 'Agent' abstract class will minimally these will the following attributes:

Subtypes may provide minimal extensions to these base attributes and their recommended constraints, or not - t.b.d. what these might be (e.g. ORCIDs for persons)

Our documentation will recommend that specific implementations extend this minimal model based on their application requirements. If orthogonal efforts (e.g. ORCID) wish to develop a standard in this area, we can evaluate and decide if/how we want to recommend its use.

TO DO:

diatomsRcool commented 5 years ago

I'm leery of including computational agent.