-
-
Notifications
You must be signed in to change notification settings - Fork 104
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
Submission: virtuoso #271
Comments
thanks for your submission - we're discussing |
Editor checks:
Editor commentsThank you for the submission @cboettig! Here is the output from goodpractice. There is no need to address them now, as this is information for the reviewers.
I'll be seeking for reviewers now, and update the information. Reviewers: @edgararuiz @czeildi |
Reviewers assigned! Reviewers: @edgararuiz @czeildi We are extending a little bit the due date because of the holidays. |
Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing: 6 Review CommentsIn general the package has extensive documentation and easy-to-follow code, it is a pleasure to review! I tried the package on my mac. Documentation
Usage
Code
testthat::teardown(vos_kill())
styleIn general the code is very easily readable. However, code style is not fully consistent. Examples: space after
|
Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing: Review CommentsTest results4 tests fail. I tested it on my Windows laptop. Something I noticed is that I
FunctionalitySome of the funcitonality works, but not all of what is shown in the README. Here is a library(virtuoso)
vos_start()
#> Error in vos_start(): Virtuoso installation not detected. See vos_install()
vos_install()
vos_start()
#> PROCESS 'virtuoso-t', running, pid 2884.
#> Server is now starting up, this may take a few seconds...
#> latest log entry: 11:06:25 Server exiting
#> Error: No such process, pid 2884, ???
con <- vos_connect()
DBI::dbGetQuery(con, "SPARQL SELECT * WHERE { ?s ?p ?o } LIMIT 4")
#> s
#> 1 http://www.openlinksw.com/virtrdf-data-formats#default-iid
#> 2 http://www.openlinksw.com/virtrdf-data-formats#default-iid-nullable
#> 3 http://www.openlinksw.com/virtrdf-data-formats#default-iid-nonblank
#> 4 http://www.openlinksw.com/virtrdf-data-formats#default-iid-nonblank-nullable
#> p
#> 1 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> 2 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> 3 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> 4 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> o
#> 1 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
#> 2 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
#> 3 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
#> 4 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
example <- system.file("extdata", "person.nq", package = "virtuoso")
vos_import(con, example)
#> Error: <SQL> 'ld_dir('C:/Users/edgar/AppData/Local/Virtuoso/Virtuoso/Cache/c990c6c99cd92278bde129f6fedd5b65', '*', 'rdflib')'
#> nanodbc/nanodbc.cpp:1587: 42000: [OpenLink][Virtuoso ODBC Driver][Virtuoso Server]FA003: Access to 'C:\Users\edgar\AppData\Local\Virtuoso\Virtuoso\Cache\c990c6c99cd92278bde129f6fedd5b65' is denied due to access control in ini file
vos_query(con,
"SELECT ?p ?o
WHERE { ?s ?p ?o .
?s a <http://schema.org/Person>
}")
#> [1] p o
#> <0 rows> (or 0-length row.names) Created on 2019-01-21 by the reprex package (v0.2.1) |
@cboettig Reviews have been completed. Please, perform the corresponding changes, and comment again answering the reviewers with your updates. |
Thanks both, this is super helpful. @edgararuiz , I'm traveling at the the moment so won't have access to my Windows machine until next week when I can poke around more. Definitely should not have to re-install each time though! A few questions meanwhile that can help me debug:
readLines( file.path(virtuoso:::vos_logdir(), "virtuoso.log")) From the log above, it looks like Virtuoso is installed and starts up but then shuts down. I think this is due to a file permission error somewhere, but I'm not quite sure where.
virtuoso:::find_virtuoso_ini()
virtuoso:::vos_db()
virtuoso:::vos_logdir() Each of those should return file path -- can you determine if your user has write permissions to each of those locations? Thanks! |
Hi, sorry for the delay in the response, I've been out of town In a new R session, when I run readLines( file.path(virtuoso:::vos_logdir(), "virtuoso.log"))
[1] ""
[2] "\t\tThu Jan 31 2019"
[3] "15:45:58 [Using virtuoso.ini in C:\\Users\\edgar\\AppData\\Local\\Virtuoso\\Virtuoso]"
[4] "15:45:58 { Loading plugin 1: Type `plain', file `wikiv' in `C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting'"
[5] "15:45:58 WikiV version 0.6 from OpenLink Software"
[6] "15:45:58 Support functions for WikiV collaboration tool"
[7] "15:45:58 SUCCESS plugin 1: loaded from C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting\\wikiv.dll }"
[8] "15:45:58 { Loading plugin 2: Type `plain', file `mediawiki' in `C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting'"
[9] "15:45:58 MediaWiki version 0.1 from OpenLink Software"
[10] "15:45:58 Support functions for MediaWiki collaboration tool"
[11] "15:45:58 SUCCESS plugin 2: loaded from C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting\\mediawiki.dll }"
[12] "15:45:58 { Loading plugin 3: Type `plain', file `creolewiki' in `C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting'"
[13] "15:45:58 CreoleWiki version 0.1 from OpenLink Software"
[14] "15:45:58 Support functions for CreoleWiki collaboration tool"
[15] "15:45:58 SUCCESS plugin 3: loaded from C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting\\creolewiki.dll }"
[16] "15:45:58 { Loading plugin 4: Type `plain', file `im' in `C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting'"
[17] "15:45:58 IM version 0.6 from OpenLink Software"
[18] "15:45:58 Support functions for Image Magick 6.9.9"
[19] "15:45:58 SUCCESS plugin 4: loaded from C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting\\im.dll }"
[20] "15:45:58 { Loading plugin 5: Type `plain', file `wbxml2' in `C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting'"
[21] "15:45:58 WBXML2 version 0.9 from OpenLink Software"
[22] "15:45:58 Support functions for WBXML2 0.9.2 Library"
[23] "15:45:58 SUCCESS plugin 5: loaded from C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\hosting\\wbxml2.dll }"
[24] "15:45:58 OpenLink Virtuoso Universal Server"
[25] "15:45:58 Version 07.20.3217-threads for Win64 as of Sep 6 2017"
[26] "15:45:58 uses parts of OpenSSL, PCRE, Html Tidy"
[27] "15:45:58 Database version 3126"
[28] "15:45:58 SQL Optimizer enabled (max 1000 layouts)"
[29] "15:45:59 Compiler unit is timed at 0.000137 msec"
[30] "15:46:01 Roll forward started"
[31] "15:46:01 3 transactions, 185 bytes replayed (100 %)"
[32] "15:46:01 Roll forward complete"
[33] "15:46:02 PL LOG: Can't get list of vad packages in C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\vad/"
[34] "15:46:02 Checkpoint started"
[35] "15:46:02 Checkpoint finished, log reused"
[36] "15:46:02 HTTP/WebDAV server online at 8890"
[37] "15:46:02 Server online at 1111 (pid 8120)" If I restart R, and just run Error in vos_start() :
Virtuoso installation not detected. See vos_install() The log does not have any new entries. Here are the results of the other commands you requested to run: > virtuoso:::find_virtuoso_ini()
[1] "C:\\Program Files\\OpenLink Software\\Virtuoso OpenSource 7.20\\database\\virtuoso.ini"
> virtuoso:::vos_db()
[1] "C:\\Users\\edgar\\AppData\\Local\\Virtuoso\\Virtuoso"
> virtuoso:::vos_logdir()
[1] "C:\\Users\\edgar\\AppData\\Local\\Virtuoso\\Virtuoso\\Logs" |
@edgararuiz No worries and thanks! I think I have resolved some of these issues now, though I still have a few edge cases to work out, (including appveyor). Can you test the install_github("cboettig/virtuoso@ropensci-review") There's still one case I'm working on, if virtuoso server is already running but not controlled by the R session (e.g. because the user doesn't uncheck the box or an R session doesn't shut down properly after starting one), then currently Thanks for this report. I'll ping soon when I have a few more things ironed out. |
@edgararuiz Okay, can you install @czeildi Thanks for the stellar review, I think I've addressed each of the issues you've raised now as well. you can see all the changes I've made in response to both of your reviews so far in this open PR, ropensci/virtuoso#25, hopefully makes it somewhat easier to track. For Ildikó 's review, I've summarized the changes point-by-point in the associated issue. Thanks both for all the super constructive testing. Edgar, hope we've got this working more robustly on Windows now as well, but looking forward to your testing as this kind of thing is particularly tricky to get the cross-platform details working with so much system-specific operations, (even once I've satisfied Appveyor and my local Windows 10 box) |
@cboettig I checked your pull request, looks great, now I am happy to recommend approving virtuoso. Thanks for replying point-by-point and in detail. I found one small typo: in Regarding the datalake article:
|
I'm getting the follow when using the new branch:
|
Thanks, hm, can you double check you are using the version installed from
the branch and not from master?
On Sun, Feb 17, 2019 at 11:12 AM Edgar Ruiz ***@***.***> wrote:
@cboettig <https://github.com/cboettig> -
I'm getting the follow when using the new branch:
vos_install()
downloading Virtuoso_OpenSource_Server_7.20.x64.exe ...
Error in curl::curl_fetch_disk(url, dest) :
Timeout was reached: Connection timed out after 10625 milliseconds
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#271 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AANleqYUn9RETqH-Fz_eu5udeuPR-gXlks5vOamogaJpZM4ZAF89>
.
--
---
Carl Boettiger
http://carlboettiger.info/
|
Yes sir, here's a devtools::install_github("cboettig/virtuoso@ropensci-review")
#> Skipping install of 'virtuoso' from a github remote, the SHA1 (c0296369) has not changed since last install.
#> Use `force = TRUE` to force installation
library(virtuoso)
vos_install()
#> downloading Virtuoso_OpenSource_Server_7.20.x64.exe ...
#> Error in curl::curl_fetch_disk(url, dest): Timeout was reached: Connection timed out after 10016 milliseconds Created on 2019-02-17 by the reprex package (v0.2.1) |
@edgararuiz very weird. Still works for me, and the current branch also has a fallback mechanism it should use if the binary really was not reproducible, so this error looks like only what I can get on master branch. You also restarted R as well? Can you show me what you see by running
you might also check if you can access that download URL? Is it possible you have some firewall settings that prevent downloads from sourceforge (and github??) (note that on the other hand, the sourceforge URL in the branch on master has moved, and had not fallback URL, so it should create the exact timeout error you see). Sorry for the trouble! |
Hi @cboettig , it's all good now. For some reason the The short of it, is that I'm good to go with this version, I was able to run some basic stuff, with out problems: library(virtuoso)
vos_start()
#> PROCESS 'virtuoso-t', running, pid 3412.
#> Server is now starting up, this may take a few seconds...
#> latest log entry: 08:13:16 Server online at 1111 (pid 3412)
con <- vos_connect()
DBI::dbGetQuery(con, "SPARQL SELECT * WHERE { ?s ?p ?o } LIMIT 4")
#> s
#> 1 http://www.openlinksw.com/virtrdf-data-formats#default-iid
#> 2 http://www.openlinksw.com/virtrdf-data-formats#default-iid-nullable
#> 3 http://www.openlinksw.com/virtrdf-data-formats#default-iid-nonblank
#> 4 http://www.openlinksw.com/virtrdf-data-formats#default-iid-nonblank-nullable
#> p
#> 1 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> 2 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> 3 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> 4 http://www.w3.org/1999/02/22-rdf-syntax-ns#type
#> o
#> 1 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
#> 2 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
#> 3 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
#> 4 http://www.openlinksw.com/schemas/virtrdf#QuadMapFormat
example <- system.file("extdata", "person.nq", package = "virtuoso")
vos_import(con, example)
vos_query(con,
"SELECT ?p ?o
WHERE { ?s ?p ?o .
?s a <http://schema.org/Person>
}")
#> p o
#> 1 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://schema.org/Person
#> 2 http://schema.org/name Jane Doe
#> 3 http://schema.org/jobTitle Professor
#> 4 http://schema.org/telephone (425) 123-4567
#> 5 http://schema.org/url http://www.janedoe.com Created on 2019-02-19 by the reprex package (v0.2.1) Having said that there were a couple of things that you may need to be aware of in case you get issues opened from Windows users who are trying it out:
Great job!! |
Please, @edgararuiz and @czeildi, let me know when you are giving the OK for the onboarding! |
Yes, I am giving the OK for onboarding. Thank you @melvidoni |
I am giving the OK too! @melvidoni |
Approved! Thanks @cboettig for submitting and @edgararuiz and @czeildi for your reviews! To-dos:
"
Should you want to awknowledge your reviewers in your package DESCRIPTION, you can do so by making them Welcome aboard! We'd also love a blog post about your package, either a short-form intro to it (https://ropensci.org/tech-notes/) or long-form post with more narrative about its development. (https://ropensci.org/blog/). If you are interested, @stefaniebutland will be in touch about content and timing. We've started putting together a gitbook with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved, the corresponding repo is here. NotesOnce the above is done, please @cboettig let me know, so we can close the issue. |
@cboettig You're always welcome to write a post, but I recall you said earlier that you prefer to save your writing energy for papers. 🙂 |
Thanks @melvidoni ! I've transferred the repo and updated links. Preparing CRAN submission... |
Thank you @cboettig! You will be given admin rights shortly. |
Submitting Author: Carl Boettiger (@cboettig)
Repository: https://github.com/cboettig/virtuoso
Version submitted: 0.1.1 (tagged)
Editor: Melina Vidoni (@melvidoni)
Reviewer 1: Ildiko Czeller (@czeildi)
Reviewer 2: Edgar Ruiz (@edgararuiz)
Archive: TBD
Version accepted: TBD
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how the and why the package falls under these categories (briefly, 1-2 sentences):
R users confronted with large dump of triples (e.g. nquad, owl, or other file) currently have few ways of reading in this data,
and no performant option that can handle the huge file sizes frequently involved that do not fit into memory. This package provides
a relatively convenient way to import this data into an RDF-capable database and query that data directly from R.
Researchers working with RDF / semantic data.
This package overlaps with ropensci package
rdflib
(and thusredland
, which isrdflib
uses under the hood.), which primarily provides an in-memory model for working with RDF data, which fails with large triplestores.rdflib
&redland
do have a pluggable backend that can connect to Virtuoso and other databases, but this is not only very complicated to set up (not only doesredland
R package need to be built from source, but so does the redland C library in some cases) but is also much slower. This package handles the installation easily in a user-friendly and more performant way, and the resulting Virtuoso server can then be used as a backend tordflib
(though there is usually little reason to do so since Virtuoso can be called directly though this package already).Technical checks
Confirm each of the following by checking the box. This package:
Publication options
JOSS Options
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.MEE Options
Code of conduct
The text was updated successfully, but these errors were encountered: