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

Contributors should reference Agents, not a string literal list of authors #160

Open
jeswr opened this issue Jun 7, 2024 · 5 comments
Open
Assignees
Milestone

Comments

@jeswr
Copy link
Member

jeswr commented Jun 7, 2024

The range of dc:contributor is dc:Agent so I would expect the result of executing the query to be a set of triples whose objects are the URIs of the authors

npx -p @comunica/query-sparql comunica-sparql https://w3id.org/dpv "CONSTRUCT WHERE { <https://w3id.org/dpv#ServiceProvision>  <http://purl.org/dc/terms/contributor> ?o }"

Instead the result is

<https://w3id.org/dpv#ServiceProvision> <http://purl.org/dc/terms/contributor> "Harshvardhan J. Pandit, Javier Fernández, Axel Polleres, Elmar Kiesling, Fajar Ekaputra, Simon Steyskal".
@coolharsh55
Copy link
Collaborator

https://www.dublincore.org/specifications/dublin-core/dcmi-terms/terms/contributor/ says it is 'range includes' dct:Agent instead of just 'range', so we can use other objects/literals here?

@jeswr
Copy link
Member Author

jeswr commented Jun 7, 2024

True, and this is not a major issue - it would just be cleaner to go with the suggested class and describe as much data as possible in RDF rather than putting it into a string literal.

For reference it is dcam:rangeIncludes which is described as follows.

dcam:rangeIncludes
    dcterms:issued "2020-01-20"^^<http://www.w3.org/2001/XMLSchema#date> ;
    a rdf:Property ;
    rdfs:comment "A suggested class for values of this property."@en ;
    rdfs:isDefinedBy <http://purl.org/dc/dcam/> ;
    rdfs:label "Range Includes"@en .

@coolharsh55 coolharsh55 added todo and removed question labels Jun 7, 2024
@coolharsh55 coolharsh55 added this to the dpv v2.1 milestone Jun 7, 2024
@coolharsh55
Copy link
Collaborator

Thanks. This requires lots of changes to the work flow we have. All doable I think. So I've put it as to do for the next release.

@coolharsh55
Copy link
Collaborator

Notes for implementation:

  1. The contributor strings are what is recorded in the spreadsheet. They are a comma separated set of names
  2. In vocab_func script to generate the RDF, split the string on comma as a separator and for each name, create an instance of dct:Agent with the name as its dct:title, and add these triples as dct:contributor
  3. In marco_term_table which generates the HTML for terms in specs, for contributors retrieve the 'list' (use ensure_list) and select dct_title for each. Same for the ReSpec metadata in each template. Better to create a function (jinja filter) called retrieve_contributors which takes a term and returns a list of strings representing names of contributors
  4. Ensure that the new instances are not being list as being part of the vocabulary e.g. in external concepts

@TallTed
Copy link
Member

TallTed commented Jun 10, 2024

  1. In marco_term_table which generates the HTML for terms in specs...

s/marco_term_table/macro_term_table/, I think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants