lincd-sparql
v1.0.2
Published
**for commercial trial (8.3)**
Downloads
30
Maintainers
Readme
HOW TO INSTALL VIRTUOSO
for commercial trial (8.3)
https://shop.openlinksw.com/license_generator/virtuoso/virtuoso-generate.vsp
go here, create an account and download the enterprise edition server
For opensource version (7.2)
https://github.com/openlink/virtuoso-opensource/releases
https://vos.openlinksw.com/owiki/wiki/VOS (this page has more resources, but not all links work)
Once installed, find the V icon in the top menu bar, and click start default instance. That's it!
http://localhost:8890/sparql will work
I could not get CORS to work, so Ive set up a reverseProxy in the SPARL pcakage backend.ts for now
So that way.. http://localhost:4000/sparql will now also work as the SPARL endpoint & browser query interface
http://localhost:4000/public/linkeddata.html will also work to explore data with a slightly better interface (YASGUI)
This is the best guide for what I want to do (enable CORS) is this: https://vos.openlinksw.com/owiki/wiki/VOS/VirtTipsAndTricksCORsEnableSPARQLURLs but it didnt work
this is a nice interface https://triplydb.com/academy/pokemon but its only available at 700 euro per month
AUTHENTICATION
No permission to execute procedure DB.DBA.SPARQL_INSERT_DICT_CONTENT with user ID 108, group ID 108it turns out the default SPARQL user doesnt have rights to WRITE, and then later doesnt have rights to WRITE to private graphs. Also setting the default graph was complex so it looks like its better to always use a named graph, now DATA_ROOT is the named graph.
I ended up using this to enable write access to all graphs for default sparql user. Go to conductor, open the Interactive SQL window, and run these commands:
GRANT EXECUTE ON DB.DBA.SPARQL_INSERT_DICT_CONTENT TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_INSERT_QUAD_DICT_CONTENT TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_MODIFY_DICT_CONTENT TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_DELETE_DICT_CONTENT TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_CLEAR_GRAPH_CONTENT TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_DELETE_QUAD_DICT_CONTENT TO "SPARQL";
GRANT EXECUTE ON DB.DBA.L_O_LOOK TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARQL_SD_PROBE TO "SPARQL";
GRANT EXECUTE ON DB.DBA.SPARUL_LOAD_SERVICE_DATA TO "SPARQL";
-- give the SPARQL update role (needed for INSERT/DELETE/LOAD)
GRANT SPARQL_UPDATE TO "SPARQL";
-- explicitly allow the loader procs if you’re calling them
GRANT EXECUTE ON DB.DBA.TTLP TO "SPARQL";
GRANT EXECUTE ON DB.DBA.RDF_LOAD_RDFXML TO "SPARQL";
GRANT EXECUTE ON DB.DBA.RDF_LOAD_HTTP TO "SPARQL";Also we had to do this:
-- give the SPARQL user read+write (+sponge) on your graph
-- bitmask: 1=read, 2=write (SPARUL), 4=sponge; 1|2|4 = 7
DB.DBA.RDF_GRAPH_USER_PERMS_SET (
'https://www.peacegame.earth/data',
'SPARQL',
7
);
-- (optional) make those perms the default for future world graphs
DB.DBA.RDF_DEFAULT_USER_PERMS_SET ('SPARQL', 7, 0);Increase memory
To adjust memory settings, locate virtuoso.ini. For me it was in /System/Volumes/Data/Applications/Virtuoso Open Source Edition v7.2.app/Contents/virtuoso-opensource/database/virtuoso.ini It can also be in the homebrew folder if you used that.
Once you've opened it, look for the active line with MaxQueryMem and NumberOfBuffers and change the values to:
MaxQueryMem = 4G ; memory allocated to query processorNumberOfBuffers = 340000
MaxDirtyBuffers = 250000Go to conductor, open the Interactive SQL window, and run this command to check the buffers are updated
status()