Open mbrush opened 5 years ago
Jotting some considerations / proposals for each Agent subtype:
Things we should support at minimum:
Things we might consider supporting:
Things we should support at minimum:
Things we might consider supporting:
Things we should support at minimum:
Things we might consider supporting:
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.
+1 on supporting ORCID ID
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:
I'm leery of including computational agent.
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.