vemonet / shapes-of-you

💠 An index for linked open data & standard knowledge descriptions (ontologies, vocabularies, shapes, queries, mappings)
http://index.semanticscience.org
MIT License
38 stars 6 forks source link

Use Virtuoso instead of GraphDB as triplestore #17

Closed vemonet closed 2 years ago

vemonet commented 3 years ago

Use Virtuoso webDAV to easily upload RDF files through HTTP.

We might need to play around with the configuration as Virtuoso current version (7) does not include LDP capabilities out-of-the-box

GitHub repo with some instructions to enable LDP in Virtuoso: https://github.com/markwilkinson/to_build_virtuoso_ldp With the corresponding image on DockerHub: https://hub.docker.com/r/markw/ldp_server

Note: delete a file from the webDAV with iSQL

select DB.DBA.DAV_DELETE ('/DAV/home/dba/rdf_sink/gitee.ttl', 0, 'dba', 'dba');

Trying with current Virtuoso deployment

Create a folder:

curl -iX PUT -u dav:password -H 'Content-Type: text/turtle' https://data.index.semanticscience.org/DAV/home/dav/rdf_sink/test-folder

Upload with HTTP:

curl --verbose -iX PUT -F "data=@shapes-rdf.ttl" -u dav:password -H 'Content-Type: text/turtle' https://data.index.semanticscience.org/DAV/home/dav/rdf_sink/shapes-of-you.ttl

Error (even if the prefix is properly define in the file):

<p>TURTLE RDF loader, line 6: SP029: TURTLE RDF loader, line 6: Undefined namespace prefix at ns1:EntryPoint</p>%
vemonet commented 2 years ago

Using Virtuoso greatly increase the response time (from 10s to ~30s), and updating the GraphDB triplestore is easier that the Virtuoso LDP. So we will keep using GraphDB