From: Thomas M. <mi...@ab...> - 2012-11-07 11:37:11
|
Hello, for "HTTP/1.1 409 Conflict: can not create resource if a collection with same name exists (when WebDav checkbox is on and the physical path is set to the rdf_sink folder of a user) - Q: why is there a message that a collection already exists if there are no files in DAV directories and there are no graphs in the RDF store with same graph URI?" don't know if it can help you, but for another problem I had to investigate around the management of resources in DAV "file system", you can lsit resources of a collection if you know it's full path name using API procedures : select DB.DBA.DAV_PLAIN_SUBCOLS_P (30,'/DAV/VAD/theses/',1,'dav','dav'); for instance 30 is the corresponding ID of the collection '/DAV/VAD/theses/' you can use DAV_SEARCH_ID to switch from path to ID : SQL> *select DAV_SEARCH_ID('/DAV/VAD/theses/','c');* DAV_SEARCH_ID LONG VARCHAR _______________________________________________________________________________ *30* 1 Rows. -- 0 msec. you can also get details on collection with : select WS.WS.COL_PATH (COL_ID), 'C', 0, COL_MOD_TIME, COL_ID, COL_PERMS, COL_GROUP, COL_OWNER, COL_CR_TIME, 'dav/unix-directory', COL_NAME * from WS.WS.SYS_DAV_COL* *where** ** COL_ID = 30; *Thomas Le 22/10/2012 11:12, Uldis Bojars a écrit : > Could you tell me what configuration options you have for this SPARQL > endpoint? My config is included in the screenshot attached. > > In the list of endpoints the sparql-graph-crud/ has type DAV (for me) > which might explain DAV-related messages. Tried different settings in > the SPARQL endpoint configuration page (e.g., unchecking "is a WebDav > directory"). That did not fix the problem, but lead to other types of > HTTP errors: > > HTTP/1.1 501 Method Not Implemented (when unchecked "is a WebDav directory) > > HTTP/1.1 409 Conflict: can not create resource if a collection with > same name exists (when WebDav checkbox is on and the physical path is > set to the rdf_sink folder of a user) > - Q: why is there a message that a collection already exists if there > are no files in DAV directories and there are no graphs in the RDF > store with same graph URI? > > It seems that HTTP error messages are the same regardless of if CURL > is instructed to authenticate or if the password was even entered > correctly. > > With trace enabled the only information recorded in the virtuoso.log > file is internal transaction commit / restart. > > Uldis > > On Mon, Oct 22, 2012 at 11:28 AM, Uldis Bojars <cap...@gm...> wrote: >> On Mon, Oct 22, 2012 at 3:23 AM, Hugh Williams <hwi...@op...> wrote: >>> That query format works for me also: >>> >>> $ curl -v -T example.rdf http://localhost:8890/sparql-graph-crud?graph-uri=http://test.org/my -u dba >>> >>> Can you please set the Virtusoso "CallstackOnException" option as detailed in the following documentation which may provide more details as to the source of the error on the client: >> Set both "CallstackOnException" and "TraceOn" in the .ini file. >> However, no additional information is reported about this error. >> >> [Parameters] >> CallstackOnException = 1 >> TraceOn = user_log, failed_log, compile, ddl_log, errors, exec >> >> When HTTPLogFile is also set, the HTTP request itself is reported >> there (in the Apache access.log format) but that's about it. >> >> Any idea why is this error not being reported? >> >> Since the same HTTP PUT command works for you and David perhaps there >> are some configuration parameters that you have set up and I have not? >> Could it be that HTTP PUT uses, e.g., DAV directory for temporary >> files uploaded? If I have not set it up might it yield "Invalid path" >> ? >> >> Uldis >> >>> On 21 Oct 2012, at 23:25, David Brooks wrote: >>> >>>> This all works for me.... >>>> >>>> curl -v -T t.rdf >>>> http://localhost:8890/sparql-graph-crud?graph-uri=http://test.org/my -u dba >>>> Enter host password for user 'dba': >>>> * About to connect() to localhost port 8890 (#0) >>>> * Trying 127.0.0.1... connected >>>> * Connected to localhost (127.0.0.1) port 8890 (#0) >>>> * Server auth using Basic with user 'dba' >>>>> PUT /sparql-graph-crud?graph-uri=http://test.org/my HTTP/1.1 >>>>> Authorization: Basic ZGJhOmRiYQ== >>>>> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 >>>> OpenSSL/0.9.8r zlib/1.2.3 >>>>> Host: localhost:8890 >>>>> Accept: */* >>>>> Content-Length: 25978 >>>>> Expect: 100-continue >>>>> >>>> < HTTP/1.1 100 Continue >>>> < HTTP/1.1 201 Created >>>> < Server: Virtuoso/06.01.3127 (Darwin) x86_64-apple-darwin10.8.0 >>>> < Connection: Keep-Alive >>>> < Content-Type: text/html; charset=UTF-8 >>>> < Date: Sun, 21 Oct 2012 22:17:42 GMT >>>> < Accept-Ranges: bytes >>>> < Content-Length: 0 >>>> < >>>> * Connection #0 to host localhost left intact >>>> * Closing connection #0 >>>> >>>> And if the graph already exists the response is "< HTTP/1.1 200 OK". >>>> >>>> You may have to dig into Virtuoso's sources to see what triggers a 409 >>>> response. >>>> >>>> >>>> >>>> Regards, >>>> Dave >>>> >>>> On 22/10/12 10:54 AM, Uldis Bojars wrote: >>>>> HTTP PUT implies DELETE-ing the target graph before INSERT-ing new triples: >>>>> http://www.w3.org/TR/sparql11-http-rdf-update/#http-put >>>>> >>>>> That must be why the error message mentioned deleting. >>>>> >>>>> However, that problem was solved (needed to configure authentication >>>>> for the SPARQL endpoint). There is still a "HTTP 409 Invalid path" >>>>> error, not sure what is causing it. >>>>> >>>>> Uldis >>>>> >>>>> On Sun, Oct 21, 2012 at 11:57 PM, David Brooks <d.b...@au...> wrote: >>>>>> Hmm, /sparql-graph-crud/ is for graph operations, so to delete a graph use >>>>>> the DELETE method, ie: >>>>>> >>>>>> curl -X DELETE >>>>>> http://localhost:8890/sparql-graph-crud?graph-uri=http://test.org/my >>>>>> >>>>>> >>>>>> To delete a statement from a graph use the /sparql/ endpoint and SPARQL >>>>>> Update operations (http://www.w3.org/TR/sparql11-update/) -- and yes, you >>>>>> need the SPARQL_UPDATE role in Virtuoso. >>>>>> >>>>>> >>>>>> Regards, >>>>>> Dave >>>>>> >>>>>> >>>>>> On 22/10/12 9:02 AM, Uldis Bojars wrote: >>>>>>> On Sun, Oct 21, 2012 at 10:30 PM, Uldis Bojars <cap...@gm...> wrote: >>>>>>>> Unfortunately the problem remains -- HTTP PUT to the SPARQL endpoint >>>>>>>> returns the same error message: "SQ110: Permission denied for delete >>>>>>>> from DB.DBA.RDF_QUAD". >>>>>>>> >>>>>>>> Command: >>>>>>>> curl -v -T myfoaf.rdf >>>>>>>> http://localhost:8890/sparql-graph-crud?graph-uri=http://test.org/my >>>>>>>> -u dba >>>>>>> Update: solved this by configuring authentication method in Conductor >>>>>>> [Virtual Domains and Directories]. The SQ110 error is gone, but >>>>>>> Virtuoso is now reporting "HTTP 409 Invalid path". >>>>>>> >>>>>>> Please tell me what I am doing wrong. :) >>>>>>> >>>>>>> Thanks, >>>>>>> Uldis >>>>>>> >>>>>>> --- >>>>>>> >>>>>>> * Connected to localhost (127.0.0.1) port 8890 (#0) >>>>>>> * Server auth using Basic with user '...' >>>>>>>> PUT /sparql-graph-crud/?graph-uri=http://test.org/my HTTP/1.1 >>>>>>>> Authorization: Basic [authorisation-info-removed] >>>>>>>> User-Agent: curl/7.27.0 >>>>>>>> Host: localhost:8890 >>>>>>>> Accept: */* >>>>>>>> Content-Length: 3460 >>>>>>>> Expect: 100-continue >>>>>>> < HTTP/1.1 100 Continue >>>>>>> * We are completely uploaded and fine >>>>>>> < HTTP/1.1 409 Invalid path >>>>>>> < Server: Virtuoso/06.01.3127 (Linux) x86_64-pc-linux-gnu >>>>>>> < Connection: close >>>>>>> >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> Everyone hates slow websites. So do we. >>>>>>> Make your web apps faster with AppDynamics >>>>>>> Download AppDynamics Lite for free today: >>>>>>> http://p.sf.net/sfu/appdyn_sfd2d_oct >>>>>>> _______________________________________________ >>>>>>> Virtuoso-users mailing list >>>>>>> Vir...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users >>>> >>>> ------------------------------------------------------------------------------ >>>> Everyone hates slow websites. So do we. >>>> Make your web apps faster with AppDynamics >>>> Download AppDynamics Lite for free today: >>>> http://p.sf.net/sfu/appdyn_sfd2d_oct >>>> _______________________________________________ >>>> Virtuoso-users mailing list >>>> Vir...@li... >>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users >>> >>> >>> ------------------------------------------------------------------------------ >>> LogMeIn Central: Instant, anywhere, Remote PC access and management. >>> Stay in control, update software, and manage PCs from one command center >>> Diagnose problems and improve visibility into emerging IT issues >>> Automate, monitor and manage. Do more in less time with Central >>> http://p.sf.net/sfu/logmein12331_d2d >>> >>> >>> _______________________________________________ >>> Virtuoso-users mailing list >>> Vir...@li... >>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users |