Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upBryce review from rOpenSci onboarding #9
Comments
|
These issues are now resolved and approved. |
In addition to the changes below, the reviewers have inspired me to add a few further bits of functionality, documented now in NEWS.md
Added (using
citation("rdflib"), note that if accepted to JOSS I will also add a CITATION file which will update this record.Fixed (release dates added, divided into sections (feature vs bug fix etc))
rdf_adddocumentation actually covers blank nodes already but I've extended it significantly (as Anna also suggested) to highlight this use.The redland methods actually automatically Duck Type nodes, (things that look like URIs are typed as such, non-URIs in subject are typed as Blank, etc). This can be specified explicitly instead using
subjectTypeandobjectTyperespectively (e.g. if you want a URL to be treated as a literal).So technically JSON-LD is just one way to serialize RDF; I chose that serialization because I felt it would be more familiar / intuitive to readers than to show all the RDF is, say,
nquadsorturtle.However, I think Anna nailed the bigger issue here, which is the real lack of conceptual introduction to RDF. To me, the current vignette is basically more-or-less a SPARQL query tutorial, trying to make the point that JSON-LD is a kind of RDF and can be fun to query with SPARQL. To address the real lack of conceptual intro I'm adding a very different vignette focused on introducing RDF as a way of thinking about data for readers who come from a tabular / relational / tidyverse orientation. Hope this addresses the issue.
Lower level
Seems to be a bug in Redland serializer/parser for nquads and ntriples (we have to go through the nquads when working with JSON-LD). Bug filed: ropensci/redland-bindings#62, but also added what I hope is a solid work-around by just re-parsing these strings into UTF-8. At least resolves the issues seen in the Vignette example
Note as stated in the help file,
doccould also be a literal text string instead of a path. This same ambiguity / flexibility is found injsonldR package, which also uses the termdocso I have borrowed that.Very good point! I now call the argument
rdfwhenever it refers to anrdfobject.Assuming you installed with
install_github(), default isbuild_vignettes = FALSE, so the vignette was not installed. Once on CRAN (or ropensci drat) vignettes will be prebuilt and installed byinstall.packages()The CRAN policy on tests involving calls to an external internet resource is a bit unclear, but these usually pass so I may as well leave it in. (For some reason,
skip_on_cran()also makes this get skipped by default testing? A comment added to this effect.This is a fair question, as you observe they don't take "Thin API Clients" and "Minor Utility packages", though an implementation need not be "novel."
Actually, I'm now wondering if it would better to submit the longer, new vignette as a separate piece to R Journal, in lieu of JOSS. This would need some substantial revising to be more journal style than blog style, but I believe falls within the scope of several of their topic areas (listed below; would love to recruit Bryce & Ana as co-authors in such an effort).
Reviews and proposals:
surveying and discussing challenges and opportunities of potential importance for the broader R community, including proposals and proof-of-concept implementations.
Comparisons and benchmarking:
of implementations in base-R and contributed packages with each other, and where relevant with implementations in other software systems.
Applications:
demonstrating how new or existing techniques can be applied in an area of current interest using R, providing a fresh view of such analyses in R that is of benefit beyond the specific application.
Add-on packages:
short introductions to contributed R packages that are already available on CRAN or Bioconductor, and going beyond package vignettes in aiming to provide broader context and to attract a wider readership than package users.