The agent vocabulary describes networks of people, organizations and networks, constructed using a simple but powerful model of agents and their relationships.
In ValueFlows, we are talking about economic agents, agents who can create or exchange value, and make agreements with each other - who have economic agency. But we want to re-use existing vocabularies for commonly defined things, so we have elected to use those as much as possible here, even though they tend to be more broadly defined.
We also want to acknowledge that some people prefer to think of themselves as independent and decentralized agents who interact in different places in the economy as individuals, and some people think of themselves more as members of different groups and networks and communities and interact more in the context of those groups and networks and communities. Many experiments are going on as people strive towards another economy. We want to support all these experiments, so want to support both of these ways of thinking and organizing ourselves. The agent vocabulary is very flexible, and will support these as well as current conventional structures.
So, if people want to form a group that has agency as a group, fine. If people want to consider that their group does not have agency as a group, also fine. Not all groups, and especially not all networks, will be vf:Agents. That depends on the agreement of the people in the group. Note that within the vocabulary, network formations will appear, as agents have economic interactions with each other in the world. This does not mean that the network is necessarily a vf:Agent.
Agent relationships have many nuances, thus the ability to define one's own kinds of relationships. For example people might "participate" with an organization by means of agreeing to terms and conditions. Or people might have more active "membership" in a group or organization. Or people might consider themselves members but want a more independently flavored term such as "affiliates".
A relationship can be direct, like "steward", or more like a role, for example "grower" or "harvester" for a food network.
There are a number of useful Properties in existing vocabularies that can be used. Or people can create their own as needed.
Relationships have direction: For example, in "Michael is a member of Enspiral", Michael is the subject and Enspiral is the object. In this case the inverse is also valid, "Enspiral has member Michael".
Relationships can be in a context (or not): For example, "Kathy is mentor of Sam, in the context of Enspiral."
# Example: Agents and Agent Relationships '@context': - https://git.io/vf-examples-jsonld-context - alice: https://alice.example/ bob: https://bob.example/ fablab: https://fablab.example/ coop: https://coop.example/ '@id': rgh:valueflows/valueflows/master/examples/agent.yaml '@graph': # Agents - '@id': https://alice.example/ '@type': foaf:Person name: 'Alice' image: https://alice.example/avatar.png primaryLocation: https://somelocation.example skos:note: Alice is a mechanical engineer who likes to work in the fablab. - '@id': https://bob.example/ '@type': foaf:Person name: 'Bob' - '@id': https://fablab.example/ '@type': org:Organization name: Driftless Fablab - '@id': https://coop.example/ '@type': org:Organization name: Community Tool Lending Coop # Roles - '@id': fablab:52f0e212-3c4f-4d27-b345-5e964c135824 '@type': AgentRelationshipRole name: member rdfs:label: is member of inverseLabel: has member skos:note: Both persons and organizations can be members of this fablab. - '@id': fablab:02b39a30-3e04-4305-9656-7f261aa63c84 '@type': AgentRelationshipRole name: trading partner rdfs:label: is supplier of inverseLabel: is customer of - '@id': fablab:a25500e0-0106-43cd-8cbb-e74779488835 '@type': AgentRelationshipRole name: mentor rdfs:label: mentors inverseLabel: has mentor # Relationships - '@id': fablab:6b97b1be-8e07-44ac-82e5-214f1b2aaf33 '@type': AgentRelationship subject: https://alice.example/ relationship: fablab:52f0e212-3c4f-4d27-b345-5e964c135824 # member object: https://fablab.example/ - '@id': fablab:a8236bbb-81e0-422d-9861-56d2417db0fb '@type': AgentRelationship subject: https://coop.example/ relationship: fablab:02b39a30-3e04-4305-9656-7f261aa63c84 # trading partner object: https://fablab.example/ skos:note: The coop is a supplier of tools for the fablab. - '@id': fablab:6f438393-7f87-4914-806c-e23a4fd15e89 '@type': AgentRelationship subject: https://alice.example/ relationship: fablab:a25500e0-0106-43cd-8cbb-e74779488835 # mentor object: https://bob.example/ inScopeOf: https://fablab.example/ skos:note: Alice mentors Bob at the fablab.