USGCRP / gcis-ontology

Ontology for the Global Change Information System
4 stars 7 forks source link

D5 role types #102

Open xgmachina opened 9 years ago

xgmachina commented 9 years ago

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.

xgmachina commented 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?”

xgmachina commented 9 years ago

I support the idea to define a list of subclasses of prov:Role for organizing the various types of roles.

zednis commented 9 years ago

I think I support the suggestion but I would prefer we work through an example before closing this issue.

xgmachina commented 9 years ago

+1 to @zednis. @justgo129 can we get some examples of those roles that represent different types?

justgo129 commented 9 years ago

http://data.globalchange.gov/role_type

We may need to discuss this issue prior to the taking of any action though.

justgo129 commented 9 years ago

Also pertains to #127 and #128.

congruili commented 9 years ago

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?

justgo129 commented 9 years ago

Thanks, @lic10. I'll defer to @aulenbac on this one.

justgo129 commented 8 years ago

@zednis I'll defer this your way.

zednis commented 8 years ago

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.

justgo129 commented 8 years ago

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}>> ; % }

zednis commented 8 years ago

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 commented 8 years ago

@justgo129 is working on this and will report back.

justgo129 commented 8 years ago

Hopefully this will facilitate closing the ticket: https://github.com/USGCRP/gcis-ontology/wiki/Role-Hierarchies---DRAFT

justgo129 commented 8 years ago

I think we can close #102 given recent enhancements - could @rewolfe and/or @zednis confirm?