AgentType LOD implementation
Taking this off of #9 (closed) and #11 , hoping we can come to a relatively focused decision, keep chipping away. (At least for this stage to move forward with.)
Two views have been expressed:
- @elf-pavlik I think (according to his examples) would rather use foaf:Agent, foaf:Person, etc., and further subclass for agent types not already defined in vocabs. Examples that have come up: Community, POD, Network.
- @ahdinosaur has expressed the perspective of doing what will fit our needs as a priority, and sees that as creating a new AgentType class I believe. I added on to that a property so that we know if the AgentType is a Person or Organization, for which we would use existing classes.
Everyone please correct me if I am mis-representing!
Proposal: We do 1., the subclassing method for this one. (Not the same solution for RelationshipType or other questions of types.) Choose the best existing classes, and define new subclasses in some namespace(s). The namespace might be openvocab, or might be more specific if we have user defined types.
So it would be something like this (citation @elf-pavlik ):
"@id": "ex:openvocab/agenttypes/network",
"@type": "rdfs:Class",
"rdfs:subClassOf": "foaf:Group",
"rdfs:label": {
"en": "Network"
},
Besides being more "standard", I think this is actually cleaner than defining AgentTypes and having to reference if it is a person or organization. In other words, I agree with @ahdinosaur in principal about doing what we think is best, but in this case I like the subclassing anyway.