openlink / virtuoso-opensource

Virtuoso is a high-performance and scalable Multi-Model RDBMS, Data Integration Middleware, Linked Data Deployment, and HTTP Application Server Platform
https://vos.openlinksw.com
Other
864 stars 210 forks source link

HTTP 404 and Virtuoso 22023 Error HT042 when verifying/accessing LDP(R/C). #490

Open arnikz opened 9 years ago

arnikz commented 9 years ago

Hi, I'm running Virtuoso 7.2.2-dev.3214-pthreads (OS X 10.7.5) and wish to create/verify a simple LDPR. I did the following steps based on the official doc.

1. Login as dba and create davuser user with HOME=/DAV/home/davuser/ directory.

USER_CREATE ('davuser', 'davuser',vector ('SQL_ENABLE', 0, 'DAV_ENABLE', 1, 'PERMISSIONS', '110100000RR', 'DISABLED', 0, 'HOME', '/DAV/home/davuser/'));

2. Enable LDP on HOME directory.

DB.DBA.DAV_PROP_SET('/DAV/home/davuser/', 'LDP', 'ldp:BasicContainer', 'davuser','davuser');

3. Create a simple LDPR.

curl -iX PUT -H 'Content-Type: text/plain' -u davuser:davuser -d 'This content is not Turtle.' http://localhost:8890/DAV/home/davuser/test.txt
HTTP/1.1 201 Created
Server: Virtuoso/07.20.3214 (Darwin) i386-apple-darwin11.4.2  
Connection: close
Date: Mon, 12 Oct 2015 21:37:13 GMT
Accept-Ranges: bytes
Location: http://localhost:8890/DAV/home/davuser/test.txt
Link: http://www.w3.org/ns/ldp#Resource; rel="type"
ETag: "a764e2852c2bf09941a19ffc4c09eeb0"
Content-Type: text/plain
Content-Length: 184

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>201 Created</TITLE>....

4. Verify the created LDPR.

curl -iH 'Accept: text/turtle, */*;q=0.1' -u davuser:davuser http://localhost:8890/DAV/home/davuser/test.txt
HTTP/1.1 404 Not Found
Server: Virtuoso/07.20.3214 (Darwin) i386-apple-darwin11.4.2  
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Date: Mon, 12 Oct 2015 21:35:41 GMT
Accept-Ranges: bytes
Content-Length: 0

5. Access the resources in LDPC.

curl -i -H 'Accept: text/turtle' -u davuser:davuser http://localhost:8890/DAV/home/davuser/
HTTP/1.1 500 SPARQL Request Failed
Server: Virtuoso/07.20.3214 (Darwin) i386-apple-darwin11.4.2  
Connection: Keep-Alive
Date: Mon, 12 Oct 2015 21:57:05 GMT
Accept-Ranges: bytes
Content-Type: text/plain
Content-Length: 300

Virtuoso 22023 Error HT042: Not valid user id "SPARQL_ADMIN"

Any ideas what's going on? Thanks.

HughWilliams commented 9 years ago

How did u resolve this issue ?

arnikz commented 9 years ago

Sorry for confusion. Accidentally, I pressed the wrong button so the issue is still open.

HughWilliams commented 9 years ago

Ok, thanks for confirming, as this is a known issue that is being scheduled for fixing, so I shall reopen the ticket ...

arnikz commented 9 years ago

Ok, thanks. For time being, a quick solution to this problem is to revert back to Virtuoso 6.1.8.

arnikz commented 9 years ago

@HughWilliams Interestingly, Virtuoso (v6.1.8) LDP works even after removing propname LDP and propvalue ldp:BasicContainer. It seems that the container type ldp:Container including ldp:membership... predicates are fixed. Moreover, the PDF documentation does not refer to these props in table, page 3748, nor how to change the Container types. Is there (another) way to change these in the response (RDF graph in turtle)?

HughWilliams commented 9 years ago

@arnikz: What PDF documentation are you referring to as the Virtuoso online documentation I thought you meant refers to the function reference for the http_acl_remove() function on page 3748 ?

arnikz commented 9 years ago

@HughWilliams: In my last post I referred to the 'OpenLink Virtuoso Universal Server: Documentation', section 24.36.10 DAV manipulation functions, table on page 3748; http_acl_remove() is on page 3768, section 24.36.25.

HughWilliams commented 5 years ago

HT042: Not valid user id "SPARQL_ADMIN" is a known error with Virtuoso Open Source builds which are missing the creation of the special SPARQL_ADMIN user, and can be created manually with the commands:

DB.DBA.USER_CREATE ('SPARQL_ADMIN', uuid());
DB.DBA.EXEC_STMT ('grant SPARQL_UPDATE to SPARQL_ADMIN', 0);

Thus for now the above should be executed on Virtuoso Open Source builds seeking to use LDP.