Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CanLink data - include committee members as person objects #436

Closed
anayram opened this issue Feb 14, 2019 · 11 comments
Closed

CanLink data - include committee members as person objects #436

anayram opened this issue Feb 14, 2019 · 11 comments
Assignees
Labels

Comments

@anayram
Copy link
Member

anayram commented Feb 14, 2019

CanLink data is missing committee members information for University of Alberta theses in ERA.

Committee members are available from:
http://terms.library.ualberta.ca/commiteeMember

Thesis advisor is currently mapped
from:
http://terms.library.ualberta.ca/supervisor
to:
http://id.loc.gov/vocabulary/relators/ths

@danydvd
Copy link
Contributor

danydvd commented Mar 20, 2019

@anayram @sfarnel how does this sound for committee member field?

<rdfs:label xml:lang="en">Committee</rdfs:label>
<rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Group"/>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">
A group of people organized for a specific purpose (e.g., a reporting or advisory role), often with a charge and for a specific duration
</obo:IAO_0000115>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">
A group of people organized for a specific purpose, whose members are often selected from a larger group to serve for designated periods of time.
</obo:IAO_0000115>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">
Curriculum Steering Committee; PhD Advisory Committee
</obo:IAO_0000112>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">
There could be many subclasses such as thesis committee or tenure committee, but these may typically be differentiated via the moniker unless distinct properties become important.
</obo:IAO_0000112>
</owl:Class> 

@sfarnel
Copy link
Member

sfarnel commented Mar 20, 2019

Thanks @danydvd within this is there a way to label individual members? would the idea be that the committee would then have an identifier that could be linked to from individual members of that committee? we'd want to be able to drill down to the individual (although the ability to see groupings is also interesting)

@danydvd
Copy link
Contributor

danydvd commented Mar 20, 2019

@sfarnel We can create a Committee object (which is subclass of foaf:Group) and use foaf:member to point to each member. Each member then would have its own object (just like author/adviser objects). Does that sounds OK?

@sfarnel
Copy link
Member

sfarnel commented Mar 20, 2019

That sounds great @danydvd!

@danydvd
Copy link
Contributor

danydvd commented Mar 22, 2019

Here is a sample of new model:

CANLINK:thesis/b34be774ffa9e55b6d284e973da760cc VIVO:committee CANLINK:committee/f2072128c37103a9e10484cfa3af32b3

CANLINK:committee/f2072128c37103a9e10484cfa3af32b3 VOID:inDataset CANLINK:void/canlinkmaindataset ; rdf:type foaf:Group ; PROVwasGeneratedBy CANLINK:runtime/89dc201c252b90dead72e7efa8f62623 ; foaf:member CANLINK:person/1284c188075537111129ab22715ffbce

CANLINK:person/1284c188075537111129ab22715ffbce VOID:inDataset CANLINK:void/canlinkmaindataset ; rdf:type foaf:Person ; PROVwasGeneratedBy CANLINK:runtime/89dc201c252b90dead72e7efa8f62623 ; foaf:name 'Committee Member name'

Once the reconciliation process is developed (#438 ), owl:sameAs with URIs from VIAF and LC (and probably ORCID) will be added to the person object.

@sfarnel @anayram does this looks fine?

@anayram
Copy link
Member Author

anayram commented Mar 22, 2019

This is great, @danydvd

In order to match the person object model, would it be useful (or doable) to also include
<http://xmlns.com/foaf/0.1/firstName>
and
<http://xmlns.com/foaf/0.1/lastName>
properties?

CANLINK:person/1284c188075537111129ab22715ffbce VOID:inDataset  ;
    CANLINK:void/canlinkmaindataset ;
    rdf:type foaf:Person ;
    PROVwasGeneratedBy CANLINK:runtime/89dc201c252b90dead72e7efa8f62623 ; 
    oaf:name 'Committee Member name'<http://xmlns.com/foaf/0.1/firstName> 'someFirstName' ;
    <http://xmlns.com/foaf/0.1/lastName> 'someLastName' .

And last, (this is probably not an issue but mentioning it just in case), there is a ':' missing after PROV prefixes

Thanks so much @danydvd , looking awesome!

@anayram
Copy link
Member Author

anayram commented Mar 22, 2019

And one question, when generating the new data I imagine there will be many committee members that already have a person object available in the CanLink dataset. Will this process match those so as to not create redundant persons items?

@danydvd
Copy link
Contributor

danydvd commented Mar 22, 2019

Thank you @anayram. The firstname and lastname properties will be added to the object if the process can split the name into firstname / lastname strings (this is the case for every person model).

The process uses a combination of person's name and institution strings to create a md5 hash for any person object. Therefore, if a URI for a person (with work in the same university) already exists, then the same URI will be used. However, if the person has a work (author/adviser/committee member) in another university, then a new URI will be assigned.

@anayram
Copy link
Member Author

anayram commented Mar 22, 2019

Thanks, @danydvd !

@sfarnel
Copy link
Member

sfarnel commented Mar 24, 2019

Thanks @danydvd and @anayram this is looking really great!

@danydvd
Copy link
Contributor

danydvd commented May 3, 2019

The model has been created and data updated

@danydvd danydvd closed this as completed May 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants