Open xgmachina opened 9 years ago
Now that role_type is a first-class object in the database, please inform whether all role_types presented need to be called out in the GCIS Ontology. I ask because all role types in the ontology are assigned to be subclasses of prov:Role. Alternatively stated, could the Ontology contain some role types (subclass prov:Role) and not other “roles?”
I support the idea to define a list of subclasses of prov:Role
for organizing the various types of roles.
I think I support the suggestion but I would prefer we work through an example before closing this issue.
+1 to @zednis. @justgo129 can we get some examples of those roles that represent different types?
http://data.globalchange.gov/role_type
We may need to discuss this issue prior to the taking of any action though.
Also pertains to #127 and #128.
I think if a certain number of instances all have the same role_type, it's better if we just define this role_type as a subclass of prov:Role
.
http://data.globalchange.gov/role_type My question is, would these be all the role_types? What if we have more role_types in the future. Is it good practice to mix role_types at instance level and role_types at ontology level? Or do we want to add a new role_type subclass at the ontology level every time we have a new role_type instance?
Thanks, @lic10. I'll defer to @aulenbac on this one.
@zednis I'll defer this your way.
summary: Right now we have role instances in the database. All role instances have type prov:Role
(and nothing more specific). As of right now we have no hierarchy for roles. There is no more relationship between "lead author" and "author" as there is between "funding agency" and "engineer".
If we have no need of a role hierarchy then we can leave the system as-is and close this ticket.
One potential use case would be to return all authors for a given report. There are 4 role instances that would make sense to use in this query - "Coordinating Lead Author", "Convening Lead Author", "Contributing Author", and "Author". Right now you would have to code the query to look for any of the 4 role instances (or do a string match on "Author" in the role label...) to get the desired results. If these 4 instances had type gcis:Author
(subclass of prov:Role
) the query could be simplified and would would be less fragile to updates to the role instance list.
So, I think I am for defining some subclasses of `prov:Role
. We should develop some scenarios where a subclass makes sense. I don't thin we will need a big or deep hierarchy; let's look at the current instance list and see where groups / classifications make sense.
I agree with @zednis and believe that taking such an approach would better suit user needs. This is because of my concern lies with the lack of official definitions. The "Coordinating Lead Author" for a chapter in one report may actually be performing the duties of a "lead author" in another report. I would be fine keeping the db as is but making the change solely in the turtle templates, doing something like in pseudocode:
% for Role = {"Coordinating Lead Author", "Lead Author," etc.} { prov:Role <<URI(Role==gcis:Author}>> ; % }
I think it would make sense to add the following subclasses of prov:Role
- gcis:Author
, gcis:Editor
.
edit - maybe gcis:Contributor
? (not sure on the instances that would have this type)
edit 2 - Author could be subclass of Contributor... I think we need some use cases. What would we expect to get if we queried "show me all contributors to this report, chapter, dataset, figure, report, etc?")
@justgo129 is working on this and will report back.
Hopefully this will facilitate closing the ticket: https://github.com/USGCRP/gcis-ontology/wiki/Role-Hierarchies---DRAFT
I think we can close #102 given recent enhancements - could @rewolfe and/or @zednis confirm?
An expansion of new D5: We have expanded GCIS to include many roles, including “coordinating lead author,” “lead agency,” etc. See: http://data.globalchange.gov/role_type
Would we need special classes for each in the ontology? We don’t always know what those responsibilities entail.