Vocabulary to describe networks of people and groups.
Notes:
- This vocabulary is very much in process, as is this documentation.
- Many of the terms will in the future be drawn from an existing vocabulary.
- All examples open in JSON-LD Playground and use context and example files from master branch of this repository.
We are using a class hierarchy of Agent Types: Agent, Person, Organization, Group. We will use existing vocabularies for the top levels. We suggest that people add other types of agents as subclasses of this hierarchy if others are useful.
A Relationship Type is a generic defined relationship that can be had between 2 Agents (or subclasses of). Although it usually is, the relationship does not have to be agreed to from both sides, for example "follow". A Relationship Type can be a direct relationship, like "steward" or "like", or more like a role. Role type Relationship Types are often used for a person's role in an organization or group, for example "grower" or "harvester" for a food network.
The Relationship Type is implemented as a rdf:Property. There are a number of useful properties in existing vocabularies that can be used. Or people can create their own as needed.
These properties are grouped with the rdf:Property that names the relationship type.
- label (rdfs:label)
- inverse label (owl:inverseOf rdfs:label)
- (need to add the source, target, context types.....)
An Agent is an entity that has agency in the economic realm. This could be a person, organization, group, network, etc.
- id
- type
- displayName
- url
- image
- (will be others)
A Relationship in this vocabulary denotes a relationship between 2 Agents of any type. The relationship can be in the context of an Agent that is a context type agent, which would not be a Person. For example, Jane is a mentor of John in the context of the group Enspiral.
- subject (reference to an agent)
- relationship (reference to the relationship type)
- object (reference to an agent)
- context (reference to an agent, optional)