Clarifying vf:Action for HoloREA
Maybe this should be in another repo dedicated to EconomicEvent, but that repo does not exist yet, and issue #57 is closely related.
In ValueFlows UML... ...Action appears to have one and only one attribute, rdfs:label. This is not enough. Action needs to specify at least what is the intended effect on Resources. And I think it would be good to at least suggest a set of Actions that would suffice for most purposes, while allowing for community-specific changes and extensions.
RESOURCE_EFFECT_OPTIONS = ( ('increment', _('Increment')), ('decrement', _('Decrement')), ('none', _('None')), ) @python_2_unicode_compatible class Action(VocabBase): """ vf:Action: https://valueflows.gitbooks.io/valueflows/content/specification/generated-spec.html#d4e688 """ label = models.CharField(_('label'), max_length=255, blank=True, null=True) note = models.TextField(_('note'), blank=True, null=True) resource_effect = models.CharField(_('resource effect'), max_length=16, choices=RESOURCE_EFFECT_OPTIONS)
In NRP, Actions are called EventTypes, and have become fairly elaborate, following Sensorica's requirements. This does not mean that either HoloREA or ValueFlows vocabulary need to do all of those, but HoloREA will need to build in some Actions, and the NRP ones have all worked in some years of experience.
In NRP, the RESOURCE_EFFECT_OPTIONS include:
( ('+', _('increase')), ('-', _('decrease')), ('+-', _('adjust')), ('=', _('no effect')), ('<', _('failure')), ('+~', _('create to change')), ('>~', _('to be changed')), ('~>', _('change')), )
The options with "change" in their label are used for processes where the same resource is both an input and an output, like fixing a bike or editing a translation.
NRP has a set of automatically-created EventTypes, all of which are used by Sensorica. I do not suggest anybody use these without rethinking. Some of them were improvised and should be rethought. But they are an example of the full set of actions that one active network needed.
- 'Citation', resource_effect: '='
- 'Resource Consumption', resource_effect: '-'
- 'Damage', resource_effect: '-'
- 'Failed quantity', resource_effect: '<'
- 'Resource Production', resource_effect: '+'
- 'Receipt', resource_effect: '+'
- 'Resource use', resource_effect: '='
- 'Time Contribution', resource_effect: '='
- 'Create Changeable', resource_effect: '+~'
- 'To Be Changed', resource_effect: '>~'
- 'Change', resource_effect: '~>'
- 'Adjust Quantity', resource_effect: '+-'
- 'Distribution', resource_effect: '+'
- 'Cash Disbursement', resource_effect: '-'
- 'Payout', '-'
- 'Give', resource_effect: '-'
- 'Receive', resource_effect: '+'
(Edited to conform to @fosterlynn 's corrected list below, which means that her comment that "Many of those are no longer valid in Sensorica's NRP"...etc might not make total sense anymore, but it does for people who saw the first version of my comment. I'd like this comment to still be useful.)